Exploring Differences Between Directive-Based GPU Programming Models: Setup