Skip to content
Snippets Groups Projects
Commit b5120f77 authored by Andreas Herten's avatar Andreas Herten
Browse files

Update to 2023

parent ce33a048
No related branches found
No related tags found
No related merge requests found
...@@ -21,17 +21,18 @@ SRC = README.md ...@@ -21,17 +21,18 @@ SRC = README.md
PDFS = $(SRC:.md=.pdf) PDFS = $(SRC:.md=.pdf)
all: $(PDFS) all.pdf # all: $(PDFS) docu.pdf
all: docu.pdf
%.pdf: %.md $(MAKEFILE) %.pdf: %.md $(MAKEFILE)
sed "s/→/$$\\\rightarrow$$/" $< | $(LC) $(LCFLAGS) -o pdf/$@ sed "s/→/$$\\\rightarrow$$/" $< | $(LC) $(LCFLAGS) -o pdf/$@
all.pdf: LCFLAGS += --toc docu.pdf: LCFLAGS += --toc
all.pdf: LCFLAGS += --variable title:"Helmholtz GPU Hackathon 2021 User Guide" docu.pdf: LCFLAGS += --variable title:"Helmholtz GPU Hackathon 2023 User Guide"
all.pdf: LCFLAGS += --variable abstract:"Some hints for participants and mentors of the GPU Hackathon 2021 at Jülich Supercomputing Centre. \textit{Hack Away!}" docu.pdf: LCFLAGS += --variable abstract:"Some hints for participants and mentors of the GPU Hackathon 2023 at Jülich Supercomputing Centre. \textit{Hack Away!}"
all.pdf: LCFLAGS += --variable institute:"Forschungszentrum Jülich" docu.pdf: LCFLAGS += --variable institute:"Forschungszentrum Jülich"
all.pdf: LCFLAGS += --variable keywords:"GPU,CUDA,OpenACC,FZJ,JSC" docu.pdf: LCFLAGS += --variable keywords:"GPU,CUDA,OpenACC,FZJ,JSC"
all.pdf: $(SRC) $(MAKEFILE) docu.pdf: $(SRC) $(MAKEFILE)
$(LC) $(LCFLAGS) -o pdf/$@ $(SRC) $(LC) $(LCFLAGS) -o pdf/$@ $(SRC)
.PHONY: clean .PHONY: clean
......
# Helmholtz GPU Hackathon 2021 # Helmholtz GPU Hackathon 2023
This repository holds the documentation for the Helmholtz GPU Hackathon 2021 at Jülich Supercomputing Centre (Forschungszentrum Jülich). This repository holds the documentation for the Helmholtz GPU Hackathon 2023 at Jülich Supercomputing Centre (Forschungszentrum Jülich).
For additional info, please write to Andreas Herten (<a.herten@fz-juelich.de>) or Filipe Guimaraes (<f.guimaraes@fz-juelich.de>) on Slack or email. For additional info, please write to Andreas Herten (<a.herten@fz-juelich.de>) on Slack or email.
## Sign-Up ## Sign-Up
Please use JuDoor to sign up for our training project, training2105: [https://judoor.fz-juelich.de/projects/join/training2105](https://judoor.fz-juelich.de/projects/join/training2105) Please use JuDoor to sign up for our training project, training2310: [https://judoor.fz-juelich.de/projects/join/training2310](https://judoor.fz-juelich.de/projects/join/training2310)
Make sure to accept the usage agreement for JUWELS Booster. Make sure to accept the usage agreement for JURECA DC and JUWELS Booster.
Please upload your SSH key to the system via JuDoor. The key needs to be restricted to accept accesses only from a specific source, as specified through the `from` clause. Please have a look at the associated documentation ([SSH Access](https://apps.fz-juelich.de/jsc/hps/juwels/access.html) and [Key Upload](https://apps.fz-juelich.de/jsc/hps/juwels/access.html#key-upload-key-restriction)). Please upload your SSH key to the system via JuDoor. The key needs to be restricted to accept accesses only from a specific source, as specified through the `from` clause. Please have a look at the associated documentation ([SSH Access](https://apps.fz-juelich.de/jsc/hps/juwels/access.html) and [Key Upload](https://apps.fz-juelich.de/jsc/hps/juwels/access.html#key-upload-key-restriction)).
## JUWELS Booster ## HPC Systems
We are using JUWELS Booster for the Hackathon, a system equipped with 3600 A100 GPUs. See here for a overview of the JUWELS Booster system: [https://apps.fz-juelich.de/jsc/hps/juwels/booster-overview.html](https://apps.fz-juelich.de/jsc/hps/juwels/booster-overview.html) We are using primarily JURECA DC for the Hackathon, a system with 768 NVIDIA A100 GPUs. As an optional alternative, also the JUWELS Booster system with its 3600 A100 GPUs and stronger node-to-node interconnect (4×200 Gbit/s, instead of 2×200 Gbit/s for JURECA DC) can be utilized. The focus should be on JURECA DC, though.
For the system documentation, see the following websites:
* [JURECA DC](https://apps.fz-juelich.de/jsc/hps/jureca/configuration.html)
* [JUWELS Booster](https://apps.fz-juelich.de/jsc/hps/juwels/booster-overview.html)
## Access ## Access
After successfully uploading your key through JuDoor, you should be able to access JUWELS Booster via After successfully uploading your key through JuDoor, you should be able to access JURECA DC via
```bash ```bash
ssh user1@juwels-booster.fz-juelich.de ssh user1@jureca.fz-juelich.de
``` ```
An alternative way of access JUWELS Booster is through _Jupyter JSC_, JSC's Jupyter-based web portal available at [https://jupyter-jsc.fz-juelich.de](https://jupyter-jsc.fz-juelich.de). Sessions should generally be launched on the login nodes. A great alternative to X is available through the portal called Xpra. It's great to run the Nsight tools! The hostname for JUWELS Booster is `juwels-booster.fz-juelich.de`.
An alternative way of access the systems is through _Jupyter JSC_, JSC's Jupyter-based web portal available at [https://jupyter-jsc.fz-juelich.de](https://jupyter-jsc.fz-juelich.de). Sessions should generally be launched on the login nodes. A great alternative to X is available through the portal called Xpra. It's great to run the Nsight tools!
## Environment ## Environment
On the system, different directories are accessible to you. To set environment variables according to a project, call the following snippet after logging in: On the systems, different directories are accessible to you. To set environment variables according to a project, call the following snippet after logging in:
```bash ```bash
jutil env activate -p training2105 -A training2105 jutil env activate -p training2310 -A training2310
``` ```
This will, for example, make the directory `$PROJECT` available to use, which you can use to store data. Your `$HOME` will not be a good place for data storage, as it is severely limited! Use `$PROJECT` (or `$SCRATCH`, see documentation on [_Available File Systems_](https://apps.fz-juelich.de/jsc/hps/juwels/environment.html?highlight=scratch#available-file-systems)). This will, for example, make the directory `$PROJECT` available to use, which you can use to store data. Your `$HOME` will not be a good place for data storage, as it is severely limited! Use `$PROJECT` (or `$SCRATCH`, see documentation on [_Available File Systems_](https://apps.fz-juelich.de/jsc/hps/jureca/environment.html#available-file-systems)).
Different software can be loaded to the environment via environment modules, via the `module` command. To see available compilers (the first level of a toolchain), type `module avail`. Different software can be loaded to the environment via environment modules, via the `module` command. To see available compilers (the first level of a toolchain), type `module avail`.
For JUWELS Booster, the most relevant modules are The most relevant modules are
* Compiler: `GCC` (with additional `CUDA`), `NVHPC` * Compiler: `GCC` (with additional `CUDA`), `NVHPC`
* MPI: `ParaStationMPI`, `OpenMPI` (make sure to have loaded `mpi-settings/CUDA` as well) * MPI: `ParaStationMPI`, `OpenMPI` (make sure to have loaded `MPI-settings/CUDA` as well)
## Batch System ## Batch System
JUWELS Booster uses a special flavor of Slurm as its workload manager (PSSlurm). Most of the vanilla Slurm commands are available with some Jülich-specific additions. An overview of Slurm is available in the according documentation which also gives example job scripts and interactive commands: [https://apps.fz-juelich.de/jsc/hps/juwels/batchsystem.html](https://apps.fz-juelich.de/jsc/hps/juwels/batchsystem.html) The JSC systems use a special flavor of Slurm as the workload manager (PSSlurm). Most of the vanilla Slurm commands are available with some Jülich-specific additions. An overview of Slurm is available in the according documentation which also gives example job scripts and interactive commands: [https://apps.fz-juelich.de/jsc/hps/jureca/batchsystem.html](https://apps.fz-juelich.de/jsc/hps/jureca/batchsystem.html)
Please account your jobs to the `training2105` project, either by setting the according environment variable with the above `jutil` command, or by manually adding `-A training2105` to your batch jobs. Please account your jobs to the `training2310` project, either by setting the according environment variable with the above `jutil` command (as above), or by manually adding `-A training2310` to your batch jobs.
Two partitions are available (see [documentation for limits](https://apps.fz-juelich.de/jsc/hps/juwels/quickintro.html#booster)): Different partitions are available (see [documentation for limits](https://apps.fz-juelich.de/jsc/hps/jureca/batchsystem.html#jureca-dc-module-partitions)):
* `booster`: most of the nodes * `dc-gpu`: All GPU-equipped nodes
* `develbooster`: 10 nodes for development * `dc-gpu-devel`: Some nodes available for development
For the days of the Hackathon, reservations are in place to accelerate scheduling of jobs. Use the following reservations names for the respective days with the `--reservation gpu-hack-2021-dayX` Slurm option: For the days of the Hackathon, reservations will be in place to accelerate scheduling of jobs. The reservations will be announced at this point closer to the event.
* Day 1, 15 March: `gpu-hack-2021-day1`
* Day 2, 22 March: `gpu-hack-2021-day2`
* Day 3, 23 March: `gpu-hack-2021-day3`
* Day 4, 24 March: `gpu-hack-2021-day4`
X-forwarding sometimes is a bit of a challenge, please consider using _Xpra_ in your Browser through Jupyter JSC! X-forwarding sometimes is a bit of a challenge, please consider using _Xpra_ in your Browser through Jupyter JSC!
## Etc ## Etc
### Slides
Please see [juwels-booster-intro-slides.pdf](juwels-booster-intro-slides.pdf) for slides presented during the introduction to the Hackathon.
### Previous Documentation ### Previous Documentation
More (although slightly outdated) documentation is available from the 2019 Hackathon [in the according branch](https://gitlab.version.fz-juelich.de/gpu-hackathon/doc/-/tree/2019). More (although slightly outdated) documentation is available from the 2021 Hackathon [in the according JSC Gitlab Hackathon docu branch](https://gitlab.version.fz-juelich.de/gpu-hackathon/doc/-/tree/2021).
### PDFs ### PDFs
See the directory `./pdf/` for PDF version of the documentation, for example `all.pdf`. See the directory `./pdf/` for PDF version of the documentation.
This diff is collapsed.
File deleted
File deleted
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment