{"title":"Introducing high performance computing concepts into engineering undergraduate curriculum: a success story","authors":"B. Neelima, Jiajia Li","doi":"10.1145/2831425.2831430","DOIUrl":"https://doi.org/10.1145/2831425.2831430","url":null,"abstract":"This paper discusses a successful story of introducing High Performance Computing (HPC) concepts in an engineering curriculum over a period of the last 6 academic years at various levels of the undergraduate program. The paper also elaborates about the state of the stake holders and infrastructure available at the initial stage, issues and challenges addressed year after year and the current state of the art scenario in the author's institute. HPC introduction is started with shared and distributed memory programming concepts, added with accelerator programming concepts and enhanced using hybrid programming concepts along with the theoretical concepts. The paper also explains the process of teaching and evaluating the students with respect to HPC concepts. It concludes with the direct and indirect benefits to the institutes' stake holders through the introduction of HPC concepts.","PeriodicalId":319305,"journal":{"name":"Workshop on Education for High Performance Computing","volume":"448 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-11-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125782247","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A problem-based learning approach to GPU computing","authors":"R. Geist, J. Levine, J. Westall","doi":"10.1145/2831425.2833197","DOIUrl":"https://doi.org/10.1145/2831425.2833197","url":null,"abstract":"Compared to CPUs, modern GPUs exhibit a high ratio of computing performance per watt, and so current supercomputer designs often include multiple racks of GPUs in order to achieve high teraflop counts at minimal energy cost. GPU programming is thus becoming increasingly important, and yet it remains a challenging task. This paper describes a course in GPU programming for senior undergraduates and first-year graduates that has been taught at Clemson University annually since 2010. The course uses problem-based learning, with focus on a large, real-world problem, in particular, a system for parallel solution of partial differential equations. Although the system for solving PDEs is useful in its own right, the problem is used as a vehicle in which to explore design issues that face those attempting to achieve new levels of performance on architectures.","PeriodicalId":319305,"journal":{"name":"Workshop on Education for High Performance Computing","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-11-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133306588","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Maha Aziz, Heng Chi, Anant Tibrewal, M. Grossman, Vivek Sarkar
{"title":"Auto-grading for parallel programs","authors":"Maha Aziz, Heng Chi, Anant Tibrewal, M. Grossman, Vivek Sarkar","doi":"10.1145/2831425.2831427","DOIUrl":"https://doi.org/10.1145/2831425.2831427","url":null,"abstract":"Fundamentals of Parallel Programming (COMP 322) is a required course for all Computer Science majors at Rice University. It introduces students to several basic concepts of parallel programming and parallel algorithms and follows a \"pedagogic approach that exposes students to intellectual challenges in parallel software without enmeshing them in jargon and lower-level details of today's parallel systems\". The material from COMP 322 has also been used in related courses at other universities including Harvey Mudd College and Brigham Young University.\u0000 Currently, programming assignments in this class are manually graded by teaching assistants (TAs) for correctness, performance, style, and documentation. Students receive limited feedback as they progress through the assignment because TAs grade their homework only after the submission of a final version. Auto-graders are a common solution to this problem: they allow students to receive feedback as they work on their assignments rather than only after they have completed them. This results in higher quality submissions by allowing students to learn from mistakes as they make them, rather than days or weeks later. It also prevents the development of bad habits or mislearned knowledge by addressing mistakes early.\u0000 Web-CAT is an advanced, customizable, and comprehensive automated grading system developed at Virginia Tech. It supports many models for program grading, assessment, and feedback generation. This paper describes our work on extending Web-CAT to address the requirements of Rice University's introductory parallel programming course, thereby creating infrastructure that can be used for similar courses at other universities and in online courses. Our system is planned for deployment in Spring 2016, hence this paper focuses on the design and implementation of this system.","PeriodicalId":319305,"journal":{"name":"Workshop on Education for High Performance Computing","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-11-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130178335","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"OnRamp to parallel and distributed computing","authors":"Samantha S. Foley, Joshua Hursey","doi":"10.1145/2831425.2831426","DOIUrl":"https://doi.org/10.1145/2831425.2831426","url":null,"abstract":"Computer Science students must understand parallel and distributed computing (PDC) concepts to be effective computer scientists in the workforce, as reflected in the ACM Curriculum guidelines [1]. Communities of CS educators are creating educational modules, and making parallel compute environments (PCEs) available to educators who are integrating PDC concepts into their existing curriculum. Even with these resources there is a barrier to entry for students to use PCEs, namely the unfamiliar and complex system software ecosystem of modern PCEs. The OnRamp project lowers that barrier to entry for exploring PDC concepts on a variety of PCEs while also providing a path for students to learn how to be productive on the native PCE. OnRamp is designed to be a general purpose web portal for supporting the exploration of PDC concepts that harnesses the existing educational resources created by the CS education community. It coaches students through interactive modules that teach them about PDC concepts and PCEs while allowing them to launch parallel applications from day one. As students become more comfortable with running parallel applications on PCEs, OnRamp transforms into a reference guide as they graduate to using the native PCE.","PeriodicalId":319305,"journal":{"name":"Workshop on Education for High Performance Computing","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-11-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122350926","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Stephen Lien Harrell, H. Nam, V. G. V. Larrea, K. Keville, Dan Kamalic
{"title":"Student cluster competition: a multi-disciplinary undergraduate HPC educational tool","authors":"Stephen Lien Harrell, H. Nam, V. G. V. Larrea, K. Keville, Dan Kamalic","doi":"10.1145/2831425.2831428","DOIUrl":"https://doi.org/10.1145/2831425.2831428","url":null,"abstract":"National labs, academic institutions and industry have a strong need for scientists and staff that understand high performance computing (HPC) and the complex interconnections across individual topics in HPC. However, domain science and computer science undergraduate programs are not providing sufficient educational resources, and are far from conveying the interdisciplinary and collaborative nature of the HPC environment. The Student Cluster Competition (SCC) was created as an educational tool to immerse undergraduates in HPC. It is a microcosm of professional HPC centers that teaches and inspires students to pursue careers in the field. The SCC's impact is reflected in new undergraduate curricula and through the experience of the students themselves. The SCC can complement a strong parallel and distributed computing (PDC) curriculum through experiential learning and engagement with the HPC community as a whole, which will prepare graduates for the interdisciplinary nature of work in HPC fields.","PeriodicalId":319305,"journal":{"name":"Workshop on Education for High Performance Computing","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-11-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126466053","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}