Close

Presentation

Hybrid GPU Programming Education with Python and C++: Preferences, Performance and Common Python Pitfalls
DescriptionWe 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.