The International Conference for High Performance Computing, Networking, Storage, and Analysis

Workshops Archive

Hybrid GPU Programming Education with Python and C++: Preferences, Performance and Common Python Pitfalls


Workshop: EduHPC-25: Workshop on Education for High Performance Computing

Authors: Lena Oden (University of Hagen, Germany; Forschungszentrum Jülich)

Abstract: We present a hybrid GPU programming curriculum that allows students to choose between Python (Numba) and C++ (CUDA), supporting language flexibility in a distance-learning context. The dual-language design aims to engage both students familiar with high-level languages and those experienced in C/C++. The course was evaluated with 19 computer science students at Bachelor’s and Master’s levels. A pre-course survey assessed prior knowledge in programming and related tools. Students generally preferred the language they were more familiar with, and performance correlated with this prior experience. Although C/C++ users achieved slightly higher scores, regression analysis indicates that differences were largely due to prior knowledge, not language choice. Finally, we analyzes Python-specific pitfalls, including boundary errors, type mismatches in shared memory, and inefficient data transfers. These subtle issues often led to correctness or performance problems. We conclude with teaching recommendations to support pythonic GPU learning and help students avoid common mistakes.


Back to EduHPC-25: Workshop on Education for High Performance Computing Archive Listing Back to Full Workshop Archive Listing