C++ Coder

HCP高性能计算架构,实现,编译器指令优化,算法优化, LLVM CLANG OpenCL CUDA OpenACC C++AMP OpenMP MPI

C++博客 首页 新随笔 联系 聚合 管理
  98 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks
http://blog.csdn.net/bendanban/article/details/7662583

1、  什么是HMPP

    HMPPHybrid Multicore Parallel Programming的英文缩写。HMPP提供了一些指令,这些指令致力于将可以并行的程序移植到协处理器(协处理器(co-processor)在HMPP中常被称为硬件加速器(Hardware Accelerator HWA))上执行。目前比较熟悉的加速器是GPU以及MIC

    使用HMPP可以有几个好处:

    ① 程序员可以不关心您的程序是在什么类型的硬件加速器上执行,尽管很多情况下大家都知道自己用的是什么加速器。

    ② 如果你的机器没有加速器或者你的加速器不可用,那么你的程序可以继续以原有的方式执行,这样就保证了程序能继续执行。

    ③ 使用HMPP,你只需要几句指令你的程序就可以移植了,再也不用学习什么CUDAOpenCLCg之类的东西了。给大家减轻了负担。

2、  如何获得HMPP

    需要到CAPS的官方网站去登记(http://www.caps-entreprise.com.cn/download/hmpp-openacc-compiler这个网站将主要用于亚洲用户的下载),然后才可以下载HMPP编译器,目前最新的版本是3.1,这个版本只有支持Linux 64位的版本,支持Windows的版本将在晚些时候发布。新的版本加入对OpenACC1.0标准的全部支持。可以同时使用HMPP以及OpenACC的指令,当然我们需要满足一定的规则。这些规则将会在我后续的文章中逐渐讲到。期待大家的关注奥。

3、如何安装HMPP

    在Windows下安装。只需要你双击软件安装包就可以了。然后根据提示安装就可以了。

    在Linux下安装。各位可以参考http://blog.csdn.net/bendanban/article/details/7769907

4、如何使用HMPP

    因为HMPP不会把语言编译的所有活都干完,他需要你有额外的编译器。所以在windows下你最好有Visual Studio,并且推荐VS2008VS9.0)。Fortran语言的话在Windows下推荐使用Intel FORTRAN Compiler

    下面我用VisualStudio2008来配置编译自己的C程序的整个过程。这里假设各位已经安装好了HMPPVisualStudio2008。下面直接配置吧。

          编译环境的配置过程!

       Step1  在你下载的压缩文件中会有类似这样命名的文件:HMPPWorkbench-*.*.*_WindowsTutorial.zip。把他解压,在解压出的文件夹中(labs/common/)找到一个名为HMPP.rules的文件。把这个文件拷贝到[Visual Studio 安装目录]\VC\VCProjectDefaults\目录下。

       Step2 下面使用VS建立自己的工程。打开VS,如图4-1所示建立一个空的工程。

 

 

图4-1

       Step3 在新工程中添加代码文件。你可以拷贝我下面的代码。:-)

 

#include <stdio.h>
int main(int argc, char **argv)
{
    printf(
"Hello HMPP\n");
    getchar();
    
return 0;
}

 

 Step4 添加自定义生成规则搭建所需环境。如图4-2到图4-6所示。

 

 

图4-2

 

 

图4-3

 

 

图4-4

 

 

图4-5

 

 

图4-6

       走到这一步,各位不要着急去编译自己的程序奥。你要确保自己有权利使用HMPP编译器奥。现在唯一的途径就是去CAPS的官方网站去登记,然后获得试用版的license才行奥。下面假设你已经获得了License文件。讲述如何成功编译第一个Hello HMPP程序。

       编译权限的配置过程! 

Step1 首先将你获得的.lic拷贝到HMPP安装目录下的licensens文件夹下。 

Step2 按照图4-7打开控制台,按照图4-8所示执行命令。千万注意,一定不要在需要使用HMPP编译时关闭你刚刚打开的控制台。 

完成上面这两大部分之后,就可以编译执行第一个HMPP编译出的程序了!!图4-9展示了执行结果。

 

 

 

图4-7

 

 

图4-8

 

 

图4-9

      

参考文献:

[1] HMPPWorkbench-2.5_HMPP_Directives_ReferenceManual[M/OL].


posted on 2012-10-21 11:31 jackdong 阅读(290) 评论(0)  编辑 收藏 引用 所属分类: 编译器

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理