是西安电子科技大学研究生的一门实验课,一学分,老师和课程都推荐。课程需要一丢丢编程和操作系统的基础。最好会使用Linux,也可以使用Windows,如果不介意各种点来点去的配置的话。
- 第一次作业:写出自己电脑的软件件配置;
- 第二次作业:创建多个线程,完成打印 hello world 的任务;
- 第三次作业:借助 openmp,实现并行的矩阵乘法;多线程执行
g_Count++
,观察结果; - 第四次作业:借助 openmp,计算不同线程下、不同计算量的程序加速比和执行效率;
- 第五次作业:通过互斥锁、信号量、读写锁和条件变量来保证
g_Count++
值的正确性; - 第六次作业:借助 MPI,实现并行的矩阵乘法,并计算加速比和并行效率;
- 第七次作业:借助CUDA或openCL,实现并行矩阵乘法,并计算加速比和并行效率;
- 汇报:第12周上去讲课;
- 大作业:单机多卡的并行加速。
- 自己拟定的实验题目;
- 摘要,说明自己的工作要点;
- 运行环境的详细介绍,包括硬件的具体型号及性能指标、使用软件(操作系统、编译器、开发语言等)的名称和版本。如果需要辅助软件,要给出辅助软件的作用;
- 实验部分如果是在自己的计算机上完成,要增加上机所使用集群上的性能对比;
- 要阐述自己的并行算法设计的思路或者方法;
- 做多组实验,使用不同大小的数据集(图像)或者算法参数,列表分析并行加速比;
- 如果是基于CPU的并行程序,应该分析不同核数下的加速比;
- 参考文献,要近几年的新论文;
- 附件增加程序源代码和测试数据集,可以打包作为附件出现;
- 附录:使用集群上机情况的介绍(上机测试的程序包括但不限于所给的程序文件)。介绍自己上机完成的实验及其结果(包括不同参数下的性能测试),碰到那些问题以及如何解决的;
- 报告封面提供学号、姓名。