A Project-Based HPC Course for Single-Box Computers

C. Bederián, N. Wolovick
{"title":"A Project-Based HPC Course for Single-Box Computers","authors":"C. Bederián, N. Wolovick","doi":"10.1109/EDUHPC.2016.5","DOIUrl":null,"url":null,"abstract":"Throughout three iterations and six years we have developed a project-based course in HPC for single-box computers tailored to science students in general. The course is based on strong premises: showing that assembly is what actually runs on machines, dividing parallelism in three dimensions (ILP, DLP, TLP), and using them incrementally in a single numerical simulation throughout the course working in interdisciplinary pairs (CS, non-CS). The final goal is to explore how to use all the available transistors in a die. Assembly proved a great tool to show how bare-metal works, an alternative-semantics approach to programs, and a tool to demystify compiler technology. Parallelism is tackled gradually with a clear division into instruction, data, and thread parallelism. GPUs, through CUDA in particular, are used as a radically different approach to the three dimensions of parallelism. Each dimension is explored in a gradual manner, starting from a sequential toy-yet-interesting numerical simulation. After using each form of parallelism and submitting a short report, the experiences are put together in group discussion unveiling the strengths and weaknesses of each form of parallelism for each class of numerical simulation. Although there is a high variance in the students' background, CS and non-CS students pair well in project development, generating understanding and value of the disciplines. The experience proved successful, with former students producing parallel accelerated code of their own in their disciplines.","PeriodicalId":415151,"journal":{"name":"2016 Workshop on Education for High-Performance Computing (EduHPC)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-11-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 Workshop on Education for High-Performance Computing (EduHPC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/EDUHPC.2016.5","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

Throughout three iterations and six years we have developed a project-based course in HPC for single-box computers tailored to science students in general. The course is based on strong premises: showing that assembly is what actually runs on machines, dividing parallelism in three dimensions (ILP, DLP, TLP), and using them incrementally in a single numerical simulation throughout the course working in interdisciplinary pairs (CS, non-CS). The final goal is to explore how to use all the available transistors in a die. Assembly proved a great tool to show how bare-metal works, an alternative-semantics approach to programs, and a tool to demystify compiler technology. Parallelism is tackled gradually with a clear division into instruction, data, and thread parallelism. GPUs, through CUDA in particular, are used as a radically different approach to the three dimensions of parallelism. Each dimension is explored in a gradual manner, starting from a sequential toy-yet-interesting numerical simulation. After using each form of parallelism and submitting a short report, the experiences are put together in group discussion unveiling the strengths and weaknesses of each form of parallelism for each class of numerical simulation. Although there is a high variance in the students' background, CS and non-CS students pair well in project development, generating understanding and value of the disciplines. The experience proved successful, with former students producing parallel accelerated code of their own in their disciplines.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
基于项目的单箱计算机HPC课程
经过三次迭代和六年的时间,我们开发了一个基于项目的HPC课程,适用于单箱计算机,为理科生量身定制。本课程基于一个强有力的前提:展示装配是机器上实际运行的东西,在三个维度(ILP, DLP, TLP)中划分并行性,并在整个课程中以跨学科对(CS,非CS)的方式在单个数值模拟中逐步使用它们。最后的目标是探索如何在一个芯片中使用所有可用的晶体管。汇编被证明是一个展示裸机如何工作的伟大工具,是一种编程的替代语义方法,也是一种揭开编译器技术神秘面纱的工具。并行性是逐步处理的,明确分为指令、数据和线程并行性。gpu,特别是通过CUDA,被用作一种完全不同的方法来实现三维并行性。每个维度都以渐进的方式进行探索,从顺序的玩具但有趣的数值模拟开始。在使用每一种并行形式并提交一份简短的报告后,将经验放在一起进行小组讨论,揭示每一类数值模拟中每种并行形式的优缺点。尽管学生的背景差异很大,但计算机科学和非计算机科学学生在项目开发中很好地配合,从而产生对学科的理解和价值。经验证明是成功的,以前的学生在他们的学科中编写了自己的并行加速代码。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Next Generation HPC Workforce Development: The Computer System, Cluster, and Networking Summer Institute Computational Science Education Focused on Future Domain Scientists Scholar: A Campus HPC Resource to Enable Computational Literacy Teaching MPI from Mental Models A Project-Based HPC Course for Single-Box Computers
×
引用
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