-
Notifications
You must be signed in to change notification settings - Fork 38
Add docs for eessi #827
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Add docs for eessi #827
Changes from 2 commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
ad2ff81
draft of eessi docs
claudia-lola c3a03fd
Merge branch 'main' into eessi
claudia-lola 524fe0f
second draft of eessi doc
claudia-lola c225fd3
third draft of docs
claudia-lola 9a2aaee
Fix typo in EESSI documentation
claudia-lola 5ce8e6d
third draft of docs
claudia-lola 89817f2
final draft of eessi docs
claudia-lola 3d19793
Merge remote-tracking branch 'origin/eessi' into eessi
claudia-lola 47a0d0a
fixing linting
claudia-lola d3b8a67
Merge branch 'main' into eessi
sjpb File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,63 @@ | ||
| # EESSI Guide | ||
|
|
||
| ## How to load EESSI | ||
| Loading an EESSI environment module: | ||
| ```[bash] | ||
| source /cvmfs/software.eessi.io/versions/2023.06/init/lmod/bash | ||
| ``` | ||
| Activating EESSI environment: | ||
| ```[bash] | ||
| source /cvmfs/software.eessi.io/versions/2023.06/init/bash | ||
| ``` | ||
|
|
||
| ## GPU Support with EESI | ||
| To enable GPU support you need a site-specific build that has `cuda` enabled. For guide to do this please refer to `docs/image-build`. This is | ||
sjpb marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| because CUDA-drivers are host specific and EESSI can not ship NVIDIA drivers due to licensing + kernel specific constraints. This means that the | ||
sjpb marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| host must provide the drivers in a known location (`host_injections`). | ||
|
|
||
| ### Using GPUs | ||
| All CUDA-enabled software in EESSI expects CUDA drivers in a specific `host_injections` subdirectory.<br> | ||
| ```[bash] | ||
| ls -l /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen3/software/CUDA/12.1.1/bin/nvcc | ||
sjpb marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| ``` | ||
| The output of this should show a symlink to the EESSI `host_injections` dir like so: | ||
| ```[bash] | ||
| lrwxrwxrwx 1 cvmfs cvmfs 109 May 6 2024 /cvmfs/software.eessi.io/versions/2023.06/software/linux/x86_64/amd/zen3/software/CUDA/12.1.1/bin/nvcc | ||
| -> /cvmfs/software.eessi.io/host_injections/2023.06/software/linux/x86_64/amd/zen3/software/CUDA/12.1.1/bin/nvcc | ||
| ``` | ||
| To expose the Nvidia GPU drivers. | ||
| ```[bash] | ||
| /cvmfs/software.eessi.io/versions/2023.06/scripts/gpu_support/nvidia/link_nvidia_host_libraries.sh | ||
| ``` | ||
|
|
||
| ### Buidling with GPUs | ||
|
|
||
| Checking `nvcc --version` and `which nvcc` to see if `CUDA` compiler is found.<br> | ||
sjpb marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| <br> | ||
| If `nvcc` not found run:<br> | ||
sjpb marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| ```[bash] | ||
| export PATH=/usr/local/cuda-13.0/bin:$PATH | ||
| ``` | ||
| (with your specific cuda version)<br> | ||
sjpb marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| `which nvcc` should now show path to compiler.<br> | ||
sjpb marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| <br> | ||
| Running `which gcc` will give path `.../2023.06/compat...`<br> | ||
| Loading EESSI module (It is important to load a `gcc` that is compatible with the host's CUDA version.):<br> | ||
sjpb marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| ```[bash] | ||
| module load GCC/12.3.0 | ||
| ``` | ||
| Now running `which gcc` will give path `.../2023.06/software...`<br> | ||
| <br> | ||
| Now you can run `cmake` and `make` to compile `CUDA` using EESSI's `gcc`.<br> | ||
|
|
||
| #### Test setup: Compile deviceQuery from CUDA-Samples | ||
| To test that your EESSI set up can compile `CUDA`, try compiling deviceQuery from CUDA-Samples with the following steps:<br> | ||
| ```[bash] | ||
| git clone https://github.com/NVIDIA/cuda-samples.git | ||
| cd cuda-samples/Samples/1_Utilities/deviceQuery | ||
| mkdir -p build | ||
| cd build | ||
| cmake .. | ||
| make | ||
| ./deviceQuery | ||
| ``` | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.