- Introduction
- Requirements
- Configuration
- Troubleshooting
- FAQ
- Maintainers
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
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
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
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
Waiting for class
Current maintainers:
- Zehe Zack Luan - [email protected]
- Alex You - [email protected]
- JD Wang - [email protected]