欢迎来到天天文库
浏览记录
ID:37860435
大小:108.50 KB
页数:13页
时间:2019-06-01
《MIC编程指南初级教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MIC编程(1)——MIC是什么?美国SC12大会上,英特尔正式发布了至强融核XeonPhi,采用MIC(IntelManyIntegeratedCore)架构,用于高性能并行计算。MIC基于X86架构,支持多种并行模型,OpenMP、pThread、OpenCL、MPI等并行编程语言,采用C、C++和Fortran三种语言进行软件移植开发,特点以编程简单(引语方式)著称,工具链丰富。MIC基于X86架构,是众核协处理器,MIC为XeonPhi产品的架构总称,XeonPhi的第一代产品的架构代号为“Knight
2、sCorner”。KnightsCorner采用Intel2012开始使用的3D“三门”晶体管技术,使用22nm工艺制造,MIC卡含有50个以上的核,每个核可以支持4个线程,双精性能超过1TFlops,含有512bit的向量宽度,支持8个双通道GDDR内存控制器,内存大小为6GB或8GB。MIC卡图解MIC卡通过PCI-E连接到主板上,通过一个8PIN和一个6PIN电源线供电,功耗在225-300W。MIC编程(2)——MIC主要参数MIC卡上每个核可以执行不同的指令,每个核最多支持4个硬件线程,用来隐藏存储访
3、问延迟。MIC卡与主机端通过PCI-E连接,支持PCI-Ex8或x16线宽配置。每个MIC卡可以设置独立的IP,可以把每个MIC卡当作独立的节点。MIC卡拥有512bit的向量位宽,可以同时处理16个32-bit浮点/整形元素或8个64-bit浮点/整形元素的计算。MIC卡包含32KBL1指令cache和32KBL1数据cache,同时,每个核拥有全局可见的L2cache,大小为512KB。MIC的另一个重要的特点是卡上有一个微操作系统(uos),uos使得MIC卡具有下面的两个功能:1) MIC卡
4、可以完整的之行程序,而不需要CPU发起主函数,即只需要把程序传递到MIC卡上,uos可以使程序完整运行。2) MIC卡包括众多的核,程序运行时可能有些核没有被用到,这时uos就可以通过关闭空闲的核减少功耗。MIC编程(3)——MIC峰值性能计算方法SE10P:1.单精度峰值性能: 32SPFLOPs/clock/core*61cores*1.1GHz=2147.2GFLOP/s2. 双精度峰值性能: 16DPFLOPs/clock/core*61cores*1.1GHz=1073.6GFLOP/s3
5、.内存带宽: 4Bytes/channel*16mem.channels*5.5GT/s=352GB/s5110P:1.单精度峰值性能: 32SPFLOPs/clock/core*60cores*1.053GHz=2021.76GFLOP/s2. 双精度峰值性能: 16DPFLOPs/clock/core*60cores*1.053GHz=1010.88GFLOP/s3.内存带宽: 4Bytes/channel*16mem.channels*5.0GT/s=352GB/s注:32SPFLOPs/clock/co
6、re=512/32*2,是指512bits向量化和FMA指令,双精度类似。MIC编程(4)——MIC灵活高效的编程方式MIC是基于X86架构的众核处理器,CPU多核上的并行编程模型在MIC上都支持,同时MIC卡上运行一个uos,因此,MIC与CPU多核之间的编程很灵活,既可以CPU端启动主函数,也可以MIC端启动主函数,甚至可以CPU和MIC端同时各自发起主函数。CPU多核和MIC协同编程模式如下图所示,CPU多核和MIC协同计算有以下几种模式:1) Multi-CoreHosted:程序并行度较低
7、,只在CPU多核上运行;2) Offload:加载模式,CPU端发起主函数,通过offload模式调用kernel到MIC上执行(类似于GPU的kernel执行模型);3) Symmetric:对等模式,即CPU多核和MIC各自发起主函数,采用-mmic编译选项区别MIC端可执行程序和CPU端可执行程序;4) ReverseOffload:逆转加载模式,与offload模式相反,由MIC端发起主函数;5) Many-CoreHosted:native模式,利用-m
8、mic编译选项编译成MIC端可执行程序,程序只在MIC上执行。MIC编程(5)——MIC驱动MPSS安装1MIC对硬件的要求1) 主板目前,并不是所有的主板都支持MIC环境,有些主板升级BOIS后可以支持MIC环境。MIC需要在主板BOIS中启用大型基本地址寄存器(BAR)支持,MMIO大于4GB的寻址。默认情况下,大多数平台BIOS实施将其设为禁用,因此必须在平台BIO
此文档下载收益归作者所有