TY - GEN
T1 - A case study
T2 - 6th Annual International Conference on Computational Science and Computational Intelligence, CSCI 2019
AU - Jamieson, Peter
AU - Herbordt, Martin
AU - Kinsy, Michel
N1 - Publisher Copyright:
© 2019 IEEE.
PY - 2019/12
Y1 - 2019/12
N2 - High Performance Computing (HPC) continues to develop and encroach on higher-education in the computing fields. With the ubiquitous availability and growth in commercial cloud computing and the diminishing performance returns on sequential programs, many developers must be able to understand and exploit parallel computing paradigms for certain applications. Focusing on Computer Engineering undergraduates, who arguably, will be future leaders in these parallel domains, the CE2016 recommended curriculum has a number of hours dedicated for parallel and distributed computing where approximately 10 core hours are to be taught in parallel programming, other ideas are taught in and among networking and embedded systems, and an entire section on digital design (50 hours). In reality, this is not enough time to become competent in the broader HPC field, nor do we expect standard undergraduate curriculum to develop competent undergraduate into parallel programmers. However, as demand increases for HPC developers, one wonders how students will attain this knowledge. Many people learn HPC competencies in graduate work and industrial work, but what might be done early. In this paper, we look at what a developer can possibly learn in the HPC world, and what tools and understanding is needed to build and experiment with parallel implementations. Our goal is to look at aspects of HPC given the constraints of a typical laptop, and we ask what can a developer test and learn about on their system in the HPC domain. The benefits of this work is a better understanding of what tool sets students will need to understand to develop simple parallel implementations, what HPC platforms can be used for courses or personalized learning, and we provide a basic framework and code samples for people to start from.
AB - High Performance Computing (HPC) continues to develop and encroach on higher-education in the computing fields. With the ubiquitous availability and growth in commercial cloud computing and the diminishing performance returns on sequential programs, many developers must be able to understand and exploit parallel computing paradigms for certain applications. Focusing on Computer Engineering undergraduates, who arguably, will be future leaders in these parallel domains, the CE2016 recommended curriculum has a number of hours dedicated for parallel and distributed computing where approximately 10 core hours are to be taught in parallel programming, other ideas are taught in and among networking and embedded systems, and an entire section on digital design (50 hours). In reality, this is not enough time to become competent in the broader HPC field, nor do we expect standard undergraduate curriculum to develop competent undergraduate into parallel programmers. However, as demand increases for HPC developers, one wonders how students will attain this knowledge. Many people learn HPC competencies in graduate work and industrial work, but what might be done early. In this paper, we look at what a developer can possibly learn in the HPC world, and what tools and understanding is needed to build and experiment with parallel implementations. Our goal is to look at aspects of HPC given the constraints of a typical laptop, and we ask what can a developer test and learn about on their system in the HPC domain. The benefits of this work is a better understanding of what tool sets students will need to understand to develop simple parallel implementations, what HPC platforms can be used for courses or personalized learning, and we provide a basic framework and code samples for people to start from.
KW - Education
KW - FPGAs
KW - HPC
KW - Parallel
UR - http://www.scopus.com/inward/record.url?scp=85084729836&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85084729836&partnerID=8YFLogxK
U2 - 10.1109/CSCI49370.2019.00149
DO - 10.1109/CSCI49370.2019.00149
M3 - Conference contribution
AN - SCOPUS:85084729836
T3 - Proceedings - 6th Annual Conference on Computational Science and Computational Intelligence, CSCI 2019
SP - 782
EP - 787
BT - Proceedings - 6th Annual Conference on Computational Science and Computational Intelligence, CSCI 2019
PB - Institute of Electrical and Electronics Engineers Inc.
Y2 - 5 December 2019 through 7 December 2019
ER -