I already had intel oneapi MPI tools installed. So, this post depends on this.
This one uses the exact same topology, e.g. 3 machines on the same subnet.
The installation is really easy:
1. Clone the repository
2. Configure
3. Compile
4. Install
5. Copy installed files to all nodes
6. Prepare hostfile and machine file
7. Run
# Set these!
host1=192.168.124.95
host2=192.168.124.166
cd ~
wget https://htor.inf.ethz.ch/research/netgauge/netgauge-2.4.6.tar.gz
tar -xvf netgauge-2.4.6.tar.gz
cd netgauge-2.4.6
source /opt/intel/oneapi/setvars.sh
./configure MPICC=mpicc MPICXX=mpicxx # set appropriately
make
ssh $host1 "mkdir -p netgauge-2.4.6"
ssh $host2 "mkdir -p netgauge-2.4.6"
scp -r ~/netgauge-2.4.6/netgauge $host1:netgauge-2.4.6/ # you can also copy only the binaries i guess
scp -r ~/netgauge-2.4.6/netgauge $host2:netgauge-2.4.6/
I_MPI_HYDRA_IFACE=enp1s0 ICX_TLS=tcp mpiexec -hostfile /home/afeser/hostfile -machinefile /home/afeser/machinefile -n 20 ./netgauge -m mpi --com_patterns=cpu
You should see something like this:
#I_MPI_HYDRA_IFACE=enp1s0 ICX_TLS=tcp mpiexec -hostfile /home/afeser/hostfile -machinefile /home/afeser/machinefile -n 20 ./netgauge -m mpi --com_patterns=cpu # Info: (0): Netgauge v2.4.6 MPI enabled (P=20, threadlevel=0) (./netgauge -m mpi --com_patterns=cpu ) # initializing x86-64 timer (takes some seconds) # Info: (0): writing data to ng.out.0 1 bytes -> 1.54 us == 0.27 Mbit/s 2 bytes -> 1.54 us == 0.31 Mbit/s 3 bytes -> 1.52 us == 0.44 Mbit/s 4 bytes -> 1.27 us == 0.88 Mbit/s 6 bytes -> 3.38 us == 5.26 Mbit/s 8 bytes -> 3.35 us == 5.53 Mbit/s 12 bytes -> 3.36 us == 3.80 Mbit/s 16 bytes -> 3.35 us == 5.04 Mbit/s 24 bytes -> 3.32 us == 7.70 Mbit/s 32 bytes -> 1.52 us == 9.47 Mbit/s 48 bytes -> 3.39 us == 18.53 Mbit/s 64 bytes -> 3.41 us == 33.33 Mbit/s 96 bytes -> 3.37 us == 65.98 Mbit/s 128 bytes -> 3.32 us == 46.31 Mbit/s 192 bytes -> 1.53 us == 62.74 Mbit/s 256 bytes -> 3.46 us == 175.19 Mbit/s 384 bytes -> 3.44 us == 114.13 Mbit/s 512 bytes -> 3.54 us == 138.34 Mbit/s 768 bytes -> 3.49 us == 238.81 Mbit/s 1024 bytes -> 3.52 us == 618.17 Mbit/s 1536 bytes -> 3.58 us == 1292.79 Mbit/s 2048 bytes -> 3.55 us == 637.44 Mbit/s 3072 bytes -> 3.55 us == 951.42 Mbit/s 4096 bytes -> 3.63 us == 3415.23 Mbit/s 6144 bytes -> 3.74 us == 1836.55 Mbit/s 8192 bytes -> 3.99 us == 6206.80 Mbit/s 12288 bytes -> 4.17 us == 4264.65 Mbit/s 16384 bytes -> 4.35 us == 4750.71 Mbit/s 24576 bytes -> 4.70 us == 16196.18 Mbit/s 32768 bytes -> 5.66 us == 8762.61 Mbit/s 49152 bytes -> 7.38 us == 12539.20 Mbit/s 65536 bytes -> 8.14 us == 15740.67 Mbit/s 98304 bytes -> 9.28 us == 18271.10 Mbit/s 131072 bytes -> 12.81 us == 23673.44 Mbit/s
Leave a Reply