There are three versions of the Routing Algorithm:
- sequential (
openmpfolder, requires definition of only theSEQmacroconstant inopenmp/src/algo/settings.h) - parallel with OpenMP (folder
openmp, requires definition of only the macroconstantPAR_OMPinopenmp/src/algo/settings.h) - parallel with CUDA (
cudafolder).
Check if you have at least 10.5.0 version of the gcc compiler.
gcc --versionFrom the openmp folder, run the compile command of the project (after setting mutually exclusive macros appropriately).
makeFrom 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.txtThe 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.0Import the CUDA module.
module load cudaCompile the project inside the cuda folder (default GPU A100).
makeRun the command to request execution on the cluster (the result will be provided in the text file named IR-CUDA).
sbatch run-main-a100.shThe metrics choice for execution is made in the file cuda/src/metrics/metric_hyperparams.h.