Skip to content

Parallel Internet Routing Algorithm with OpenMP and CUDA

License

Notifications You must be signed in to change notification settings

fedebrando/InternetRouting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Internet Routing

There are three versions of the Routing Algorithm:

  • sequential (openmp folder, requires definition of only the SEQ macroconstant in openmp/src/algo/settings.h)
  • parallel with OpenMP (folder openmp, requires definition of only the macroconstant PAR_OMP in openmp/src/algo/settings.h)
  • parallel with CUDA (cuda folder).

Sequential and Parallel with OpenMP

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.

Parallel with CUDA

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.

About

Parallel Internet Routing Algorithm with OpenMP and CUDA

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published