... | @@ -6,6 +6,10 @@ Get a Julia account and official information at: |
... | @@ -6,6 +6,10 @@ Get a Julia account and official information at: |
|
|
|
|
|
https://www.rz.uni-wuerzburg.de/dienste/rzserver/high-performance-computing/
|
|
https://www.rz.uni-wuerzburg.de/dienste/rzserver/high-performance-computing/
|
|
|
|
|
|
|
|
The official documentation can be found here:
|
|
|
|
|
|
|
|
http://doku.hpc.uni-wuerzburg.de/
|
|
|
|
|
|
## Open Stack
|
|
## Open Stack
|
|
To check out a machine, compile code, and test performance, go to:
|
|
To check out a machine, compile code, and test performance, go to:
|
|
|
|
|
... | @@ -28,6 +32,8 @@ To transfer files, use the domain julia-storage.uni-wuerzburg.de |
... | @@ -28,6 +32,8 @@ To transfer files, use the domain julia-storage.uni-wuerzburg.de |
|
(e.g. `ssh username@julia-storage.uni-wuerzburg.de`).
|
|
(e.g. `ssh username@julia-storage.uni-wuerzburg.de`).
|
|
|
|
|
|
## Compiling
|
|
## Compiling
|
|
|
|
By default, the Intel compiler suite is installed, but not added to the PATH variable on the new julia login nodes. This is readily done by executing
|
|
|
|
`source /usr/local/etc/intel_mpi.sh`
|
|
Apparently the Intel compiler option -xHost (automated architecture dependent vectorization) can cause segmentation faults, at least within ALF. Possible alternatives are -axCORE-AVX2 (vectorization upto AVX2 [ymm-register]) and -axCORE-AVX512 (using the 512 [zmm-]register) both work fine, to the best of our knowledge.
|
|
Apparently the Intel compiler option -xHost (automated architecture dependent vectorization) can cause segmentation faults, at least within ALF. Possible alternatives are -axCORE-AVX2 (vectorization upto AVX2 [ymm-register]) and -axCORE-AVX512 (using the 512 [zmm-]register) both work fine, to the best of our knowledge.
|
|
|
|
|
|
## Job submission
|
|
## Job submission
|
... | @@ -49,7 +55,14 @@ For a serial or "embarrassingly parallel" job: |
... | @@ -49,7 +55,14 @@ For a serial or "embarrassingly parallel" job: |
|
#SBATCH --export Debian
|
|
#SBATCH --export Debian
|
|
#SBATCH --workdir /home/<user>/<launch_directory>
|
|
#SBATCH --workdir /home/<user>/<launch_directory>
|
|
|
|
|
|
|
|
# the following 3 lines sets srun compatible with the intel mpi library
|
|
|
|
source /usr/local/etc/intel_mpi.sh
|
|
|
|
export I_MPI_FABRICS=shm:ofi
|
|
|
|
export I_MPI_PMI_LIBRARY=/usr/lib/x86_64-linux-gnu/libpmi.so.0
|
|
|
|
|
|
./embParrScript.sh <arguments>
|
|
./embParrScript.sh <arguments>
|
|
|
|
# or alternative for MPI
|
|
|
|
srun ./prog.out <arguments>
|
|
```
|
|
```
|
|
|
|
|
|
This will set up one node (N) with 32 cores (ntasks-per-node * cpus-per-task), which is in the category "xxl" for Julia, and allow the job to run for 24 hours at the most. The source (export) will be the default Debian installation ("Ubuntu" is an alternative option), and the working directory (workdir) is set so that the executable and input files can be found (`/home/<user>` is currently the default working directory.) Output files will be placed in the working directory as well. The executable will be able to make use of all the cores requested in the node.
|
|
This will set up one node (N) with 32 cores (ntasks-per-node * cpus-per-task), which is in the category "xxl" for Julia, and allow the job to run for 24 hours at the most. The source (export) will be the default Debian installation ("Ubuntu" is an alternative option), and the working directory (workdir) is set so that the executable and input files can be found (`/home/<user>` is currently the default working directory.) Output files will be placed in the working directory as well. The executable will be able to make use of all the cores requested in the node.
|
... | | ... | |