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. Topics covered in this course are :
- 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

Licence: Creative Commons Attribution 4.0

Contact: training@pawsey.org.au

Keywords: OpenCL, supercomputing, CPUs, GPUs, FPGAs, HPC


Additional information

Status: Active

Date created: 2023-10-13

Authors: Pawsey Supercomputing Research Centre

OpenCL https://dresa.org.au/materials/opencl-3eabb316-794d-4f46-959a-725be3ae1bde 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. Topics covered in this course are : - 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 training@pawsey.org.au OpenCL, supercomputing, CPUs, GPUs, FPGAs, HPC