To main content

Performance, usability, and energy efficiency of CUDA and OpenCL for GPU computing with Python

Abstract

GPUs have over the last decades gone from esoteric and experimental to becoming the work-horse of supercomputers and HPC machines. Today, half of the ten fastest supercomputers (including number one) use NVIDIA GPUs for performance, and nine of the top ten most energy efficient supercomputers use NVIDIA GPUs. Developing efficient software for these platforms is a major challenge, but the complexity can be significantly reduced by using efficient development environments and software ecosystems (Wilson et al. 2014).

In this work, we examine the performance and energy efficiency when using Jupyter Notebooks and Python for developing HPC codes running on the GPU. We investigate the portability of the improvements between CUDA and OpenCL; between GPU generations; and between low-end, mid-range and high-end GPUs. Our findings show that the impact of using Python is negligible for our applications.

Category

Lecture

Client

  • Research Council of Norway (RCN) / 250935
  • Sigma2 / NN9550K

Language

English

Author(s)

Affiliation

  • Norwegian University of Science and Technology
  • SINTEF Digital / Mathematics and Cybernetics
  • OsloMet - Oslo Metropolitan University
  • Norwegian Meteorological Institute (MET Norway)

Presented at

The International Conference on Parallel Computing ParCo2019

Place

Praha

Date

09.09.2019 - 13.09.2019

Organizer

ParCo Conferences

Year

2019

View this publication at Cristin