OpenCL

Supercomputers make use of accelerators from a variety of different hardware vendors, using devices such as multi-core CPU’s, GPU’s and even FPGA’s. OpenCL is a way for your HPC application to make effective use of heterogeneous computing devices, and to avoid code refactoring for new HPC infrastructure.

DOI: Creative Commons Attribution 4.0

Licence: Creative Commons Attribution 4.0

Contact: training@pawsey.org.au

Keywords: supercomputing, Pawsey Supercomputing Centre, CPUs, GPUs, OpenCL, FPGAs


Additional information

Target audience: Masters student, Post-doc / Fellow, Academic, Professional (research-related)

Resource type: Learning Activity

Status: Active

Syllabus:

Day 1 – 4
Introduction to OpenCL
How to build and run applications on Setonix with OpenCL and MPI
Matrix multiplication with OpenCL – fully explained line by line
How to debug OpenCL applications and kernels
Measure performance with OpenCL Events and open source tools
Memory management
Coarse and fine-grained shared memory
Strategies for building optimised OpenCL kernels
Optimise IO performance with asynchronous operations
Day 5
Programming challenge – choose your own adventure in working with OpenCL

Date created: 2023-06-21

Authors: Toby Potter, Pawsey Supercomputing Research Centre, Pelagos

Contributors: Toby Potter

OpenCL https://dresa.org.au/materials/opencl Supercomputers make use of accelerators from a variety of different hardware vendors, using devices such as multi-core CPU’s, GPU’s and even FPGA’s. OpenCL is a way for your HPC application to make effective use of heterogeneous computing devices, and to avoid code refactoring for new HPC infrastructure. training@pawsey.org.au Toby Potter supercomputing, Pawsey Supercomputing Centre, CPUs, GPUs, OpenCL, FPGAs masters ecr researcher support