11.7.4.1 : Langages de programmation bas niveau



Il existe plusieurs langages de programmation bas niveau pour GPU. Le langage CUDA, développé par NVidia, permet de programmer simplement des kernels sur tous les GPUs NVidia. Le langage OpenCL est un langage dérivé du C qui permet une portabilité sur des cartes autres que NVidia. Le langage GLSL est un langage qui a été initialement développé pour créer des shaders et fut détourné pour être le premier langage GPGPU avant que CUDA et OpenCL ne soient développés.



Une fois que les kernels ont été développés, ils doivent être interfacés avec un autre langage, comme C++ par exemple. Certaines bibliothèques comme le CUDA-toolkit fournissent des kernels optimisé pour l'algèbre linéaire qui fonctionnent comme leurs équivalents sur CPU (voirsection 11.3.4.3).