Update Build authored by Yannik Müller's avatar Yannik Müller
\# Dependencies # Dependencies
\* A standard compliant c++ compiller \* A standard compliant c++ compiller
```plaintext
\* The system, compiler and implementations must support silent NaN floating-point values. \* The system, compiler and implementations must support silent NaN floating-point values.
```
\* An MPI implementation (ideally CUDA aware) \* An MPI implementation (ideally CUDA aware)
...@@ -10,19 +12,25 @@ ...@@ -10,19 +12,25 @@
\* If using NVLink (cuda), Omni-Path (psm2), UCX (ucp), or IBVerbs (ibverbs) \* If using NVLink (cuda), Omni-Path (psm2), UCX (ucp), or IBVerbs (ibverbs)
```plaintext
\* \`minipmi\`: <https://github.com/kraused/minipmi> \* \`minipmi\`: <https://github.com/kraused/minipmi>
```
\* If using NVLink (cuda): \* If using NVLink (cuda):
```plaintext
\* A standard compliant CUDA compiller \* A standard compliant CUDA compiller
\* Python version 3.0.0 or a derivative \* Python version 3.0.0 or a derivative
```
\* If using linktest-report tool \* If using linktest-report tool
```plaintext
\* Python 3.8.5 or above \* Python 3.8.5 or above
\* numpy and matplotlib \* numpy and matplotlib
```
\# Build procedure \# Build procedure
...@@ -58,11 +66,11 @@ exampleBuild.sh showcases a more complicated build procedure. You can adapt it t ...@@ -58,11 +66,11 @@ exampleBuild.sh showcases a more complicated build procedure. You can adapt it t
A file named \`pingpong_results_bin.sion\` should be produced. A file named \`pingpong_results_bin.sion\` should be produced.
Some examples for JSC systems can also be found in chapter \[JSC Build Examples\](#JSC-Build-Examples) Some examples for JSC systems can also be found in chapter [JSC Build Examples](#JSC-Build-Examples)
\## Transport Layers \## Transport Layers
Transport Layers can be (de-)activated with \`make HAVE_<LAYER>=(0)1\` Transport Layers can be (de-)activated with \`make HAVE_=(0)1\`
The following transport layers and other variables may be used: The following transport layers and other variables may be used:
...@@ -72,7 +80,7 @@ The following transport layers and other variables may be used: ...@@ -72,7 +80,7 @@ The following transport layers and other variables may be used:
| \`mpi\` | \`HAVE_MPI\` | Enabled | MPI | | \`mpi\` | \`HAVE_MPI\` | Enabled | MPI |
| \`tcp\` | \`HAVE_TCP\` | Enabled | TCP sockets, if deactivated, layers below will crash at runtime (see chapter \[Execution\](Execution)) | | \`tcp\` | \`HAVE_TCP\` | Enabled | TCP sockets, if deactivated, layers below will crash at runtime (see chapter [Execution](/cstao-public/linktest/-/wikis/Execution)) |
| | \`HAVE_MINIPMI\` | Enabled | If deactivated, deactivates all layers below | | | \`HAVE_MINIPMI\` | Enabled | If deactivated, deactivates all layers below |
...@@ -126,51 +134,59 @@ The \`GenericSystem\` instance can be customized via the environment, via a wrap ...@@ -126,51 +134,59 @@ The \`GenericSystem\` instance can be customized via the environment, via a wrap
export LINKTEST_SYSTEM_NODENAME_SUFFIX="i" export LINKTEST_SYSTEM_NODENAME_SUFFIX="i"
if \[\[ "0" == "$MPI_LOCALRANKID" \]\] ["0" == "$MPI_LOCALRANKID"](/cstao-public/linktest/-/wikis/%220%22%20==%20%22%24MPI_LOCALRANKID%22)
then then
```plaintext
export LINKTEST_SYSTEM_HCA_NAME="mlx5_0" export LINKTEST_SYSTEM_HCA_NAME="mlx5_0"
export LINKTEST_SYSTEM_HCA_PORT="1" export LINKTEST_SYSTEM_HCA_PORT="1"
export LINKTEST_SYSTEM_GPU="0" export LINKTEST_SYSTEM_GPU="0"
```
fi fi
if \[\[ "1" == "$MPI_LOCALRANKID" \]\] ["1" == "$MPI_LOCALRANKID"](/cstao-public/linktest/-/wikis/%221%22%20==%20%22%24MPI_LOCALRANKID%22)
then then
```plaintext
export LINKTEST_SYSTEM_HCA_NAME="mlx5_1" export LINKTEST_SYSTEM_HCA_NAME="mlx5_1"
export LINKTEST_SYSTEM_HCA_PORT="1" export LINKTEST_SYSTEM_HCA_PORT="1"
export LINKTEST_SYSTEM_GPU="1" export LINKTEST_SYSTEM_GPU="1"
```
fi fi
if \[\[ "2" == "$MPI_LOCALRANKID" \]\] ["2" == "$MPI_LOCALRANKID"](/cstao-public/linktest/-/wikis/%222%22%20==%20%22%24MPI_LOCALRANKID%22)
then then
```plaintext
export LINKTEST_SYSTEM_HCA_NAME="mlx5_2" export LINKTEST_SYSTEM_HCA_NAME="mlx5_2"
export LINKTEST_SYSTEM_HCA_PORT="1" export LINKTEST_SYSTEM_HCA_PORT="1"
export LINKTEST_SYSTEM_GPU="2" export LINKTEST_SYSTEM_GPU="2"
```
fi fi
if \[\[ "3" == "$MPI_LOCALRANKID" \]\] ["3" == "$MPI_LOCALRANKID"](/cstao-public/linktest/-/wikis/%223%22%20==%20%22%24MPI_LOCALRANKID%22)
then then
```plaintext
export LINKTEST_SYSTEM_HCA_NAME="mlx5_3" export LINKTEST_SYSTEM_HCA_NAME="mlx5_3"
export LINKTEST_SYSTEM_HCA_PORT="1" export LINKTEST_SYSTEM_HCA_PORT="1"
export LINKTEST_SYSTEM_GPU="3" export LINKTEST_SYSTEM_GPU="3"
```
fi fi
... ...
......