There are three versions of the Routing Algorithm:
- sequential (
openmp
folder, requires definition of only theSEQ
macroconstant inopenmp/src/algo/settings.h
) - parallel with OpenMP (folder
openmp
, requires definition of only the macroconstantPAR_OMP
inopenmp/src/algo/settings.h
) - parallel with CUDA (
cuda
folder).
Check if you have at least 10.5.0
version of the gcc
compiler.
gcc --version
From the openmp
folder, run the compile command of the project (after setting mutually exclusive macros appropriately).
make
From the openmp/build/bin
folder, launch the execution of the main program, redirecting the output to a file for better understanding of the results.
./main > results.txt
The metrics choice for execution is made in the file openmp/src/metrics/metric_hyperparams.h
.
In reference to the University of Parma cluster, the commands for proper execution are given below.
Import at least 6.3.0
version of the gcc
compiler.
module load gcc/6.3.0
Import the CUDA module.
module load cuda
Compile the project inside the cuda
folder (default GPU A100).
make
Run the command to request execution on the cluster (the result will be provided in the text file named IR-CUDA
).
sbatch run-main-a100.sh
The metrics choice for execution is made in the file cuda/src/metrics/metric_hyperparams.h
.