引导自动并行化

Application Analysis for Intel® MIC Architecture Suitability

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

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

引导自动并行化 (GAP)

面向 Linux 的英特尔® Composer XE 套件包含引导自动并行化 (GAP) 工具。该工具支持 Fortran C/C++旨在帮助编程人员实现矢量化和并行化。该工具为编译器提供的 -vec-report 选项提供了重要补充。GAP 试图以更易于编程人员理解的方式阐释矢量化或并行化障碍。

截止到 2012 9 GAP 工具只支持主机上面向 Linux 的英特尔 Composer XE 2013 编译器不支持本地 MIC 编译器使用 -mmic 。目的是在主机平台上使用这款工具。然而,给出的建议同样适用于 MIC 编译器的矢量化和并行化。利用主机编译器在您的源文件上使用 GAP,使用任何建议,并在主机上验证这些变化。不论面向 MIC 或是面向主机进行编译,这些改变都能提升应用性能。

概述

GAP 是英特尔® 编译器的一项功能。该工具/功能通过编译器选项家族 -guide (-guide -guide-vec -guide-par -guide-data-trans) 进行调用。当使用这些选项的时候,编译器不编译您的代码。相反,它面向矢量化指南( -guide-vec 选项)、并行化指南 ( -guide-par ) 或二者 ( -guide ) 分析您的代码。同时,GAP 可以针对如何对您的数据结构进行重新排序提出建议,以获得最佳数据存取和性能 ( -guide-data-trans )

GAP -vec-report -opt-report 的不同之处在于,它旨在帮您克服矢量化或并行化障碍。GAP 针对没有实现矢量化或并行化(通过 -parallel -openmp)的循环嵌套分析您的代码,并提供如何突破障碍方面的建议,以优化该特定循环嵌套。它提供三类指南:

1.     编译器选项或指令,帮助编译器实现矢量化或并行化

2.     有助于编译器的代码转换或更改。请注意 GAP 本身不能更改编码,而是由编程人员进行更改。

3.     能够消除优化障碍的编译器选项。

使用 GAP

如欲了解 GAP 的大致信息,请参阅GAP – 引导自动并行化

您准备好深入探究了吗?英特尔编译器提供 GAP 教程和示例。教程和示例支持 Fortran C/C++。您的产品文档与编译器安装在相同的根路径下。默认情况下,位于目录 /opt/intel/composerxe/Documentation/en_US。在该目录下,找到您的编译器(Fortran C++)的《入门》文档:

·         Fortran http://opt/intel/composerxe/Documentation/en_US/get_started_lf.htm - tutor<path to docs>/get_started_lf.htm#tutor

·         C/C++ http://opt/intel/composerxe/Documentation/en_US/get_started_lc.htm - tutor<path to docs>/get_started_lc.htm#tutor

编译器产品用户和参考指南还包含关于使用 GAP 的文档。使用上述路径和链接,打开《入门》文档。请在此处找到《用户和参考指南》文档。打开该文档。请在内容导航中,转至主要特性”_->“引导自动并行化_

同时,也可在线查看编译器文档。请访问http://software.intel.com

要点

引导自动化 (GAP) 是由英特尔Fortran C++ 编译器提供的一款工具。它为用户提供相关指南,以消除代码中循环嵌套矢量化和/或并行化的障碍。指南包括

1.     有助于编译器实现矢量化或并行化的编译器选项或指令

2.     有助于编译器的代码转换或更改。请注意 GAP 本身不能更改编码,而是由编程人员进行更改。

3.     能够消除优化障碍的编译器选项。

下一步

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

返回矢量化要素

 

AllegatoDimensione
Download gap.pdf4.82 MB
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione