草庐IT

CUDA_CODE_COMPILE

全部标签

c++ - CUDA 真的没有类似 calloc() 的 API 调用吗?

从查看CUDA5.5APIReference和CUDACProgrammingGuide似乎没有cudaCalloc(),它是标准C库的calloc()的GPU等效项.是否真的没有用于分配初始化为全零的缓冲区的API功能?有什么比调用cudaMalloc()然后调用cudaMemset()更好的方法吗? 最佳答案 IstherereallynoAPIfunctionalityforallocatingabufferinitializedtoall-zeros?确实没有。IstheresomethingbetterIcandothat

c++ - 使用 CUDA-aware MPI 的要求

我想通过CUDA感知MPI在不同CUDA设备之间交换数据,如thisarticle中所述.据我了解,以下代码应该可以完成这项工作:#includeintmain(intargc,char*argv[]){intrank;float*ptr=NULL;constsize_telements=32;MPI_Statusstatus;MPI_Init(NULL,NULL);MPI_Comm_rank(MPI_COMM_WORLD,&rank);cudaMalloc((void**)&ptr,elements*sizeof(float));if(rank==0)MPI_Send(ptr,ele

c++ - 为什么我的 CUDA 实现与我的 CPU 实现一样快

我在标准C++和CUDA中创建了一些代码来对1300x1300灰度图像和15x15内核进行二维卷积。两个版本:中央处理器:#include#include#defineN1300#defineK15#defineK2((K-1)/2)templateinlineintindex(intx,inty){returnx*my+y;}intmain(){double*image=newdouble[N*N];double*kernel=newdouble[K*K];double*result=newdouble[N*N];for(intx=0;x=0andx+i-K2=0andy+j-K2(

c++ - Visual Studio 2010 (Windows 7) 中的 Hello World C++ CUDA 程序

我正在尝试编译这个HelloWorldprogram在安装了VisualStudio2010的Windows7中,但在运行nvcchellocuda.cu时出现以下错误消息:nvccfatal:nvcccannotfindasupportedclversion.OnlyMSVC8.0andMSVC9.0aresupported如何编译这个CUDA程序? 最佳答案 NVCC从VisualStudio环境变量中检查VC++编译器版本。NVCC表示它仅支持MSVC8.0和9.0编译器。在您的情况下,您有MSVC10.0编译器。这个问题似乎

c++ - CUDA、NPP 滤波器

CUDANPP库支持使用nppiFilter_8u_C1R命令过滤图像,但不断出现错误。我可以毫无问题地启动并运行boxFilterNPP示例代码。eStatusNPP=nppiFilterBox_8u_C1R(oDeviceSrc.data(),oDeviceSrc.pitch(),oDeviceDst.data(),oDeviceDst.pitch(),oSizeROI,oMaskSize,oAnchor);但如果我将其改为使用nppiFilter_8u_C1R,eStatusNPP将返回错误-24(NPP_TEXTURE_BIND_ERROR)。下面的代码是我对原始boxFilt

c++ - 我可以更改 Code::Blocks 自动缩进的行为吗?

我曾经使用MicrosoftVisualStudio2005编写C++代码,其中的自动缩进行为非常好。但是当我尝试使用Code::Blocks时,我意识到其中的自动缩进行为很糟糕。例如困扰我的事情之一:for(inti=0;i对于if和while也是一样的有什么方法可以改变Code::Blocks中自动缩进的行为,使其与MicrosoftVisualStudio自动缩进一样好? 最佳答案 首先,确保启用智能缩进(设置->编辑器->智能缩进)。它在Ubuntu上仍然对我不起作用,但安装codeblocks-contrib包sudoap

C++ 模板 : How to conditionally compile different code based on data type?

这里有一个小例子来说明我的问题的本质:#includeusingnamespacestd;typedefcharachar_t;templateclassSTRING{public:T*memory;intsize;intcapacity;public:STRING(){size=0;capacity=128;memory=(T*)malloc(capacity*sizeof(T));}constSTRING&operator=(T*buf){if(typeid(T)==typeid(char))strcpy(memory,buf);elsewcscpy(memory,buf);ret

JSON parse error: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t) is

JSONparseerror:Illegalcharacter((CTRL-CHAR,code31)):onlyregularwhitespace(\r,\n,\t)isallowedbetweentokens;nestedexceptioniscom.fasterxml.jackson.core.JsonParseException:Illegalcharacter((CTRL-CHAR,code31)):onlyregularwhitespace(\r,\n,\t)isallowedbetweentokensat[Source:(org.springframework.util.Strea

c++ - 使用 CUDA 实现、python (pycuda) 或 C++ 处理图像?

我在一个使用CUDA处理图像的项目中。该项目只是图像的加法或减法。请问您的专业意见,哪一个最好,这两者的优缺点是什么?我感谢大家的意见和/或建议,因为这个项目对我来说非常重要。 最佳答案 一般回答:没关系。使用您更习惯的语言。但是请记住,pycuda只是CUDAC接口(interface)的包装器,因此它可能并不总是最新的,它还增加了另一个潜在的错误来源,......Python非常擅长快速原型(prototype)制作,所以我个人会选择Python。如果需要,您以后可以随时切换到C++。

c++ - OpenCL 或 CUDA 调用的开销?

我正在编写一个函数来处理很多BLASgemv操作。我希望能够在GPU上执行此操作,并且我已尝试使用cuBlas。我的问题是我的矩阵和vector相当小,100x100矩阵和100vector。与CPU相比,CuBlas需要很长时间,我知道为什么,CPU上的快速缓存和调用GPU的大量开销混合在一起。因此,我正在尝试找出一种聪明的方法来测量将调用传递给GPU所需的时间。这是CUDA设置调用并将其发送到图形处理器所花费的时间——不包括执行矩阵vector乘法实际花费的时间。我该怎么做? 最佳答案 更新:以下结果是针对2005硬件(nVid