GPGPU — General-purpose programming on GPU
48h — 6 CFU
en
it
The course aims to introduce students to the use of graphic cards as
high performance computing hardware (GPGPU: General-purpose
Programming on GPU). Attendees are required to know at least one programming language, with a preference for C and/or C++.
The course will be held by Dr. Giuseppe Bilotta
Course outline
- C and C++ programming basics
- History of graphic cards and GPGPU
- GPGPU programming basics; introduction to CUDA and OpenCL
- Benchmarking, optimization and debugging
- GPU programming for embarrasingly parallel problems
- parallel scans and reductions
Calendar
Lessons will be held every monday and wednesday (5pm to 7pm) in Room 23.
The Microsoft Team code for the course is
3icuged.
Due to the meteo alert, the lesson on March 16, 2026 will be online.
Lecture notes
Laboratory
The course will have both theory (frontal) lessons and practice (lab) sessions.
For the practice sessions, students may use their own laptops.
Students should have a C/C++ development environment in addition to the following software (see also the links below):
- OpenCL SDK (runtime libraries and headers)
- updated video drivers, including OpenCL support
- CUDA toolkit, ROCm, or equivalent for their GPU (runtime library, include files and essential tools: compiler, debugger, profiler)
OpenCL support on Debian is distributed across several packages, to be installed depending on the available hardware:
- ocl-icd-opencl-dev for the OpenCL library and development headers;
- one or more ICD (Installable Client Drivers), such as:
- beignet-opencl-icd for older Intel integrated GPUs
- intel-opencl-icd for newer Intel integrated GPUs
- nvidia-opencl-icd for NVIDIA GPUs
- mesa-opencl-icd for AMD GPUs supported by MESA
- rocm-opencl-icd for AMD GPUs supported by ROCm
- pocl-opencl-icd for the CPU
Link
Affiliation
The course is offered by the Dipartimento di Matematica e Informatica
of the Università di Catania in cooperation with the
Osservatorio Etneo of the Istituto Nazionale di Geofisica e Vulcanologia (INGV).