NVIDIA Arm HPC Developer Kit¶
As part of the ZIH systems, we provide a NVIDIA Arm HPC Developer Kit to allow for experimentation with Arm based systems.
Hardware¶
This Arm HPC Developer kit offers:
- GIGABYTE G242-P32, 2U server
- 1x Ampere Altra Q80-30 (Arm processor)
- 512G DDR4 memory (8x 64G)
- 6TB SAS/ SATA 3.5″
- 2x NVIDIA A100 GPU
- 2x NVIDIA BlueField-2 E-Series DPU: 200GbE/HDR single-port, both connected to the InfiniBand network
Further Information¶
Further information about this new system can be found on the following websites:
Getting Access¶
To get access to the developer kit, write a mail to the hpcsupport team with your ZIH login and a short description, what you want to use the developer kit for.
After you have gained access, you can log into the developer kit system via SSH from the login nodes:
marie@login$ ssh a1.misc.hpc.tu-dresden.de
Running Applications¶
Not under Slurm control
In contrast to all other compute resources, the ARM HPC Developer Kit is not managed by the Slurm batch system. To run your application just execute it.
For long running applications, we recommend using a session manager, for example tmux.
No shared filesystem available
This is a test system. For this reason the shared filesystems (e.g. Lustre or BeeGFS) are not available.
The system supports the Arm v8.2+ architecture. Therefore, your application needs to be compiled
for the target architecture aarch64
which is the 64-bit execution state of Arm v8. You can either
compile your application on the Developer Kit or cross compile for aarch64
on another system.
Cross compiling for the Arm Architecture¶
A compiler supporting the Arm architecture aarch64
is required for cross compilation. You could
for example use the GCC compiler for aarch64
. Most Linux distributions provide the compiler in
their package repositories, often the package is called gcc-aarch64-linux-gnu
.
No cross compiler available on ZIH systems
On the ZIH systems is no cross compiler available. If you can't cross compile on your own
systems, compile your application on the Arm Developer Kit using the provided compiler, which
already builds for the aarch64
target.
To cross compile your application run the compiler for the aarch64
architecture instead of the
compiler you normally use.
# Instead of gcc
marie@local$ aarch64-linux-gnu-gcc -o application application.c
# When using make
marie@local$ make CC=aarch64-linux-gnu-gcc