Repository landing page
Static Graphs for Coding Productivity in OpenACC
Abstract
The main contribution of this work is to increase the coding productivity for GPU programming by using the concept of Static Graphs. To do so, we have combined the new CUDA Graph API with the OpenACC programming model. We use as test cases a well-known and widely used problems in HPC and AI: the Particle Swarm Optimization. We complement the OpenACC functionality with the use of CUDA Graph, achieving accelerations of more than one order of magnitude, and a performance very close to a reference and optimized CUDA code. Finally, we propose a new specification to incorporate the concept of Static Graphs into the OpenACC specification.This project has received funding from the EPEEC project from the European Union’s Horizon 2020 Research and Innovation program under grant agreement No. 801051.Peer ReviewedPostprint (author's final draft- Conference lecture
- Àrees temàtiques de la UPC::Informàtica::Enginyeria del software
- GPUs (Graphics processing units)
- C++/CLI (Computer program language)
- C (Computer program language)
- FORTRAN (Computer program language)
- Coding Productivity
- Tasking
- Data Dependencies
- Static Graph
- OpenACC
- Particle Swarm Optimization
- Supercomputadors