A Case Study: Undergraduate Self-Learning in HPC Including OpenMP, MPI, OpenCL, and FPGAs

P. Jamieson, M. Herbordt, M. Kinsy
{"title":"A Case Study: Undergraduate Self-Learning in HPC Including OpenMP, MPI, OpenCL, and FPGAs","authors":"P. Jamieson, M. Herbordt, M. Kinsy","doi":"10.1109/CSCI49370.2019.00149","DOIUrl":null,"url":null,"abstract":"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.","PeriodicalId":103662,"journal":{"name":"2019 International Conference on Computational Science and Computational Intelligence (CSCI)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 International Conference on Computational Science and Computational Intelligence (CSCI)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CSCI49370.2019.00149","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

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.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
一个案例研究:HPC的本科生自学,包括OpenMP, MPI, OpenCL和fpga
高性能计算(High - Performance Computing, HPC)在计算领域不断发展并蚕食着高等教育。随着商业云计算无处不在的可用性和增长,以及顺序程序的性能回报的减少,许多开发人员必须能够理解和利用某些应用程序的并行计算范式。CE2016推荐的课程主要针对计算机工程专业的本科生,他们可能是这些并行领域的未来领导者,CE2016推荐的课程有很多小时专门用于并行和分布式计算,其中大约有10个核心小时是关于并行编程的,其他思想是关于网络和嵌入式系统的,还有一个完整的数字设计部分(50个小时)。实际上,这段时间不足以让你胜任更广泛的高性能计算领域,我们也不指望标准的本科课程能把有能力的本科生培养成并行程序员。然而,随着对高性能计算开发人员需求的增加,人们想知道学生如何获得这些知识。许多人在毕业工作和工业工作中学习了HPC能力,但什么可能早做。在本文中,我们将探讨开发人员在HPC世界中可能学到的东西,以及构建和实验并行实现需要哪些工具和理解。我们的目标是在典型笔记本电脑的限制下研究HPC的各个方面,并询问开发人员可以在HPC领域的系统上测试和学习什么。这项工作的好处是更好地了解学生需要了解哪些工具集来开发简单的并行实现,哪些HPC平台可以用于课程或个性化学习,我们提供了一个基本的框架和代码示例供人们开始。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Temperature Prediction Based on Long Short Term Memory Networks Extending a Soft-Core RISC-V Processor to Accelerate CNN Inference Uncovering Los Angeles Tourists' Patterns Using Geospatial Analysis and Supervised Machine Learning with Random Forest Predictors A Framework for Leveraging Business Intelligence to Manage Transactional Data Flows between Private Healthcare Providers and Medical Aid Administrators Feasibility Study of a Consumer Multi-Sensory Wristband to Monitor Sleep Disorder
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1