Skip to main content
Digital Experience
Schedule
Dates & Deadlines
Toggle navigation
Toggle navigation
Program
Dropdown menu toggle
Program
Schedule
Keynote
I Am HPC Plenary
Invited Talks
Panels
Workshops
Tutorials
Papers
Reproducibility Initiative
AD/AE Process & Badges
Awards
Birds of a Feather
Early Career
Exhibitor Forum
Posters
ACM SRC
Doctoral Showcase
Research Posters
SciViz Showcase
Job Fair
Receptions
Exhibits
Dropdown menu toggle
Exhibits
Exhibitor Prospectus
Exhibitor Application
Exhibitor List & Floorplan
Exhibitor Manual
Exhibitor Forum
Exhibitor Housing
Exhibitor Function Space
SCinet for Exhibitors
HPC Illuminations Pavilion
Quantum Village
Promotional Opportunities
Recruit at the Job Fair
Students
Dropdown menu toggle
Students@SC
Lead Student Volunteers
Student Volunteers
Student Cluster Competition
IndySCC
Mentor–Protégé Matching
HPC Immersion
Alumni Networking Event
Speed Mentoring Event
Guided Interest Groups
Teach the Teacher
Student Tours
Job Fair
SCinet
Dropdown menu toggle
SCinet
SCinet Technology
SCinet Teams
WINS
Network Research Exhibition
INDIS Workshop
Participate in SCinet
Contributors & Volunteers
SCinet for Exhibitors
SC Network Policy
Media
Dropdown menu toggle
Media
Media Registration
Media Partners
Blog
Newsletter
Photos & Logos
Attend
Dropdown menu toggle
Attend
Registration
Visa Applications
Digital Experience
Schedule
Denver
Convention Center
Housing
Family Resources
Inclusivity
Code of Conduct
Volunteer
Search
Search
Home
Presentation
Presentation
Full Schedule
·
Contributors
·
Organizations
·
Search
Program
Programming Your GPU with OpenMP: A “Hands-On” Introduction
Description
If you are an HPC programmer, you know OpenMP. Alongside MPI, OpenMP is the open, cross-vendor foundation of HPC. As hardware complexity has grown, OpenMP has grown as well adding GPU support in OpenMP 4.0 (2013). With a decade of evolution since then, OpenMP GPU technology is now a mature option for programming any GPU you are likely to find on the market.
While there are many ways to program a GPU, the best way is through OpenMP. Why? Because the GPU does not exist in isolation. There are always one or more CPUs on a node. Programmers need portable code that fully exploits all available processors. In other words, programmers need a programming model, such as OpenMP, that fully embraces heterogeneity.
In this tutorial, we explore GPU programing with OpenMP. We assume attendees already know the fundamentals of multi-threading with OpenMP, so we use our time on the directives that define how to map loops onto GPUs and optimize data movement between the CPU and GPU. Students will use their own laptops (with Windows, Linux, or macOS) to connect to remote servers we will provide with GPUs and all the software needed for the tutorial.
Presenters
Tim Mattson
Intel Corporation
Tom Deakin
University of Bristol
Simon McIntosh-Smith
University of Bristol
Event Type
Tutorial
Time
Monday, 13 November 2023
8:30am
-
5pm
MST
Location
203
Back To Top Button