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


Lessons will be held in Aula Archimede of the DMI every monday and wednesday, from 11am to 1pm, starting on October 11, 2017.

Winter break starts on December 23, 2017. Lessons start again on January 8, 2018 and end January 26, 2017.

Enrollment (free and informal) will be done on the first lesson day. Attendance must cover at least 75% of the course hours, and the final exam must be succesfully passed for a certificate to be issued.

Lecture notes


The course will have both theory (frontal) lessons and practice (lab) sessions. For the practice sessions, students may use their own CUDA-enabled laptops as well as the machines in LabĀ 236. To check if your laptop video card supports CUDA, you can look it up on the NVIDIA website (approximately all NVIDIA cards produced since 2008 are fine).

Students who prefer to use their own laptops should be aware that CUDA development requires C/C++ development tools in addition to the following software (see also the links below):

  1. CUDA-enabled device driver ("developer driver")
  2. CUDA toolkit (runtime library, include files and essential tools: compiler, debugger, profiler)
  3. GPU Computing SDK (CUDA and OpenCL samples)

The above packages are available for most current operating systems (Linux, Mac OS X, WinXP, Vista, Win 7) and for both x86 and x86_64 architectures. The following tutorials will guide you through the installation process:


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).