-
CUDA, 软件抽象的幻像背后 之二
CUDA,软件抽象的幻影背后之二本文原载于我的主页:planckscale.info,转载于此。版权声明:原创作品,欢迎转载,但转载请以超链接形式注明文章来源(planckscale.info)、作者信息和本声明,否则将追究法律责任。上一篇里说到,有两点对CUDA的计算能力影响甚大:数据并行,以及用多线程掩盖延迟。接下来我们要深入到其硬件实现,看一看这些机制是如何运作的。通常人们经常说某GPU有几...
683
热度 -
GPU(CUDA)学习日志(八)- Parallel Nsight 调试经验; CUDA:no source correspandence for breakpoint以及nvcc 命令行
GPU(CUDA)学习日记(八)------ParallelNsight调试经验;CUDA:nosourcecorrespandenceforbreakpoint以及nvcc命令行这几天,在弄ParallelNsight,作为新手的我,也能深深感觉到GPUDebugger---parallelNsight的强大,我的机器是win7x64+CUDA4.2+ParallelNsight...
1283
热度 -
CUDA - Branch Divergence and Unrolling Loop
CUDA----BranchDivergenceandUnrollingLoopAvoidingBranchDivergence有时,控制流依赖于thread索引。同一个warp中,一个条件分支可能导致很差的性能。通过重新组织数据获取模式可以减少或避免warpdivergence(该问题的解释请查看warp解析篇)。TheParallelReductionProblem我们现在要计算一个数组N个元...
689
热度 -
cuda核函数又调用核函数,多层并行
cuda核函数再调用核函数,多层并行#include<stdio.h>__global__voidchildKernel(inti){ inttid=blockIdx.x*blockDim.x+threadIdx.x; printf("parent:%d,child:%d\n",i,tid); for(intj=i;j<i+10;j++) { printf(...
789
热度 -
Ubuntu14.04 装配CUDA7.5 + Caffe + cuDNN
Ubuntu14.04安装CUDA7.5+Caffe+cuDNNcolor="#0000FF"size="4"face="黑体">本系列文章由color="#FF0000"size="4"face="Consolas">@yhl_leocolor="#0000FF"size="4"face="黑体">出品,转载请注明出处。color="#D02090"size="4"face="黑体">文章链接:...
815
热度 -
[初学者每天来段CUDA_C]使用多个CUDA流提高程序执行效率
[菜鸟每天来段CUDA_C]使用多个CUDA流提高程序执行效率CUDA流表示一个GPU操作队列,并且该队列中的操作以添加到队列的先后顺序执行。使用CUDA流可以实现任务级的并行,比如当GPU在执行核函数的同时,还可以在主机和设备之间交换数据(前提是GPU支持重叠,property的deviceOverlay为true)。cudaMemcpyAsync函数的功能是在GPU和主机之间复制数据。它是一个...
694
热度 -
CUDA函数库调用有关问题解决
CUDA函数库调用问题解决问题:装好CUDA5.5,samples也安装成功,编译也成功了,但是在运行程序的时候出问题了。譬如进入NVIDIA_CUDA-5.5_Samples/7_CUDALibraries/目录中,执行./conjugateGradientPrecond结果报错了,居然报错了:./conjugateGradientPrecond:errorwhileloadingsharedl...
1038
热度 -
Caffe+Ubuntu14.04+CUDA7.5装配笔记
Caffe+Ubuntu14.04+CUDA7.5安装笔记为什么我一写新文章就把原来的覆盖了。。。。我明明是写新博客的,怎么会变成编辑第一篇文章呢………郁闷,现在又要重新写….再丢老子就不玩了ubuntu14.04安装先到官网下载ubuntu14.04,网址:http://www.ubuntu.com/download/desktopubuntu-14.04.4-desktop-amd64.iso...
969
热度 -
CUDA开发的配备方法与编译流程简介
CUDA开发的配置方法与编译流程简介一、前言计算行业正在从只使用CPU的“中央处理”向CPU与GPU并用的“协同处理”发展。为打造这一全新的计算典范,NVIDIA®(英伟达?)发明了CUDA(ComputeUnifiedDeviceArchitecture,统一计算设备架构)这一编程模型,是想在应用程序中充分利用CPU和GPU各自的优点。现在,该架构现已应用于GeForce&...
1486
热度 -
visual profiler 调试cuda并行程序:依据行号定位出错行
visualprofiler调试cuda并行程序:根据行号定位出错行用visualprofiler调试cuda程序,如下图:如图所示,显示某些行的访存问题,如328,329,330等。根据行号到cuda代码中,找到相应的行,查看,分析。如此,毕竟不方便。设想,如果想vs中调试程序那样(双击行号可以定位到出问题的行)就好了。只需如下更改:在编译cuda程序的时候,加上-lineinfo参数即可。如下...
587
热度 -
CUDA程序编译过程中产生警告的解决办法
CUDA程序编译过程中产生警告的解决方法在编译CUDA程序的时候,会产生大量的警告信息,如下:1>1errordetectedinthecompilationof"C:/Users/Allen/AppData/Local/Temp/tmpxft_00001024_00000000-5_kernel.cpp1.ii".1>c:\programfiles\nvidiag...
620
热度 -
Ubuntu14.04 64 位系统 装配 Cuda 6.5
Ubuntu14.0464位系统安装Cuda6.51、首先需要卸载系统自带的NVIDIA相关驱动:$sudoapt-get–purgeremovenvidia-glxnvidia-glx-new$sudoapt-get–purgeremovenvidia-settingsnvidia-kernel-common2、原有驱动删除之后,还需要将Ubuntu集成的开源驱动加入黑名单,即修改/etc/mo...
588
热度 -
cuda error2019 没法解析外部符号
cudaerror2019无法解析外部符号问题描述:kernel.cu.obj:errorLNK2019:无法解析的外部符号[email protected]/**/,该符号在函数_main中被引用解决方法:需要把cutil32.lib和cutil64.lib的路径同时加到连接器->常规->附加目录库中
980
热度 -
cuda 解实时h264流,d3d显示的有关问题
cuda解实时h264流,d3d显示的问题。我是根据这个例子cudaDecodeD3D9改的代码。我得到的实时h264流会根据网络情况动态的改变码率,致使视频帧的格式的宽高相应的动态变换,而我的cuda解码,和d3d显示都需要视频帧的宽高来创建解码器cuvidCreateDecoder,和创建纹理对象CreateTexture,这样的话我必须有一个能适应视频格式改变的cuda解码和d3d显示,我现...
4750
热度 -
在CUDA怎么使用二位数组(*[M][N])
在CUDA如何使用二位数组(**[M][N])总有些童鞋想知道怎么在CUDA中使用二维数组([M][N]这种类型),其实这个很简单,不过你要完全弄明白,必须对指针,地址等概念非常清楚才行。写这篇博客解决下大家这个问题:1、首先讲述一下在一般C语言中如何使用二维数组。intr,c;int**arr=(int**)malloc(ROWS*sizeof(int*));int*data=(int*)mal...
855
热度 -
cuda的Pinned Memory(分页锁定内存储器)
cuda的PinnedMemory(分页锁定内存)当为了提高CUDA程序的主机内存和设备内存传输消耗时,可以尝试一下两种方案一:使用分页锁定内存,分页锁定内存和显存之间的拷贝速度大约是6GB/s,普通的分页内存和GPU间的速度大约是3GB/s,(另外:GPU内存间速度是30G,CPU间内存速度是10GB/s),但是这种方法会带来额外的cpu内存间的拷贝时间二:使用内存映射(ZeroCopy)让GP...
942
热度 -
cuda 1.x 编译器产生的奇怪有关问题及解决办法
cuda1.x编译器产生的奇怪问题及解决方法cuda项目中编译问题:错误提示:内存访问越界导致启动核函数失败的问题。nsight调试:nsight->EnableCUDAmemorychecker,然后nsight->StartCUDADebugging,开始调试,不设置断点,vs直接指向访存越界的语句;即,unsignedchar*p=shared_data+i;//shar...
626
热度 -
cuda的_device_函数在另一个文件使用(分离编译和链接)
cuda的__device__函数在另一个文件使用(分开编译和链接)类似c++,有这么一个使用场景。在一个文件定义一个函数,然后在另外一个文件使用。刚开始发现总是编译出错。后来在http://developer.download.nvidia.com/compute/cuda/5_0/rel/docs/CUDA_Toolkit_Release_Notes_And_Er...
725
热度 -
CUDA Kepler(1) Read-Only Cache特性解析及其性能对比测试
CUDAKepler(一)Read-OnlyCache特性解析及其性能对比测试Kepler计算设备Kepler是NVIDIA发布的第三代CUDA计算设备的代号,这一系列产品主要有两大类:GK104和GK110,没有记错的话,GK104的运算能力是3.0,而GK110则具备了完整的Kepler架构组件,计算能力为3.5。两种计算能力的硬件在体系结构上面有一些差异,这些差异可能会在这一系列文章的后续版...
606
热度 -
CUDA常见有关问题之无法在c文件中调用cu文件中定义的函数
CUDA常见问题之无法在c文件中调用cu文件中定义的函数当在C源文件中调用cu文件中定义的函数时,会出现undefinedreference的问题,而在C++源文件中调用cu文件中定义的函数时则不会出现这个问题。出现上述问题的原因是,nvcc编译器采用的是C++的编译规则,而C和C++对函数名的编译规则不同。要解决上述问题,只需要在cu文件中定义的函...
780
热度