为英特尔® 集成众核架构做好准备

面向英特尔® MIC 架构的编译器方法

为英特尔® 集成众核架构做好准备

英特尔® 集成众核架构(英特尔® MIC 架构)提供的产品家族已针对高度并行化应用或应用内的高度并行化内核进行了优化。英特尔® 至强融核协处理器便是其中一款产品。

概述

英特尔® Composer XE 2013 开发套件提供英特尔® C/C++ Fortran 编译器以及英特尔® 性能库,以帮助开发人员构建用于英特尔® MIC 架构产品家族的应用和库。本指南旨在补充随英特尔® Composer XE 编译器包分发的编译器文档,包含针对英特尔® 至强融核协处理器的建议和技术,帮助用户将适当的应用从英特尔® 至强架构移植到英特尔® 至强融核协处理器上,并提供必要的深入调谐技术,以在英特尔® 至强融核协处理器上实现最佳应用性能。本指南只介绍了编译器优化概念,不包括所有面向英特尔® MIC 架构的优化主题。具体而言,本指南并不包含所有环境设置、数据移动概念和注意事项以及运行时配置或设置。

要在英特尔® 至强融核协处理器上成功调试您的应用,请务必通读此指南,并点击文中的超链接查看相关内容。本指南提供了实现最佳应用性能所要执行的步骤。

目标

本章介绍了在英特尔® 至强TM 架构和英特尔® 集成众核架构(英特尔® MIC 架构)上实现最佳应用性能所做的准备工作。具体而言,本章讨论了算法和编码技术方面的问题。本章重点介绍了需要考虑的应用的几个重要方面。

·         初步信息:查找文档和您的支持社区以及基本开发环境要求

·         面向英特尔® MIC 架构进行应用的适用性分析

·         对用户源代码更改进行预测

·         内存访问和循环转换(缓存模块化、循环展开)

·         数据结构转换(从 AoS 转换到 SoA, 指针跟踪)

·         大型页面优化

主题

初步信息查找文档和支持

要想获得成功,您需要编译器和工具方面的文档和支持。请将下列资源设为书签或保存在方便的位置,以供参考。或者您可能希望将本文档设为书签,以供未来参考。

·         版本说明:请务必阅读本篇包含所有编译器版本的文档 MIC 支持的编译器在不断演变,因此在整理正式文档之前,本文档捕获了一些关键、实时的信息。您可从英特尔注册中心 (IRC  https://registrationcenter.intel.com) Premier (http://premier.intel.com) 上下载该版本说明。同时,<install dir>/composersxe/Documentation/en_US/ 的编译器包中也安装了该版本说明,其文件名为Release_Notes_F_2013_L_EN.pdf (Fortran) Release_Notes_C_2013_L_EN.pdf (C/C++)。默认情况下,<install path> /opt/intel

·         产品文档:  本编译器文档安装在 <install path>/composerxe/Documentation/en_US/ 目录下,同时也支持在线访问C++ 文档Fortran 文档。您应该从入门指南部分开始,这里有关于环境设置和编译器使用的一些基本入门信息,以及教程、示例和文档的超链接。您可以将这些页面设为书签,以方便参考。

·         在线社区:  借助 MIC 开发人员门户,可访问文档、wiks、最新新闻和用户论坛。  将该页面设置为书签,
它是提供所有 MIC 在线支持的主要门户。花几分钟时间浏览该门户并熟悉这些可用的资源,以帮助您在 MIC 上开展工作。

·         通用支持:  MIC 开发人员门户 (http://software.intel.com/mic-developer) 提供丰富的支持资源。
如果您在产品文档、版本说明或 MIC 开发人员门户上无法获得有用信息,您可以通过其它渠道获得支持。对于具体的 MIC 问题,比如我如何做……”问题,安装或许可问题,入门建议,MIC 编程技巧或建议,或优化技巧,请访问英特尔(R) 集成众核架构用户论坛

如欲获得关于非 MIC 英特尔工具和技术的具体建议,请访问英特尔软件网络论坛。英特尔编译器团队为我们的编译器用户提供了两个论坛:英特尔 C/C++ 用户论坛面向 linux/Mac 操作系统的英特尔Fortran用户论坛。

·         支持错误报告:  “错误是指编译器在编译过程中崩溃的现象,或由于编译器的原因导致了错误行为或结果。性能未达到预期的现象通常情况下不能称为错误。数值差异也很少是编译器错误。请确保您在 Premier 上创建错误报告之前,测试案例清楚地显示确实存在编译问题。

如欲报告编译器错误问题,您可以使用上述适当的开发人员论坛。如果您有 Premier 账户,也可以在 Premier 上报告错误。因为开发人员可以在用户论坛上看到所有错误报告,而且为用户推荐英特尔或社区提供的解决方案,因此建议您最好使用用户论坛。如果您希望只有您和英特尔支持工程师能看到您的问题,Premier 便是最佳选择(虽然论坛也支持您或英特尔将问题标为保密,从而只有用户和英特尔才能看见保密问题)。Premier 中的入门问题或我如何做的问题将会返回到相应的用户论坛、wiki 或在线文档。Premier 只用于报告错误,且面向需要隐私的用户。

·         编译器、调试器和库下载:  如欲访问包含面向英特尔® 至强TM 架构和英特尔® 至强TM 融核架构的编译器、调试器和库的最新英特尔 Composer XE 包,请登录英特尔注册中心 (IRC)。英特尔开发人员工具的许可用户可获得英特尔(R) 至强融核 (TM) 平台软件堆栈 (MPSS),包含 IRC 上的英特尔编译器。如果您没有许可版本的英特尔编译器或 Studio XE 产品,您可以点击此处获得 MPSS

初步工作在至强上构建并运行英特尔编译器 13.0 或更高版本

英特尔 Composer XE 2013 (或更高版本) 产品家族封装的编译器和库为英特尔® 至强融核协处理器提供支持。其中包括英特尔 C/C++ Fortran 编译器和运行时库 13.x (或更高)版本。 
英特尔 Composer XE 2011 SP1 (或更早版本)中的 12.1 或更低编译器版本不支持英特尔 MIC 架构。因此,第一步是获取支持的 Composer XE 包,并按照在线快速入门开发人员指南和您的编译器和工具版本说明文档中规定的创建开发环境。修改您的 makefilecmake,或适当地构建脚本。在该英特尔 C/C++ Fortran 编译器版本上构建并运行应用,并对结果进行验证。

初步工作配置您的开发主机

按照快速入门开发人员指南配置适当的开发平台。如果您在配置主机开发平台方面有任何疑问,请参考 MIC 开发人员社区论坛。您应该在至强主机上运行几次简单的 'hello world' 程序以确认编译器的正确安装。请确保您在安装之前执行 'source <install dir>/bin/compilervars.sh intel64' 'source <install dir>/bin/compilervars.csh intel64' 命令,或将该源语句添加到启动 ~/.bashrc 文件中。

下一步

要在英特尔® 至强融核架构上成功调试您的应用,请务必通读此指南,并点击文中的超链接查看相关内容。本指南提供了在英特尔® 至强融核协处理器上实现最佳应用性能所要执行的步骤。

1.     面向英特尔® MIC 架构进行应用的适用性分析, 描述了如何分析应用,以及在英特尔® 至强和英特尔® 至强融核协处理器上实现最佳性能的方法。

2.    对用户源代码更改的预期展示了一些已被证实可以实现最佳性能的用户级优化。这些先进的技术并不是必不可少的,只是也许可以提升应用性能的一些办法。这些主题是可选的,但是希望尽可能提升应用性能的人应牢记这一点。下列主题指出了英特尔® 64 架构和英特尔® MIC 架构的 ABI 差异。

a.     内存访问和循环转换(缓存模块化、循环展开)

b.    数据结构转换(从 AoS SoA

c.     大型页面考虑因素PDF 文档)

d.    数据访问的元素智能对齐要求

讯息

本章将为您提供丰富的应用开发环境配置和使用资源、文档和支持资源以及当您准备向众核领域迁移并对应用进行检查时需要考虑的问题。

·         现在,您应该已探索并加入了 https://mic-dev.intel.com 上面向所有 2012 试用版测试计划用户的在线开发社区——即将推出公共链接!(确保您已将该网页设为标签!)。您应该知道编译器文档的位置。此外,您需要经常查看您的编译器版本说明,在每次更新时获得最新、实时的消息。您也需要将 MIC 开发人员社区论坛 设为标签,以应对遇到的所遇问题,获得建议并报告错误。

·         请验证并确保您的应用在最新英特尔® Composer XE 2013 (或更高版本)编译器上成功的构建和运行。只有英特尔的新版编译器包为英特尔® MIC 架构提供支持。

·         您需要面向英特尔® MIC 架构配置开发主机平台环境。

·         在继续之前,您要了解应用适合向英特尔® MIC 架构(如英特尔® 至强融核TM 迁移所具备的特性。如果应用不适合迁移,您要知道使其适合迁移所需的必要步骤,或为什么应用能够在特定架构(如英特尔® 至强TM 架构)上实现最大性能的原因。

·         本章也包含能够优化性能的不同用户源代码技术。致力于实现最大应用性能的用户可以使用这些可选技术。

下一步

全新用户编译器基本用法章节为用户介绍了编译器选项和用法。

Reportez-vous à notre Notice d'optimisation pour plus d'informations sur les choix et l'optimisation des performances dans les produits logiciels Intel.