UNIVERSITYOFWARWICKLEVEL7OpenBookAssessment[2小时]计算机科学系CS4022:高性能计算说明仔细阅读所有说明-并在开始写作之前至少阅读整篇论文一次。有四个问题。您应该尝试A部分中的两个问题和B部分中的一个问题。您提交的答案不应超过要求的问题数量。除非另有说明,否则所有问题的分数都相同。您应该用纸和纸手写答案笔或使用带手写笔的电子设备(除非您有特殊的考试安排允许使用计算机)。在新页面上开始每个问题,并用页码、学生ID和问题编号清楚地标记每一页。手写笔记必须扫描或拍照,所有个人解决方案应(如果可能的话)整理成一个PDF,页面在co正确的顺序。您必须将两个文件上传到AEP:您的PDF解决方案和完整的封面。您必须单击“完成评估”以完成提交过程。完成后您将无法再上传任何内容。请确保你所有的手写答案都写得很清楚,最好是用深蓝色或黑色墨水。如果您使用铅笔,请确保它不会太暗而无法通过扫描或照片捕捉到。请在上传前检查您最终提交的文件的可读性。您有责任确保您的作品可以被阅读。您可以在评估期间访问模块材料、注释、资源、参考资料和互联网。2在评估期间,您不应尝试与任何其他候选人交流或寻求其他任何人的帮助来完成您的答案。计算机科学系希望所有参加此次评估的学生的行为符合规定的要求。我asures将运行以检查可能的不当行为。这些将包括使用相似性检测工具以及要求在评估后与选定学生进行现场访谈的权利。开始此评估即表示您宣布自己适合进行评估。您应该通过回答试卷中的问题来合理地尝试评估。请注意:您必须在24小时评估窗口关闭之前完成并上传您的评估。您还有45分钟的时间超出试卷的规定长度以允许用于下载和上传评估、您的文件和技术延迟。有关更多详细信息,您应参阅AEP文档。如果在评估期间出现以下情况,请立即使用AEP寻求建议:?您无法访问在线评估;?您认为您已经允许访问错误的在线评估。请注意,技术支持仅在n上午9点和下午5点(英国夏令时)。上午9点到下午5点(英国夏令时)也将提供监考员支持(通过AEP)。如果您无法完成评估,请尽快通知Dcs.exams@warwick.ac.uk,因为:?您失去互联网连接;?您的设备出现故障;?您身体不适,无法继续;?您受到无法控制的情况的影响(例如火警)。请注意,这仅用于通知目的,并非帮助行。您的评估从下面开始。3SectionA这个问题是关于基础知识的。(a)我们所说的并行粒度是什么意思?按粒度顺序给出四种并行类型,并为每种类型提供一个应用示例。[7](b)讨论超线程和超线程如何减少流水线机制中流水线槽的浪费。[8](c)讨论矩阵乘法等科学应用与在线购物推荐等基于图形的应用之间的差异化。将您的讨论重点放在数据结构、性能指标和影响性能的关键因素上。[12](d)分析清单1中的以下两个“for”循环。描述这两个循环的迭代是否可以由编译器自动并行化,并解释您是如何得出结论的。[8]循环一:for(i=1;i<=n;i++){a[i]=b[i]+c[i];d[i]=a[i];}循环二:for(i=2;i<=n;i++)a[i]=b[i]+a[i-1];清单1:问题1(d)4的两个循环此问题是关于并行编程模型的。(a)Synchronous模式是MPI中的一种通信模式。解释为什么同步模式可能比标准模式产生更高的通信开销。[7](b)假设有两个MPI进程在不同的机器上运行:P0和P1。在p0中,首先调用MPI_Send将消息A发送到p1,然后调用MPI_Recv从p1接收消息B。在p1中,首先调用MPI_Send发送消息B到p0,然后调用MPI_Recv接收m来自p0的文章A。如果消息A和B的大小都超过了MPI管理的系统缓冲区,会发生什么情况?解释为什么。[8](c)所有相关进程同时使用同一组参数执行集体通信操作。但是这些参数对于不同的进程可能具有不同的含义。如有必要,使用说明性示例描述以下两个MPI集体通信调用的操作。此外,讨论这些函数中的参数对不同进程意味着什么。i)MPI_Bcast(void*buf,intcount,MPI_Datatypetype,introot,MPI_CommComm)[6]ii)MPI_Gather(void*sendbuf,intsencnt,MPI_Datatypesendtype,void*recvbuf,intrecvcount,MPI_Datatyperecvtype,introot,MPI_Commcomm)[6](d)MPI_Type_create_indexed_block可用于构造用户自己的数据类型。函数格式如下:MPI_Type_create_indexed_block(intcount,intblocklengths,int*array_of_displacements,MPI_Datatypeoldtype,MPI_Datatype*newtype)让oldtype={(MPI_INT,0),(MPI_CHAR,2)}的范围为3个字节。设D=(2,5,10)。给出调用MPI_Type_create_indexed_block(3,2,D,oldtype,newtype)后newtype的内存布局[8]5这道题是关于高性能计算系统的。(a)讨论两者的区别多核CPU和GPU在架构设计和性能目标方面。[7](b)节点互连的拓扑结构对集群系统的性能起着重要作用。绘制4-D超立方体的拓扑结构。拓扑的节点度和二等分宽度的值是多少?讨论节点度和二分宽度代表网络性能的哪一方面。[8](c)讨论集群系统和网格系统之间的区别。[8](d)存在三种实现并行I/O的潜在方法:1)一个进程为所有其他进程执行I/O操作;2)每个过程s从单独的文件读取数据或将数据写入单独的文件;3)不同进程访问同一个文件的不同部分。讨论每种方法的优点和缺点。现在使用最广泛的并行I/O方法是什么?[12]B节这个问题是关于性能建模的。(a)考虑一个由大小相等的单元格组成的3-D网格。假设网格的体积为V,网格为立方体(即网格在每一维的长度为V1/3)。假设V=c×n,其中c是分配给每个处理器的单元数,n是处理器数。推导1-D、2-D和3-D分解下的表面积比。进一步分析2-D分解在什么情况下优于1-D分解。[12](b)讨论使用渐近分析评估算法性能的缺点。为您列出的每个缺点举一个例子。[8](c)对应用程序的执行时间建模是评估应用程序的性能。讨论如何对应用程序的执行时间建模。讨论应涵盖计算时间和通信时间的建模,并且讨论应围绕用于对执行时间建模的各种参数展开。[10]WX:代码帮助
