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://www.youtube.com/playlist?list=PLmu61dgAX-aa_lk5fby5PjuS49snHpyYL
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
Pawsey Supercomputing Research Centre
OpenCL, supercomputing, CPUs, GPUs, FPGAs, HPC