使用 MATLAB 进行并行计算在线教学

作者:Chiranjoy Chattopadhyay,印度理工学院焦特布尔分校教师

Chiranjoy Chattopadhyay 是印度理工学院焦特布尔分校计算机科学与工程系的助理教授。他的研究方向包括计算机视觉、计算机图形学和数字人文。

    ◆  

计算机架构基础课程是印度理工学院焦特布尔分校 (IITJ) 计算机科学与工程系二年级研究生的一门必修课。
学生们需要了解现代计算机系统包含的组件,使用基准数据比较不同系统的性能,并掌握在 GPU 上编写、调试和执行并行程序所需的技能。
去年春季,这门课程进度过半,但受新冠疫情影响,我们不得不采取防疫隔离措施。跟 IITJ 以及世界各地的其他老师们一样,我突然面临一个难题:这是一门为课堂面授设计的课程,我该如何调整,使之适应远程在线教学?
我采取了如下策略:
依托 MATLAB Online™ 通过浏览器访问 MATLAB®,利用《MATLAB 入门之旅》开展自定进度的在线培训,使用 MATLAB Grader™ 对编程作业自动评分。
这一策略整合了工具、培训和技术,帮助学生达成了这门课程的各项学习目标。绝大多数学生表示,尽管疫情带来了非同寻常的挑战,但通过这种学习方式,他们已经了解了并行计算的实用价值,以及可以利用并行计算解决的各种问题。

    ◆  

培养 MATLAB 基本技能
这门计算机架构课程也允许本科生选修,因此吸引了来自不同背景的学生。当转向在线教学时,我需要确保每位学生对 MATLAB 有一个基本的掌握。
为了满足这一需要,我要求学生用一周时间完成自定进度的在线培训课程。

没接触过 MATLAB 的学生通过《MATLAB 入门之旅》学习了相关基础知识。等他们适应了简单的 MATLAB 编程,就可以学习其他 MATLAB 在线培训课程,比如学习《MATLAB 线性代数导论》,了解如何求解线性方程组和进行特征值分解,学习《用 MATLAB 求解常微分方程》,了解如何用数值方法求解常微分方程。

图片

立即注册:2021 年“小迈步”第一课 ——

主题:与时间赛跑!加速 MATLAB 科学计算的 5 个实用技巧
时间:3 月 16 日 | 19:00-20:30

图片


转到线上

我的学生来自印度各地。隔离开始后,他们回到家中,一些人的上网条件有限,连接很慢或经常掉线,而一些人则没有连接问题。
好在 IITJ 有 Campus-Wide License,因此所有学生都能使用 MATLAB 和 MATLAB Online。
网络连接较快的学生可以直接在笔记本电脑上下载并安装 MATLAB。那些网络不太给力的学生则可以通过 MATLAB Online 从浏览器访问 MATLAB,无需安装或下载。
利用 MATLAB 或 MATLAB Online,学生们完成了并行编程和科学计算的作业。
我与 MathWorks 团队合作,在 MATLAB Grader 中创建了这些交互式作业,可以对学生提交的代码进行自动评分。自动评分功能不仅帮助我节省了时间,同时还为学生提供即时反馈,帮助他们评估自己的学习情况。

    ◆  

提供虚拟上机实践
我最初的课程计划包括一节讲解并行编程理论基础的上机实践课,还有几节包含并行编程实操练习的实验课。隔离后,我们通过 WebEx 提供虚拟实验课,取代了面对面的实验课。
在连续三天的时间里,学生们学习了如何使用 Parallel Computing Toolbox™ 和 MATLAB Parallel Server™ 在多核工作站、GPU、集群和云上并行执行计算密集型运算。涵盖的主题包括使用 parfor、parfeval 和 parsim 来并行执行任务,以及使用 MathWorks Cloud Center 将并行计算扩展到 Amazon Web Service。上机实践还涉及深度学习中的并行计算,包括在 GPU 和多核处理器上实现图像处理深度学习方法。

    ◆  

评估在线教学转型成果,并为今后的教学做好准备
在课程开展过程中,学生们告诉我,总体而言,他们对新的在线学习模式非常满意。后续调查也证实了这一说法:在调查中,学生们几乎一致地对 MATLAB 在线培训资源和 MATLAB Grader 的实用性表示认可(图 1)。
图 1.关于学生眼中 MATLAB 在线培训和 MATLAB Grader 实用性的调查结果。
在本学年,IITJ 全面转向在线模式;现在,所有课程都采用在线教学。
我和我的同事们从初期转型中学到了宝贵的经验,包括意识到学生们的背景不同,网络连接情况存在很大差异,因此为他们提供支持非常重要。
现在,我们系使用 MATLAB Online、MATLAB Grader 和 MATLAB 在线培训来讲授机器学习、信号处理和其他主题的课程。
此外,我也在数字人文专业的数据可视化课程中使用了 MATLAB 在线培训;我发现,学生即使没有计算机科学背景,也能顺利完成这些培训课程。

或许,最大的收获在于,我们认识到,隔离期间,只要顺应变化、合理运用适当的基础架构和工具,就仍可以顺利实现原有的学习目标。 

图片