Skip to content

zehezack/CISC372-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CISC372-Project

CONTENTS OF THIS FILE

  • Introduction
  • Requirements
  • Configuration
  • Troubleshooting
  • FAQ
  • Maintainers

INTRODUCTION

The project is intended as to display different programming language processing speed with parallel and non-parallel programs, this will be measured with different core use and with different devices

REQUIREMENTS

This module requires standard C, C++, Python library
Code require access to bridges - 2
Code for C++ requires nvhpc/21.7, gprof, perf.
Code for C requires nvhpc/21.7, gprof, perf.
Code for Python requires

CONFIGURATION

INIT Login to bridges - 2 module load nvhpc/21.7

Code for C++

scp the content of C++ onto bridges2

scp -P 2222 *.sh *.cpp <name>@data.bridges2.psc.edu:~/372_fall2021/c++

Init the executables (Bridges2 must finish this step to proceed)

sbatch INIT.sh

Running the code

sbatch ACC_CPU.sh
sbatch ACC_GPU.sh
sbatch OMP.sh
sbatch SERIAL.sh

Output folder contains already batched results for testing and checking

Code for C

scp the content of c onto bridges - 2

scp -P 2222 -r . [email protected]:/jet/home/name/372_fall2021/ <br />

For getting all the executable needed for c (Note, bridges - 2 must finish this step to proceed to other)

sbatch init <br />

For getting bench test for time

//All time can be found by using more on the corresponding slurm file <br />
sbatch GPU-BENCH //This gets the time needed for OpenACC GPU <br />
sbatch CPU-BENCH //This gets the time needed for OpenACC CPU and OpenMP CPU for 2, 4, 8, 16 core, and Serial time <br />

For getting profile

sbatch profile_script_CPU // result save format pi_OpenACC_core_nsys, this create Nsignt System profiling for OpenACC CPU <br />
sbatch profile_script_GPU // result save format pi_OpenACC_GPU_nsys, pi_OpenACC_GPU_ncu, this create Nsignt System and Nsight Compute profiling for OpenACC GPU <br />
sbatch profile_script_OMP // result save in corresponding slurm file, this create OpenMP profiler for CPU <br />
sbatch profile_script_Serial // result save in gprof_Serial_profiler, this create profiler for Serial code on C <br />

Output file contain all the already batched result for testing and checking porpuse.

Code for Python

In the Python directory: create and source a python virtualenv

python -m venv venv
source venv/bin/activate

Install the dependencies for jug and ray.

pip install jug
pip install ray

Running the code

./time_serial.sh
./time_jug.sh
./time_ray.sh

TROUBLESHOOTING

Code for C++
Check if nvhpc/21.7 is loaded
Otherwise, read the error messages.

Code for C
If any thing display error, check if nvhpc/21.7 is loaded

Code for Python

FAQ

Waiting for class

MAINTAINERS

Current maintainers:

About

CISC372 final project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published