{"id":"https://openalex.org/W4416004050","doi":"https://doi.org/10.1145/3731599.3767379","title":"Hybrid GPU Programming Education with Python and C++: Preferences, Performance and Common Python Pitfalls","display_name":"Hybrid GPU Programming Education with Python and C++: Preferences, Performance and Common Python Pitfalls","publication_year":2025,"publication_date":"2025-11-07","ids":{"openalex":"https://openalex.org/W4416004050","doi":"https://doi.org/10.1145/3731599.3767379"},"language":null,"primary_location":{"id":"doi:10.1145/3731599.3767379","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3731599.3767379","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the SC '25 Workshops of the International Conference for High Performance Computing, Networking, Storage and Analysis","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://doi.org/10.1145/3731599.3767379","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5011121841","display_name":"Lena Oden","orcid":"https://orcid.org/0000-0002-9670-5296"},"institutions":[{"id":"https://openalex.org/I120691247","display_name":"FernUniversit\u00e4t in Hagen","ror":"https://ror.org/04tkkr536","country_code":"DE","type":"education","lineage":["https://openalex.org/I120691247"]}],"countries":["DE"],"is_corresponding":true,"raw_author_name":"Lena Oden","raw_affiliation_strings":["Dep. Computer Science, FernUniversit\u00e4t in Hagen, Germany, Hagen, Germany"],"raw_orcid":"https://orcid.org/0000-0002-9670-5296","affiliations":[{"raw_affiliation_string":"Dep. Computer Science, FernUniversit\u00e4t in Hagen, Germany, Hagen, Germany","institution_ids":["https://openalex.org/I120691247"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5011121841"],"corresponding_institution_ids":["https://openalex.org/I120691247"],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"359","last_page":"366"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T13650","display_name":"Computational Physics and Python Applications","score":0.6996999979019165,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T13650","display_name":"Computational Physics and Python Applications","score":0.6996999979019165,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.0794999971985817,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10533","display_name":"Teaching and Learning Programming","score":0.05620000138878822,"subfield":{"id":"https://openalex.org/subfields/1706","display_name":"Computer Science Applications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.8600999712944031},{"id":"https://openalex.org/keywords/scripting-language","display_name":"Scripting language","score":0.7562000155448914},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.576200008392334},{"id":"https://openalex.org/keywords/curriculum","display_name":"Curriculum","score":0.48330000042915344},{"id":"https://openalex.org/keywords/high-level-programming-language","display_name":"High-level programming language","score":0.37720000743865967},{"id":"https://openalex.org/keywords/very-high-level-programming-language","display_name":"Very high-level programming language","score":0.2994999885559082}],"concepts":[{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.8600999712944031},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8129000067710876},{"id":"https://openalex.org/C61423126","wikidata":"https://www.wikidata.org/wiki/Q187432","display_name":"Scripting language","level":2,"score":0.7562000155448914},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.70169997215271},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.576200008392334},{"id":"https://openalex.org/C47177190","wikidata":"https://www.wikidata.org/wiki/Q207137","display_name":"Curriculum","level":2,"score":0.48330000042915344},{"id":"https://openalex.org/C19024347","wikidata":"https://www.wikidata.org/wiki/Q211496","display_name":"High-level programming language","level":3,"score":0.37720000743865967},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3718999922275543},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.3091999888420105},{"id":"https://openalex.org/C169796678","wikidata":"https://www.wikidata.org/wiki/Q835124","display_name":"Very high-level programming language","level":5,"score":0.2994999885559082},{"id":"https://openalex.org/C511192102","wikidata":"https://www.wikidata.org/wiki/Q5156948","display_name":"Comprehension","level":2,"score":0.289000004529953},{"id":"https://openalex.org/C74672266","wikidata":"https://www.wikidata.org/wiki/Q815859","display_name":"Language acquisition","level":2,"score":0.2782999873161316},{"id":"https://openalex.org/C33857546","wikidata":"https://www.wikidata.org/wiki/Q80006","display_name":"Computer programming","level":2,"score":0.27469998598098755},{"id":"https://openalex.org/C199305712","wikidata":"https://www.wikidata.org/wiki/Q3205914","display_name":"Fifth-generation programming language","level":3,"score":0.2718000113964081},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.266400009393692},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.2547999918460846}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3731599.3767379","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3731599.3767379","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the SC '25 Workshops of the International Conference for High Performance Computing, Networking, Storage and Analysis","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/3731599.3767379","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3731599.3767379","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the SC '25 Workshops of the International Conference for High Performance Computing, Networking, Storage and Analysis","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":3,"referenced_works":["https://openalex.org/W2245493112","https://openalex.org/W2919115771","https://openalex.org/W3026033607"],"related_works":[],"abstract_inverted_index":{"We":[0,135],"present":[1],"a":[2,22],"hybrid":[3],"GPU":[4,143],"programming":[5,66],"curriculum":[6],"that":[7,97],"allows":[8],"students":[9,32,53,147],"to":[10,29,102,130,140],"choose":[11],"between":[12],"Python":[13,37],"(Numba)":[14],"and":[15,38,56,67,80,121,145],"C++":[16],"(CUDA),":[17],"supporting":[18],"language":[19,74,106],"flexibility":[20],"in":[21,65,118],"distance-learning":[23],"context.":[24],"The":[25,45],"dual-language":[26],"design":[27],"aims":[28],"engage":[30],"both":[31],"familiar":[33,78],"scripting":[34],"languages":[35,42],"like":[36,43],"those":[39],"experienced":[40],"compiled":[41],"C/C++.":[44],"course":[46],"was":[47],"evaluated":[48],"with":[49,83,137],"19":[50],"computer":[51],"science":[52],"at":[54],"Bachelor\u2019s":[55],"Master\u2019s":[57],"levels.":[58],"A":[59],"pre-course":[60],"survey":[61],"assessed":[62],"prior":[63,85,103],"knowledge":[64],"related":[68],"tools.":[69],"Students":[70],"generally":[71],"preferred":[72],"the":[73],"they":[75],"were":[76,99],"more":[77],"with,":[79],"performance":[81,133],"correlated":[82],"this":[84],"experience.":[86],"Although":[87],"C/C++":[88],"users":[89],"achieved":[90],"slightly":[91],"higher":[92],"scores,":[93],"regression":[94],"analysis":[95],"indicates":[96],"differences":[98],"largely":[100],"due":[101],"knowledge,":[104],"not":[105],"choice.":[107],"Finally,":[108],"we":[109],"analyzes":[110],"Python-specific":[111],"pitfalls,":[112],"including":[113],"boundary":[114],"errors,":[115],"type":[116],"mismatches":[117],"shared":[119],"memory,":[120],"inefficient":[122],"data":[123],"transfers.":[124],"These":[125],"subtle":[126],"issues":[127],"often":[128],"led":[129],"correctness":[131],"or":[132],"problems.":[134],"conclude":[136],"teaching":[138],"recommendations":[139],"support":[141],"pythonic":[142],"learning":[144],"help":[146],"avoid":[148],"common":[149],"mistakes.":[150]},"counts_by_year":[],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-11-07T00:00:00"}
