- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 异构加速部件的并行编程 刘 轶 北京航空航天大学 计算机学院 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协处理器编程简介 四、基本语法 数据传输关键字:语法规则 传输关键字后跟( ),括号内为一个或多个变量名,之间逗号隔开 变量名应为数组、指针或普通变量 变量为数组或指向数组的指针时,可指定起始下标和长度 变量为指针时,只能指向非指针变量,且
您可能关注的文档
- 机组循环水T型吊装区域回填砼施工的方案.doc
- 第十章 方差分析和正交试验设计.doc
- 静设备施工技术的方案C.doc
- 驾驶行为智能分析的研究和发展_李力_王飞跃_郑南宁_张毅.pdf
- 概念性的规划设计资格预审文件.doc
- 日本国驻华大使馆利民工程无偿援助项目申请书2011资料.pdf
- 2016年度一级建造师建设工程经济模拟题六.doc
- 视频会议的方案最好.doc
- 第5讲建筑防雷接地工程.ppt
- 淄博消防招标文件最终定稿详解.doc
- 人美版(2024)小学美术一年级上册《介绍我自己》教学设计.docx
- 鲁科版(五四学制)(2024)初中生物六年级上册《生物的共同特征》教学设计及反思(共2课时).docx
- 川教版(2024)小学信息技术三年级上册《感受丰富在线生活》教学设计.docx
- 冀教版(2024)小学数学一年级上册《数的认识》教学设计及反思(共2课时).docx
- 沪教版(2024)小学数学一年级上册《10以内的数:10的认识》教学设计及反思.docx
- 冀少版(2024)初中生物七年级上册《细胞的结构》教学设计及反思.docx
- 冀教版(2024)小学数学一年级上册《9加几》教学设计及反思.docx
- 统编版初中语文九年级下册《诗词曲五首之过零丁洋》.pptx
- 统编版初中语文八年级上册《记承天寺夜游》 .pptx
- 第十八章平行四边形单元复习专题中点四边形--2024-2025学年人教版初中数学八年级下册.pptx
文档评论(0)