技术文章和通讯

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

Chiranjoy Chattopadhyay,印度焦特布尔理工学院


印度理工学院焦特布尔分校(IIT Jodhpur)计算机科学与工程系的二年级研究生需要学习计算机架构的基础课程。学生将学习现代计算机系统的组成部分,使用基准数据来比较跨系统的性能,并发展在gpu上编写、调试和执行并行程序所需的技能。

去年春天,当课程进行到一半以上时,COVID-19封锁开始了。像焦特布尔理工学院和世界各地的其他教师一样,我突然发现自己不得不将一门为现场授课设计的课程调整为远程和在线学习。

我实现了一个基于MATLAB Online™的策略,用于基于浏览器访问MATLAB®, MATLAB Onramp用于自定进度的在线培训,MATLAB Grader™用于编程作业的自动评分。这种工具、培训和技术的结合使学生能够取得课程的所有学习成果:绝大多数报告称,尽管疫情造成了特殊情况,但他们现在理解了并行计算的用处,以及它可以帮助解决的各种问题。

建立MATLAB基础技能

计算机体系结构课程可以作为本科生的选修课,吸引了来自不同背景的学生。当它过渡到在线学习时,我需要确保每个学生都有MATLAB的基本熟练程度。为了满足这一需求,我要求学生们花一周时间完成自定进度的在线培训课程。刚接触MATLAB的学生学习了MATLAB Onramp的基础知识。一旦他们熟悉了简单的MATLAB编码,他们就完成了额外的MATLAB在线培训课程,包括MATLAB线性代数入门在这门课中,他们学习了求解线性方程组和进行特征值分解,以及用MATLAB求解常微分方程,在那里他们学会了用数值求解ode。

移动在线

我的学生来自印度许多不同的地区。当他们在封锁后回到家时,一些人只有有限的互联网接入和缓慢或不可靠的连接,而另一些人则没有连接问题。由于焦特布尔理工学院有一个校园许可证,然而,他们都可以访问MATLAB和MATLAB在线。有更快互联网连接的学生可以直接下载并安装MATLAB到他们的笔记本电脑上。那些连接差的用户可以通过MATLAB Online从浏览器访问MATLAB,无需安装或下载。

学生们使用MATLAB或MATLAB在线完成并行编程和技术计算的作业。我与MathWorks团队一起在MATLAB Grader中构建这些交互式作业,它会自动对学生提交的代码进行评分。除了节省我的时间,自动评分为学生提供了即时反馈,使他们能够评估自己的进步。

举办虚拟工作坊

我最初对这门课程的计划包括一个解释并行编程理论基础的研讨会,以及让学生们完成实际操作的并行编程练习的实验课程。封锁之后,我们用WebEx进行的虚拟实验室会议取代了面对面的实验室会议。

在连续三天的时间里,学生们学习了如何使用并行计算工具箱™和MATLAB并行服务器™在多核工作站、gpu、集群和云上并行执行计算密集型操作。涵盖的主题包括使用parforparfeval,parsim使用MathWorks云中心将任务并行化,并将并行计算扩展到Amazon Web服务。研讨会还涵盖了深度学习背景下的并行计算,包括在gpu和多核处理器上实现图像处理的深度学习技术。

评估过渡到在线学习和准备更多

在课程期间,学生们告诉我,他们总体上很高兴过渡到在线学习。这些报告在后续调查中得到了证实,学生们对MATLAB在线培训资源和MATLAB Grader的实用性表示了近乎一致的看法(图1)。

图1所示。学生调查结果对MATLAB在线培训的有用性和MATLAB评分器。

在本学年,焦特布尔理工学院完全致力于在线学习——所有课程现在都在网上授课。我和我的同事从我们最初的过渡中学到了宝贵的经验,包括支持来自不同背景、依赖质量大不相同的互联网连接的学生的重要性。金宝app我们系使用MATLAB在线、MATLAB评分器、MATLAB在线培训来教授机器学习、信号处理等课题。我也曾在数字人文项目中使用MATLAB进行数据可视化课程的在线培训;我发现,即使没有计算机科学背景的学生也能成功地学习并完成培训课程。也许我们最大的认识是,在封锁期间,学习目标不需要改变,只要你通过实施正确的基础设施和工具来适应情况。

关于作者

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

2020年出版的

查看相关功能的文章