{"title":"基于dpc++的异构计算教学","authors":"J. Fuentes, Daniel López, Sebastián González","doi":"10.1109/IPDPSW55747.2022.00069","DOIUrl":null,"url":null,"abstract":"The evolution of modern computer systems with conventional processors to complex hardware units with heterogeneous accelerators is a reality. In the last decade, the awareness of teaching parallel computing in undergraduate programs has increased, however, the focus has been mainly on multi-core CPUs. GPUs, FPGAs, and other accelerators are now present in most of the devices people use daily, but their programming is still left to experienced engineers. New high-level programming languages for heterogeneous architectures such as DPC++ represent a good opportunity to bring closer inexperienced programmers to accelerators. In this paper, we present a new Heterogeneous Computing course with a syllabus focused on the foundations of heterogeneous architectures (multi-core CPUs, GPUs, and FPGAs) and their programming with DPC++. We present results from the experience of teaching this course to undergraduate students. Student evaluation and assessment data show that students engaged with the course's learning activities and there is high satisfaction with the contents covered","PeriodicalId":286968,"journal":{"name":"2022 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)","volume":"26 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":"{\"title\":\"Teaching Heterogeneous Computing Using DPC++\",\"authors\":\"J. Fuentes, Daniel López, Sebastián González\",\"doi\":\"10.1109/IPDPSW55747.2022.00069\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The evolution of modern computer systems with conventional processors to complex hardware units with heterogeneous accelerators is a reality. In the last decade, the awareness of teaching parallel computing in undergraduate programs has increased, however, the focus has been mainly on multi-core CPUs. GPUs, FPGAs, and other accelerators are now present in most of the devices people use daily, but their programming is still left to experienced engineers. New high-level programming languages for heterogeneous architectures such as DPC++ represent a good opportunity to bring closer inexperienced programmers to accelerators. In this paper, we present a new Heterogeneous Computing course with a syllabus focused on the foundations of heterogeneous architectures (multi-core CPUs, GPUs, and FPGAs) and their programming with DPC++. We present results from the experience of teaching this course to undergraduate students. Student evaluation and assessment data show that students engaged with the course's learning activities and there is high satisfaction with the contents covered\",\"PeriodicalId\":286968,\"journal\":{\"name\":\"2022 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)\",\"volume\":\"26 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2022-05-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"4\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2022 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/IPDPSW55747.2022.00069\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IPDPSW55747.2022.00069","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
The evolution of modern computer systems with conventional processors to complex hardware units with heterogeneous accelerators is a reality. In the last decade, the awareness of teaching parallel computing in undergraduate programs has increased, however, the focus has been mainly on multi-core CPUs. GPUs, FPGAs, and other accelerators are now present in most of the devices people use daily, but their programming is still left to experienced engineers. New high-level programming languages for heterogeneous architectures such as DPC++ represent a good opportunity to bring closer inexperienced programmers to accelerators. In this paper, we present a new Heterogeneous Computing course with a syllabus focused on the foundations of heterogeneous architectures (multi-core CPUs, GPUs, and FPGAs) and their programming with DPC++. We present results from the experience of teaching this course to undergraduate students. Student evaluation and assessment data show that students engaged with the course's learning activities and there is high satisfaction with the contents covered