使用PGI Accelerator™编译器,程序员可以通过将OpenACC编译器指令添加到现有的高级标准兼容Fortran,C和C ++程序,然后使用适当的编译器选项重新编译来加速CPU +加速器平台上的应用程序。到目前为止,针对HPC加速器的开发人员不得不依赖语言扩展程序。CPU +加速器程序员需要在详细级别进行编程,包括需要理解和指定数据使用信息,并手动构建调用序列以管理CPU主机和加速器之间的所有数据移动。
OpenACC的
PGI加速器编译器自动分析整个程序结构和数据,按照标准的一组用户指令分配主机CPU和加速器设备之间的应用程序部分,并定义并生成优化的循环映射以自动使用并行核心,硬件线程功能和现代加速器的SIMD矢量功能。除了指定要加速的代码或函数区域的指令和编译指示之外,其他指令还为程序员提供了对循环映射,内存分配和加速器内存层次结构优化的细粒度控制。PGI Accelerator编译器生成统一的目标文件和可执行文件,管理所有数据移入和移出加速器,同时利用所有现有的主机端实用程序 - 链接器,
PGI Accelerator的功能和特性:
完全支持x64 + GPU上的PGI加速器编程模型
完全支持64位AMD64和Intel 64多核
Intel 64和AMD Opteron优化器包括SSE4.2 / AVX,SSE4a / ABM
在64位,32位系统以及在Linux,Mac OS X和Windows上运行的基于AMD和Intel的系统,开发环境是完全一致的。
完全支持Fortran 2003,ANSI C99和OpenMP
支持在Linux中创建共享对象,在Mac OS和Windows DLL上创建动态库。
1. Install PGI to /opt/pgi
2. Run file "run_to_patch.sh" to patch for your architecture
( /x86_linux/ directory for x86 or /x86_64_linux/ for x86_64 )
as superuser (sudo or su session).
Alternatively, You can temporarily change
permission for directory /opt/pgi and
run patch ordinarily.
License file should be copied automatically.
3. Set environment variables:
-------------------------------------------------
32bit systems
-------------------------------------------------
#################################################
#- bash/sh/ksh -
#################################################
bash/ksh console you have to add in file ~/.bashrc
PGI=/opt/pgi
export PGI
PATH=/opt/pgi/linux86/13.3/bin:$PATH
export PATH
MANPATH=$MANPATH:/opt/pgi/linux86/13.3/man
export MANPATH
#################################################
#- csh/tcsh -
#################################################
csh/tcsh console you have to add in file ~/.cshrc
setenv PGI /opt/pgi
set path=(/opt/pgi/linux86/13.3/bin $path)
setenv MANPATH "$MANPATH":/opt/pgi/linux86/13.3/man
------------------------------------------------
64bit systems
------------------------------------------------
#################################################
#- bash/sh/ksh -
#################################################
bash/ksh console you have to add in file ~/.bashrc
PGI=/opt/pgi
export PGI
PATH=/opt/pgi/linux86-64/13.3/bin:$PATH
export PATH
MANPATH=$MANPATH:/opt/pgi/linux86-64/13.3/man
export MANPATH
#################################################
#- csh/tcsh -
#################################################
csh/tcsh console you have to add in file ~/.cshrc
setenv PGI /opt/pgi
set path=(/opt/pgi/linux86-64/13.3/bin $path)
setenv MANPATH "$MANPATH":/opt/pgi/linux86-64/13.3/man