Skip to content

Using low-level systems programming to achieve speedups in Singular Value Decomposition (SVD) algorithm

License

Notifications You must be signed in to change notification settings

sibiraja/svd-parallelized

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Parallelization of SVD

Repository stucture:

  • parallel_src: contains the source code and job scripts for the parallel implementation
  • sequential_src: contains the source code and job scripts for the sequential baseline

How to run locally:

  1. Change into the directory of the chosen implementation (sequential or parallel)
  2. Call the commands
make clean sequential

or

make clean parallel

to compile 3. Run the program with the following arguments

./sequential <noprint> <smallest N> <largest N> <largest M> <step> <seed>
./parallel <noprint> <smallest N> <largest N> <largest M> <step> <seed>
# args descriptions:
#   if noprint==0, prints only dimensions and walltimes
#   if noprint==1, shows debug prints and visual correctness test
#   matrices start at M x N = smallestN x smallestN
#       and stop at M x N = largestM x largestN
#   set seed for random matrix creation

How to run on the academic cluster:

  1. Change into the directory of the chosen implementation (sequential or parallel)
  2. Call the commands
sbatch baseline_timing.sh

to submit a sequential baseline SLURM job or

sbatch parallel_timing.sh

to submit a parallel SLURM job. For the parallel job, edit the relevant #SBATCH lines to set an amount of cores or memory.

About

Using low-level systems programming to achieve speedups in Singular Value Decomposition (SVD) algorithm

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published