Skip to content

GPUs in HTCondor jobs

Well-crafted GPU programs for suitable applications can outperform implementations running on CPUs by a factor of ten or more, but only when the program is written and designed explicitly to run on GPUs using special libraries like CUDA.

Understand and specify your GPU requirements

GPU requirements are often extremely application specific: versions of certain libraries and packages like cupy are very tightly coupled to both the CUDA runtime used, the drivers available on the host machine, the capabilities of the GPU model and the GPU-memory available on the device. There is a wide variety of GPU devices available on the IGWN grid with a diverse set of capabilities and features. It is incumbent on the developers and users to understand and specify relevant requirements for their application.

Documentation for requesting GPUs, and specifying your application's requirements, in HTCondor jobs can be found at:

Additionally, GPU jobs on the IGWN grid will typically require an Apptainer (formerly Singularity) container image to provide e.g. an appropriate CUDA runtime. Full details of designing and deploying such images are beyond the scope of this documentation but some guidance to get started can be found in the OSG documentation and new projects are welcome to request input from the IGWN computing team, preferably via a helpdesk ticket.

In general, it is advisable to start from whatever minimal Nvidia CUDA base container is appropriate for your application.