随笔分类 -  OpenACC

摘要:Ubuntu下的makefile: 1 # /******************************************************************************************** 2 # * File: Makefile 3 # * ... 阅读全文
posted @ 2015-03-25 15:15 青竹居士 阅读(233) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2015-03-25 11:33 青竹居士 阅读(2) 评论(0) 推荐(0)
摘要:安装gcc、g++sudo apt-get install make gcc g++查看g++版本g++--version 阅读全文
posted @ 2015-03-25 10:04 青竹居士 阅读(219) 评论(0) 推荐(0)
摘要:Getting aCC Error:name followed by "::" must be a class or namespace name"原始是这样子的:Using namespace stdext::hash_map;修改如下:Using namespace std; 阅读全文
posted @ 2015-03-23 17:00 青竹居士 阅读(2400) 评论(0) 推荐(0)
摘要:getnumdevices.c代码 1 /* 文件名: getnumdevices.c 2 * 功能 : 测试函数acc_get_num_devices(.) 3 */ 4 #include 5 #include "openacc.h" 6 int main() 7 { 8 int num = -8... 阅读全文
posted @ 2015-03-23 15:28 青竹居士 阅读(416) 评论(0) 推荐(0)
摘要:格式C 或 C++:int acc_get_num_devices( acc_device_t );描述例程 acc_get_num_devices 返回主机上指定类型的加速器设备数量。输入参数说明对哪种类型的设备计数。 1 /* 文件名: getnumdevices.c 2 * 功能 : 测试函数... 阅读全文
posted @ 2015-03-23 15:17 青竹居士 阅读(591) 评论(0) 推荐(0)
摘要:对 C 和 C++,本章讲述的运行时库例程的原型保存在一个名为 openacc.h 的头文件中。所有的库例程都是用“ C”连接的 extern 函数。这个文件中定义1: 本章中所有例程的原型。 这些原型中使用的所有数据类型,包括一个描述加速器类型的枚举类型。 acc_async_noval 和... 阅读全文
posted @ 2015-03-23 15:09 青竹居士 阅读(407) 评论(0) 推荐(0)
摘要:timeinfo1.c代码 1 #include 2 #define N 100 3 int main() 4 { 5 int A[N]; 6 #pragma acc kernels 7 { 8 for(int i=0; i 2 #define N 100 3... 阅读全文
posted @ 2015-03-23 14:13 青竹居士 阅读(1435) 评论(0) 推荐(0)
摘要:1 #include 2 #include 3 #include 4 5 int main( int argc, char* argv[] ) 6 { 7 int n; /* size of the vector */ 8 float *restrict a; ... 阅读全文
posted @ 2015-03-23 11:25 青竹居士 阅读(608) 评论(0) 推荐(0)
摘要:在西雅图超级计算大会(SC11)上发布了新的基于指令的加速器并行编程标准,既OpenACC。这个开发标准的目的是让更多的编程人员可以用到GPU计算,同时计算结果可以跨加速器使用,甚至能用在多核CPU上。出于显而易见的原因,NVIDIA在大力推广和支持OpenACC。但事实上PGI和Cray才是最早推... 阅读全文
posted @ 2015-03-22 15:28 青竹居士 阅读(4297) 评论(0) 推荐(0)
摘要:引言:什么是基于指令的移植方式呢?首先我这里说的移植可以理解为把原先在CPU上跑的程序放到像GPU一样的协处理器上跑的这个过程。在英文里可以叫Porting。移植有两种方式:一种是使用CUDA或者OpenCL来重新设计代码,然后使用硬件厂商提供的编译器来编译;一种是使用OpenACC或者OpenHM... 阅读全文
posted @ 2015-03-22 15:20 青竹居士 阅读(876) 评论(0) 推荐(0)
摘要:一步步做程序优化【1】讲一个用于OpenACC优化的程序分析下A,B,C为三个矩阵,A为m*n维,B为n*k维,C为m*k维,用A和B来计算C,计算方法是:C = alpha*A*B + beta*C。它的程序如下: 1 // C = alpha*A*B + beta*C 2 void mySgem... 阅读全文
posted @ 2015-03-22 15:12 青竹居士 阅读(933) 评论(0) 推荐(0)
摘要:-acc 在编译器里启动OpenACC指令-Minfo 指令就是从编译器上获得信息-Mfcon 告诉编译器将浮点指针常量默认为通常的浮点来处理-Minline有函数调用话声明为内联函数-fast对程序就行优化,最快捷的选项-Mbounds 打印界外数组访问的错误消息-Minline 内联函数-Mip... 阅读全文
posted @ 2015-03-21 21:31 青竹居士 阅读(797) 评论(0) 推荐(0)
摘要:NVIDIA已经在过去五年里大力发展CUDA技术,我们估计CUDA开发人员超过15万,很多重要的科学应用正在CUDA的帮助下完成。但是我们仍然有一个很长的路要走,以帮助每个人从GPU计算中享受到好处。有很多开发者没有太多时间来学习和应用的并行编程语言。还有很多科学家和工程师,正在自己的代码上辛勤工作... 阅读全文
posted @ 2015-03-21 21:14 青竹居士 阅读(972) 评论(0) 推荐(0)
摘要:原文链接在PGI的官方网站上获得示例代码:http://www.pgroup.com/lit/samples/pgi_accelerator_examples.tar我们的第一个例子从一个简单的程序开始。这个程序是把一个浮点向量送到GPU上,然后乘以2.再把结果返回。整个程序是: 1 #includ... 阅读全文
posted @ 2015-03-21 20:45 青竹居士 阅读(1887) 评论(1) 推荐(0)