mirror of
https://github.com/Steffo99/unimore-hpc-assignments.git
synced 2024-11-29 03:24:22 +00:00
2.8 KiB
2.8 KiB
**Stefano Pigozzi** + **Caterina Gazzotti** + **Fabio Zanichelli** | Topic OpenMP | High Performance Computing Laboratory | Unimore
C code optimization using NVIDIA CUDA
Assignment #2
Every team is called to optimize (parallellize) the execution time of the assigned applications on multi-processor system.
Expected outcomes
- Repository of the code (github/gitlab is ok, or .zip )
- Oral presentation (5 min + 5 min Q&A) of your work
Assigned application
Group 3:
OpenMP/linear-algebra/kernels/atax
Developed features
- Workaround for unavailable
M_PI
- Enabled
POLYBENCH_TIME
by default - Enabled extra warnings by default
- Applied the maximum level of compiler optimizations
- Replaced
tmp
array with a iteration-local variable - Allowed the addition of
CFLAGS
frommake
calls - Disabled
make
output - Created
make bench
target to run a script performing multiple parametrized tests on the code to determine the best optimizations - Moved
polybench_start_instruments
to include theinit_array
function
Results
TBD
Validation
- Compiler used: nvcc
- Jetson Nano used:
8
To reproduce the obtained results:
-
Clone the repository on a Jetson Nano:
$ git clone https://github.com/Steffo99/unimore-hpc-assignments
-
Checkout the exact commit the tests were executed on:
$ git checkout TBD
-
Access our group's assigned folder:
$ cd unimore-hpc-assignments/atax
-
Run the benchmarking script:
$ make bench