
CUDA
文章平均质量分 54
aban-mtd
真诚、负责、踏实
展开
-
招聘并行计算实习生或者战友
欢迎有以下技术储备的同学把简历砸向我【sawpara at 126.com】。LinuxPthreadCUDAC、C++原创 2020-12-23 09:32:30 · 1093 阅读 · 2 评论 -
玩玩CUBLAS(2)——level1函数
转载请注明出处:http://blog.youkuaiyun.com/bendanban/article/details/8893944/*=======================================================================* 第二天了,打算弄完这个去吃劈柴院的灌汤包,海上起雾了,要是不冷了,去趟只听过没去过的栈桥* 金刚狼3上原创 2013-05-07 11:36:07 · 7414 阅读 · 2 评论 -
NVIDIA Kepler GPUs Roadmap: GK107, GK106, GK104, GK110 and GK112
原文地址:http://www.geeks3d.com/20111126/nvidia-kepler-gpus-roadmap-gk107-gk106-gk104-gk110-and-gk112/只有两张图:翻译 2013-05-07 12:14:23 · 3838 阅读 · 0 评论 -
nvcc gcc g++混合编译器编程
有很多同鞋问怎么使用CUDA和其它的编译器连用呢?混合编程?先吧代码贴出来:文件1 : test1.cu//文件:test1.cu#include #include #include #define ROWS 32#define COLS 16#define CHECK(res) if(res!=cudaSuccess){exit(-1);}__glob原创 2013-01-18 20:33:39 · 18956 阅读 · 10 评论 -
Ubuntu13.04安装CUDA5.0
计算机之前被盗了,最近买了个新的笔记本,预装的是Win8,但是我还有一些工作需要win7和ubuntu的支持,所以我买了win7,并且在efi模式下安装了win7和win8,但是ubuntu的安装把我烦死了,反正就是给你装不上!后来看到13.04的最beta版,我就拿来实验了,结果装上了。只是启动ubuntu不能发现win7和win8,只能按F12或F2通过bios修改启动。不管怎样,我可以使原创 2013-04-23 11:26:49 · 3720 阅读 · 3 评论 -
如何在Ubuntu12.04上安装CUDA
本文以CUDA4.2为例讲解如何在Ubuntu12.04上安装CUDA注意一点,在安装之前,必须确保自己的GPU是NVIDIA的GPU,并且支持CUDA。如果不确定自己的显卡是否支持CUDA,可以在http://developer.nvidia.com/cuda-gpus中找到支持CUDA的GPU列表。如果你的显卡是ATI的,可以使用OpenCL来获得GPU的计算资源(http://www.k翻译 2012-08-29 20:26:08 · 3147 阅读 · 0 评论 -
详细的讲述如何试用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计算对除法和取余计算比较耗时,幸运的是我们可以对某些除法和取余运算使用按位计算来代替。仅限整数1. 某个数x除以2的m次幂y x/y 与 x>>m的结果是一致的2. 某个数对2的m次幂取余 x%y 与 x&(y-1)是一致的原创 2013-01-21 21:31:30 · 2292 阅读 · 0 评论 -
GPU计算或者异构计算编程方式与参考资料
很多朋友想学习GPU计算,大家会有如下几个关心的问题:我使用什么编程方式来做GPU计算,或者使用什么编程方式书写在GPU上运行的多线程函数?下面我针对这个问题给出一些大家可以参考的相关信息。目前比较成熟的可以实现GPU计算的编程方式有:CUDA,OpenCL,OpenACC,OpenHMPP。我们一一叙述。CUDA CUDA是NVIDIA公司推出的一种GPU计算的原创 2012-11-27 14:05:43 · 4150 阅读 · 3 评论 -
从异构软件开发者的角度看异构计算
越来越多的人正在关注异构计算,为了发表一点个人理解和看法,本文将从一个开发者的角度阐述一下自己的观点。期待大家的批评指正。异构计算平台越来越多的主流媒体,出版物都在花时间向大家传递一个信息——异构计算已经并可能在相当长的一段未来时期中主宰计算平台[1,2]。那到底什么是异构计算呢? 作为软件开发者,我认为异构计算就是在异构平台上执行计算,因此我们应该先对异构的计算平原创 2012-11-12 10:38:01 · 4788 阅读 · 1 评论 -
VS说某个符号没有被定义,怎么办?
把在.cu文件上点右键->属性->cuda runtime API->host 页面里把优化选项关了吧!如果有好几个cu文件咋办?右击项目属性,选项的最后一个就是cuda runtime API了,选择它,关闭优化选项,一锅端了,如果还不行,请对每个cu文件都关闭这一选项吧。原创 2012-11-09 09:17:32 · 2456 阅读 · 1 评论 -
玩玩CUBLAS(1)——hello cublas
转载请注明出处:http://blog.youkuaiyun.com/bendanban/article/details/8891274/*=======================================================================* 度假中,在青岛这块曾经应该很熟悉的土地上,另一半在围着病人们转悠* 所以自己在酒店里,也不想出去,听听歌,写写文章原创 2013-05-06 18:04:29 · 12932 阅读 · 7 评论 -
玩玩CUBLAS(3)——level2函数
转载请注明出处:http://blog.youkuaiyun.com/bendanban/article/details/8897735/*=======================================================================* 今天天气不错,是被吵起来的。===========================================原创 2013-05-08 13:36:51 · 6609 阅读 · 2 评论 -
CUDA程序在运行的时候如何选择可用的计算设备
CUDA_VISIBLE_DEVICES 这个环境变量在Linux下可以很好的完成这个任务。如果你使用devicequery发现的设备顺序是:0:GTX5801:K20C2:K20C如果你想让CUDA程序只可以使用1号和2号显卡,可以这样设置:CUDA_VISIBLE_DEVICES=1,2或者CUDA_VISIBLE_DEVICES =“1,2”原创 2013-05-13 18:50:17 · 5265 阅读 · 0 评论 -
图文:配置CUDA8.0 + VS2013
首先要安装 CUDA 8.0 和 VS 2013。最重要的是:请确保你有一张支持CUDA的显卡。特别注意:希望你的系统是64位系统。如果你是新手,在安装上面的软件的时候,能选择安装的内容尽可能的都选上。现在假设你已经安装好上面的软件了,我们下面来一步步的配置一个CUDA程序的编译环境,使得配置的工程能够与VS的编译联合使用。新建工程新建空项目,这一点可能很重要。主要的考虑是: - 避免源代码依原创 2016-12-26 21:38:02 · 4156 阅读 · 0 评论 -
CUDA template kernel 与其他编译器合作编译
简介在优化Kernel的时候,希望某些变量是常量,例如循环的次数相关的变量。如果次数限制是常量的话,编译器就可以将循环展开。展开的循环,会省掉一些判断,从而节省一些计算时间。C++的模版中可以使用常量。但是我又不想所有的源代码都由nvcc来编译(其实C++的代码还是调用的host compiler),故此,我写这篇博客来提供一种方法。原创 2016-12-11 20:58:28 · 1373 阅读 · 3 评论 -
[OpenCV] 编译源程序 2.4.10 以支持 CUDA
对源代码进行如下修改:H:\Software\opencv\sources\modules\gpu\src\nvidia\core\NCV.cu中添加#include <algorithm>原创 2015-11-30 16:56:21 · 1752 阅读 · 2 评论 -
[OpenCV] GpuMat and Mat, compare cvtColor perforemence
IntroductionI am going to measure the performence of my two GT650M and compare GPU with CPU version.code segments#include <iostream>#include <omp.h>using namespace std;#include <cuda_runtime.h>#inclu原创 2015-11-29 21:28:47 · 3779 阅读 · 1 评论 -
如何理解CUDA中的cudaMalloc()的参数
对指针和地址比较熟悉的童鞋可以比较容易的理解这个概念,为了更好的让更多的人理解cudaMalloc的参数,写这篇文章,以飨读者。首先看下此运行时函数的原型:cudaError_t cudaMalloc (void **devPtr, size_t size ); 此函数返回值是CUDA中定义的一个错误代码。主要的第一个参数。为什么是两个星星呢?用个例子来说明下。原创 2012-11-06 09:38:09 · 43428 阅读 · 19 评论 -
分享一个CUDA的环境配置属性表,从此不用再担心配置不好CUDA环境了
先贴出属性表的内容:原创 2014-06-06 20:50:10 · 3214 阅读 · 0 评论 -
cuda网格的限制
限制于计算能力有关。详情:原创 2014-05-01 22:25:45 · 1909 阅读 · 1 评论 -
CUDA5.5 的环境变量设置
为了方便,我写了这个文件用于设置cuda5.5的环境变量。其中有些环境变量可能用不到,大家根据需要修改就是了。 export CUDA_HOME=/usr/local/cuda-5.5export CUDA_INC_PATH=${CUDA_HOME}/includeexport CUDA_LIB_PATH=${CUDA_HOME}/lib64export CUDA_I原创 2013-08-09 10:25:10 · 5734 阅读 · 0 评论 -
CUDA程序的调试总结【不定时更新】
1 )CUDA的程序,经常犯,但是很难发现的一个错误就是同步问题。描述下实例for (k = 0; k < N; k+=BS){ sda[tx] = gda[tx+index]; __syncthreads(); for (j = 0; j < BS; j++) { tp += sda[j] } out[index+tx]原创 2013-07-21 15:03:30 · 6777 阅读 · 2 评论 -
CUDA command Profiler
这里我不使用默认设置:timestampgpustarttimestampgpuendtimestampgridsizethreadblocksizedynsmemperblockstasmemperblockregperthreadmemtransferdirmemtransfersizememtransferhostmemtypestreamidlocalblock原创 2013-07-19 19:12:48 · 1889 阅读 · 1 评论 -
在CUDA如何使用二维数组(**[M][N])
总有些童鞋想知道怎么在CUDA中使用二维数组([M][N]这种类型),其实这个很简单,不过你要完全弄明白,必须对指针,地址等概念非常清楚才行。写这篇博客解决下大家这个问题:1、首先讲述一下在一般C语言中如何使用二维数组。int r, c;int **arr = (int**)malloc(ROWS*sizeof(int*));int *data = (int*)malloc(COLS*原创 2012-06-16 21:46:07 · 22017 阅读 · 18 评论 -
CUDA设备选择数据类型的问题
最近在实现一个向量相称的CUDA程序的时候,碰见一个让我很头疼的问题。基本症状是:计算结果在小数据量的时候是完全正确的,如果向量的维数增大到一定数值后,计算结果就不对了。我查了好久,终于找到了问题的源头。竟然是数据类型的问题,写下来提醒后来人!我在内核函数中使用以下语句:unsigned char tx = threadIdx.x;unsigned char bx = blockIdx.原创 2012-09-15 15:08:52 · 3482 阅读 · 0 评论 -
对协处理器的一点思考
斗胆假设看这篇文章的人知道GPU和MIC可以作为协处理器来使用,而且了解CUDA,OpenCL。 其实我写这篇文章就是写点担忧的,并且给出点想法。 现在我们经常听说的协处理器也就是GPU和MIC,个人认为之所以叫做协处理器,是因为它们与CPU是分开的,与CPU使用相互独立的存储器,协处理器一般不能操作CPU的内存,CPU可以通过一些API函数来操作协处理器的内存。要想使用协处理原创 2012-06-11 09:38:19 · 3960 阅读 · 2 评论 -
告诉你一个cudaMalloc和cudaMallocPitch的秘密
转载请注明出处:http://blog.youkuaiyun.com/bendanban/article/details/7646306偶有兴趣测试了一下题目中提到的这两个函数,为了满足对齐访问数据,咱们平时可能会用到cudamallocPitch,以为它会带来更高的效率。呵呵,这里给出一段测试程序,大家可以在自己的机器上跑跑,你会发现这两个函数在某些情况下是一样的。#include #inclu原创 2012-06-08 17:41:11 · 14664 阅读 · 2 评论 -
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 评论 -
2012 年度 CUDA 校园程序设计大赛
知道的有些晚了。童鞋们赶紧赶紧加油啊!大赛网址:http://www.nvidia.cn/object/cuda-contest-2012-cn.html原创 2012-05-30 11:31:05 · 1452 阅读 · 0 评论 -
高性能并行计算技术交流平台
发个QQ群号125428306。大家来交流技术。神马CUDA,OMP,MPI,Win32 threads,PThreads愿意分享,讨论问题的童鞋们欢迎加入啊!!原创 2012-05-27 15:56:32 · 1584 阅读 · 1 评论 -
MFC项目中使用CUDA的原则性说明
问题描述:有很多朋友希望自己的MFC程序中能使用CUDA。就一直搜索MFC项目配置CUDA的资料。在这里以个人的经验和理解向还在迷茫的朋友们说几点,看完这几点说明,相信大家不会再迷茫。1、首先微软提供过的各种项目模版只是简化了我们的开发时间,它的实质还是C或者C++语言。所以我们只要把神马MFC项目理解为普通的C\C++项目就可以了。2、基于第一点,我们应该做些什么那?只要在我们的MFC项原创 2012-05-27 10:42:34 · 4304 阅读 · 5 评论 -
NVCC编译Debug与Release结果不同的解决方案
早些时候我使用NVCC编译代码的时候有些遇见一个很头疼的问题,Debug和Release模式下编译执行的结果竟然不同。下面详细叙述下我的问题和解决方案,以及给诸位同仁的建议。 先贴出我出错的代码://Prewitt__global__ void kernelGrayPrewitt(uchar *src, uchar *dst,unsigned int width, unsigne原创 2012-05-28 18:46:30 · 3643 阅读 · 1 评论 -
VisualStudio2008+CUDA4.1完美配置
用了一段时间的VS2010+CUDA4.0开发。越来越感觉差劲!麻烦!每次建立新的项目都要重新配置这么多东西!我在写一遍VS2008+CUDA4.1的详细配置过程。大家共同学习奥。准备:下载好cuda4.1的相应驱动、toolkit、sdk。visual studio2008(这个我默认你应经安装好了)1、安装显卡驱动、toolkit、sdk。这三个软件的安装相当简单,这里应该不会出问题。原创 2012-04-25 10:30:00 · 2427 阅读 · 0 评论 -
Visual Studio2010配置CUDA 4.0
VisualStudio2010据说完美支持CUDA4.0,我研究了一下,下面将我的配置过程呈献给大家,希望对大家有所帮助。 第一步:下载CUDA4.0 Driver,toolkit,SDK,这些不在提了,只要各位去Nvidia的官网下载并且一次安装就是了,不过各位在安装前必须原创 2011-05-20 18:37:00 · 8391 阅读 · 33 评论 -
VisualStudio2008配置CUDA4.0RC
CUDA4.0加了很多特性,更加方便使用,特别是哪个Thrust。要想更容易的使用CUDA4.0,最好的办法就是将他配置到VisualStudio中使用了,这样开发起来就简单多了。原创 2011-04-04 19:34:00 · 2169 阅读 · 2 评论 -
截至2012年5月23日19点58分支持CUDA的NVIDIA的GPU列表(Tesla,Quadro,NVS)
Tesla 产品Tesla 工作站产品Tesla数据中心产品GPU计算能力GPU计算能力Tesla C20752.0Tesla M2050/M2070/M2075/M20902.0Tesla C2050/C20702.0翻译 2012-05-23 20:02:29 · 7959 阅读 · 0 评论 -
截至2012年5月23日19点58分支持CUDA的NVIDIA的GPU列表(Geforce)
GeForce产品GeForce台式机产品GeForce笔记本产品GPU计算能力GPU计算能力GeForce GTX 6903.0GeForce GTX 675M2.1GeForce GTX 6803.0GeFo翻译 2012-05-23 21:12:17 · 3919 阅读 · 0 评论 -
单GPU显卡做计算时出现显示器驱动程序已停止响应
在单显卡做CUDA计算时,如果你的某个内核函数的执行时间过长(系统都提示显卡驱动停止相应了)必然会导致计算失败,这是由于win7认为显卡相应超时造成的。给出一个解决的办法是:注册表HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\GraphicsDrivers下新建一个项TdrLevel:REG_DWORD,值设为0,这样就禁止了Win7自己检测显卡的原创 2012-05-24 09:09:04 · 6295 阅读 · 2 评论 -
NVIDIA Optimus技术和CUDA
Nvidia称Optimus是一个革命性的技术,它可以延长笔记本电脑续航时间,同时获得很好的性能。这种技术使得硬件能够自己选择使用那个显卡来计算。一般使用GPU计算的应用、视频、3D游戏等会被安排在高性能的NVIDIA GPU上执行,一些像Office、Web冲浪,电子邮件类似的应用会被安排在集成显卡上执行。 如果你的笔记本有两块显卡,一块是Intel的集成显卡(IGP),一块是Nvid原创 2012-05-26 14:04:50 · 3457 阅读 · 0 评论