Skip to content

Latest commit

 

History

History
51 lines (32 loc) · 2.13 KB

File metadata and controls

51 lines (32 loc) · 2.13 KB

Programming models for GPUs

Collection of information about programming models. Particularly about implementation and lower level information. Knowing lower levels of abstraction is invaluable for debugging and reasoning about performance.

OpenCL

OpenMP target offload

LLVM/Clang

See LLVM OpenMP offload

GCC

Examples

See the OpenMP_examples page.

Observations

Observations and comments on programming OpenMP in the OpenMP_observations page.

Kokkos

SYCL

CUDA

Chapel

Chapel is a programming language designed for productive parallel programming. It now suports GPU programming.

AI/ML

Machine learning has given rise to a number of models for writing kernels

Example codes

My own repository for samples is here: https://github.com/markdewing/qmc_kernels

The vector_add kernel has the most implementations, being the simplest example that actually does something: https://github.com/markdewing/qmc_kernels/tree/master/kernels/vector_add