- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
并行程序设计Chpter-6
第六章 异构加速部件的并行编程 刘 轶 北京航空航天大学 计算机学院 6.1 Intel MIC协处理器编程简介MIC--Many Integrated Core商品名:Intel Xeon Phi 6.1 Intel MIC协处理器编程简介 一、Intel MIC硬件架构 第一代MIC: Knights Corner 60核,支持240个并行线程 共享内存,核间cache一致性 单处理器性能达1TeraFlops双精度浮点 第一代MIC核的特性 基于Pentium架构,做了改进(64位,SIMD支持) 32KB L1 cache, 512KB L2 cache(核内) 支持512bit向量,传统的SSE 128bit,AVX 256bit 支持4个超线程,普通Xeon处理器是2个超线程 主频1.053GHz 为Host system + Coprocessor卡形式 8GB内存,320GB/s访存带宽 Linux系统,IP addressable 功耗225W Host上运行完整的Linux系统 Xeon Phi上运行一个嵌入式Linux,以及与host通信的驱动 新一代MIC: Knights Landing 72核 单精度浮点性能:6TeraFlops,双精度浮点性能:3TeraFlops 可独立工作 二、软件及编程语言 可为其配置IP地址 在host系统上可ssh到其上 编程语言与接口基本与Intel Xeon处理器一致 编程语言 C/C++、Fortran等 编程接口 OpenMP Cilk TBB pthreads … 在ssh窗口中,显示/proc/cpuinfo文件 三、Intel MIC的几种计算模型 最常用 Offload模式 Symmetric模式 Native模式 6.1 Intel MIC协处理器编程简介 四、基本语法 最基本的关键字:offload #pragma offload 紧跟该命令之后的代码块(单条语句或{…})将在MIC上执行 offload只起到将代码移至MIC执行的作用,要使用多核并行执行,需配合使用OpenMP等并行编程接口/语言 main() { int i; float arr[LEN]; #pragma offload target(mic) for ( i = 0; i LEN; i++ ) arr[i] = i * 3.0f / 2.0f; } main() { int i; float arr[LEN]; #pragma offload target(mic) #pragma omp parallel for for ( i = 0; i LEN; i++ ) arr[i] = i * 3.0f / 2.0f; } 在MIC的一个核上执行for循环 使用OpenMP生成多线程,在MIC的多个核上并行执行for循环 6.1 Intel MIC协处理器编程简介 四、基本语法 数据传输关键字 in: 在设备端开辟空间,将主机端数据复制到设备端 out: 在设备端开辟空间,设备端代码执行结束后,将数据复制到主机端 inout: 在设备端开辟空间,执行设备端代码时,将数据复制到设备端,设备端代码执行完毕后,将数据复制到主机端 nocopy: 仅建立空间,不复制数据 main() { int i; float arr[LEN]; #pragma offload target(mic) for ( i = 0; i LEN; i++ ) arr[i] = i * 3.0f / 2.0f; } main() { int i; float arr[LEN]; #pragma offload target(mic) out(attr) for ( i = 0; i LEN; i++ ) arr[i] = i * 3.0f / 2.0f; } 在MIC计算出数组attr,需要将结果输出到主机端 MIC协处理卡上有独立内存,不与主机端共享内存,因此需进行[主机?MIC]和[MIC?主机]间的数据传输 注:非数组变量可不显式地传输,自动被认为是inout 6.1 Intel MIC协处理器编程简介 四、基本语法 数据传输关键字:语法规则 传输关键字后跟( ),括号内为一个或多个变量名,之间逗号隔开 变量名应为数组、指针或普通变量 变量为数组或指向数组的指针时,可指定起始下标和长度 变量为指针时,只能指向非指针变量,且
您可能关注的文档
- 城市设计面临十字口_王建国.pdf
- 城镇土地国有制条下我国房地产保有环节的税制建设.pdf
- 大地外贮压(备)七氟丙烷灭火系统及部件通用技术条件.docx
- 大型综合集团KP业绩考评体系.ppt
- 大多数缺铁的人并知道他们缺铁.ppt
- 大学实习生,实习你理想的开始.pdf
- 大学生助人为乐品调查报告.doc
- 大学生心理健康教练习题及答案.doc
- 大学生见义勇为反一辩陈辞.doc
- 大富科技:关于公首次公开发行股票并在创业板上市的补充法律意见书(二) 2010-09-27.pdf
- 高中数学教学中创新问题设计与学生能力提升研究教学研究课题报告.docx
- 天津宝坻区2025届高三九校联考生物试题(解析版).docx
- 财务管理中内部控制策略的建立及其效用表现探讨.docx
- 浅谈新能源汽车火灾事故原因分析及扑救措施.docx
- 2025年秋统编版语文3年级上册全册教学课件(课标版).pptx
- 高中英语课堂中跨文化交际能力培养的策略与实践研究教学研究课题报告.docx
- 小学科学教育校园景观科学探究活动评价方法与实施研究教学研究课题报告.docx
- 天津市2024-2025学年高一下学期3月月考(模拟卷)生物试题(解析版).docx
- 学校节水举措成效展示与未来发展方向.docx
- 1 高校艺术教育在校园文化传承与创新中的互动机制研究教学研究课题报告.docx
文档评论(0)