
OpenACC
文章平均质量分 57
aban-mtd
真诚、负责、踏实
展开
-
CAPS发布了完全支持OpenACC的编译器了!
CAPS发布了自己的HMPP编译器3.1版本,全部支持OpenACC特性。大家来围观把。。 下面是官方的中文网站。 http://www.caps-entreprise.com.cn/many-core/product-hmpp-v3-1.html原创 2012-06-07 09:49:17 · 2379 阅读 · 0 评论 -
OpenACC与OpenHMPP的一点区别
1,OpenHMPP和OpenACC是由两个不同的组织发起的。 2,OpenHMPP比OpenACC发展的要成熟。 3,OpenHMPP可以支持多个加速设备,而OpenACC没有这样的指导语句来支持这一点 4,OpenHMPP可以通过某些指导语句来使用想cuFFT一样的库 5,OpenHMPP可以使用更多的硬件细节,例如共享存储器等 目前除了CAPS的编译器之外,没有其它厂商提供原创 2013-02-27 19:07:54 · 6782 阅读 · 6 评论 -
详细的讲述如何试用OpenACC和OpenHMPP编译器(Linux下)
本文讲述如何申请试用CAPS的OpenACC或OpenHMPP编译器。 1.1. 下载软件 软件下载地址是:http://www.caps-entreprise.com.cn/download/hmpp-openacc-compiler 。 1.2. 安装软件 将下载的压缩包解压后,找到相应的软件安装包,双击安装。 注:解压缩的命令为 [user@server]原创 2013-03-08 19:04:38 · 4909 阅读 · 0 评论 -
GPU计算或者异构计算编程方式与参考资料
很多朋友想学习GPU计算,大家会有如下几个关心的问题: 我使用什么编程方式来做GPU计算,或者使用什么编程方式书写在GPU上运行的多线程函数? 下面我针对这个问题给出一些大家可以参考的相关信息。 目前比较成熟的可以实现GPU计算的编程方式有:CUDA,OpenCL,OpenACC,OpenHMPP。我们一一叙述。 CUDA CUDA是NVIDIA公司推出的一种GPU计算的原创 2012-11-27 14:05:43 · 4150 阅读 · 3 评论 -
再论指导语句(制导语句/directive)
这些感念看似简单,但如若深究其根本定义,也是颇有难度的。这里我把我个人的理解写出来,以求能对大家有所帮助,未尽之处,期待您的批评指正。 到底什么是指导语句? 指导语句是指添加到源代码中的、遵循某些特定规则的一段代码语句。 那什么是源代码呢? 源代码是指由人或机器完成的、遵循某种语言规范的、一段原始代码。 那这些特定规则是指什么呢? 这些规则主要包含两部分,一部分用来约束指导语句的形式,原创 2012-11-29 14:01:49 · 1555 阅读 · 0 评论 -
什么是指导语句/制导语句/directive
很多人可能还没有接触过基于指导语句的编程方式,所以对指导语句比较陌生,所以我在这里试着跟大家解释指导语句。 0、基本概念 什么是编译:编译是指将源代码处理成可以被计算机识别执行的代码的过程。 编译器:编译器是指执行编译过程的软件。 链接:将多个二进制代码合并成一个独立的可执行文件的过程。 链接器:执行链接过程的软件。 作用域:某个主体所能控制的有效代码范围。 1、指导语句的形原创 2012-11-12 09:11:31 · 3118 阅读 · 0 评论 -
基于指令的移植方式的几个重要概念的理解(OpenHMPP, OpenACC)
引言: 什么是基于指令的移植方式呢?首先我这里说的移植可以理解为把原先在CPU上跑的程序放到像GPU一样的协处理器上跑的这个过程。在英文里可以叫Porting。移植有两种方式:一种是使用CUDA或者OpenCL来重新设计代码,然后使用硬件厂商提供的编译器来编译;一种是使用OpenACC或者OpenHMPP提供的指令集添加到你想使用GPU计算的源代码中的某个位置,让编译器来编译出GPU上执原创 2012-09-12 18:01:09 · 3426 阅读 · 1 评论 -
一步步做程序优化【3】OpenHMPP指令(更加灵活的使用异构计算)
1、简介下HMPP HMPP指的是(Hybrid Multicore Parallel Programming),他是由CAPS(http://www.caps-entreprise.com(英文);www.caps-entreprise.com.cn(中文)) 发起的一种异构计算的标准,他的出现可以大大减少我们的程序优化时间。大家可以参考我之前的几篇讲解HMPP的文章去获得HMPP的试用原创 2012-07-30 14:28:04 · 3066 阅读 · 0 评论 -
一步步做程序优化【2】OpenACC指令
这个写了很长时间了,但是一直没有顾上额。把这个版本稍微修改一下,只需要加上一个指令,我们就可以得到不错的效率奥。 看代码吧: // C = alpha*A*B + beta*C void mySgemm(int m, int n, int k, float alpha, float beta,\ float *A, float *B, float *C) { int i, j,原创 2012-07-20 14:22:36 · 4787 阅读 · 0 评论 -
一步步做程序优化【1】讲一个用于优化的程序
很经典的例子,矩阵的乘法。呵呵。。。 分析下A,B,C为三个矩阵,A为m*n维,B为n*k维,C为m*k维,用A和B来计算C,计算方法是:C = alpha*A*B + beta*C。它的程序如下: // C = alpha*A*B + beta*C void mySgemm(int m, int n, int k, float alpha, float beta,\ float *A原创 2012-06-18 21:57:46 · 2880 阅读 · 1 评论 -
对协处理器的一点思考
斗胆假设看这篇文章的人知道GPU和MIC可以作为协处理器来使用,而且了解CUDA,OpenCL。 其实我写这篇文章就是写点担忧的,并且给出点想法。 现在我们经常听说的协处理器也就是GPU和MIC,个人认为之所以叫做协处理器,是因为它们与CPU是分开的,与CPU使用相互独立的存储器,协处理器一般不能操作CPU的内存,CPU可以通过一些API函数来操作协处理器的内存。要想使用协处理原创 2012-06-11 09:38:19 · 3960 阅读 · 2 评论