GPU-programmeren
Welk voorbeeld van een programmeermechanisme voor parallelle berekeningen op GPU's e.d., dat ook voor andere GPU's dan die van NVIDIA kan worden gebruikt, is juist?
- AHTML
- BSQL
- COpenCL
Antwoord en toelichting tonen
Antwoord: C. OpenCL
CUDA is een mechanisme voor NVIDIA-GPU's, maar OpenCL is een door een branchevereniging vastgestelde standaardspecificatie die kan worden gebruikt op GPU's van meerdere bedrijven, CPU's, FPGA's e.d. Andere voorbeelden zijn SYCL, dat in C++ kan worden geschreven, en HIP voor AMD-GPU's, met een schrijfwijze die dicht bij CUDA ligt. Ook al is de schrijfwijze verschillend, de principes zijn gemeenschappelijk: de hiërarchie van threads, shared memory, coalesced toegang en het gelijk maken van sprongen.