EESSI / software-layer

Software layer of the EESSI project
https://eessi.github.io/docs/software_layer
GNU General Public License v2.0
23 stars 46 forks source link

support for installing GPU builds into a sub-directory #615

Open trz42 opened 3 months ago

trz42 commented 3 months ago

Currently, all software for a given CPU microarchitecture is installed under the same EASYBUILD_INSTALLPATH. For supporting builds which include GPU-accelerated software we want to install these into sub-directories where each sub-directory contains builds that are optimized for a specific GPU (or CUDA compute capability if the software is build for NVIDIA GPUs). For example, if we want to build for CUDA compute capability 8.0 that would run on a zen3 CPUs, the standard installation path for CPU-only builds would be

/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen3/{software,modules/all}

Software packages that are built for CUDA compute capability 8.0 will be installed under

/cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen3/accel/nvidia/cc80/{software,modules/all}

We could add hooks (via eb_hooks.py) which check if a GPU-build is requested (e.g., whether a CUDA compute capability is given and if CUDA is a dependency). If so, we could change the installation path.

For further information, see https://github.com/EESSI/meetings/wiki/bot-sync-meeting-2024-06-14

ocaisa commented 1 week ago

This is now a WIP as part of the Tiger Team