草庐IT

nvidia-cuda-toolkit

全部标签

c++ - CUDA 链接错误 - Visual Express 2008 - 由于(空)配置文件导致 nvcc 致命

在过去的2周里,我一直在广泛寻找可能的解决方案来解决我的错误。我已经成功安装了Cuda64位编译器(工具)和SDK,以及64位版本的VisualStudioExpress2008和带有Framework3.5的Windows7SDK。我正在使用WindowsXP64位。我已经确认VSE能够以64位编译,因为我使用以下网站上的步骤可以使用所有64位选项:(因为VisualExpress本身不包含64位包)http://jenshuebel.wordpress.com/2009/02/12/visual-c-2008-express-edition-and-64-bit-targets/6

c++ - 为什么转置 CUDA 网格(但不是它的线程 block )仍然会减慢计算速度?

编辑:似乎,至少在这种情况下,转置网格对L2缓存带宽有负面影响。这是从视觉分析器获得的。原因我还不清楚。我遇到了需要转置CUDA网格的GPU计算情况。因此,如果block_{x,y}最初作用于数据区域d_{x,y},现在它作用于数据区域d_{y,x},因此block_{y,x}将作用于数据区域d_{x,y}。下图给出了一个示例。值得一提的是,线程并不是在每个block内部转置,即一旦block被定位,threadIdx.x和threadIdx.y值以正常方式分别用于它们的x和y偏移。据我所知,理论上这种设计应该不会损害性能,因为仍然保留了内存合并模式,即block内的线程没有被转置,它

c++ - 如何在 CUDA 内核中使用 Eigen

Eigen是一个C++线性代数库http://eigen.tuxfamily.org.使用基本数据类型(如基本float组)很容易,只需将其复制到设备内存并将指针传递给cuda内核。但是Eigen矩阵是复杂类型,如何将其复制到设备内存并让cuda内核读取/写入它? 最佳答案 自2016年11月(Eigen3.3发布)以来,存在一个新选项:在CUDA内核中直接使用Eigen-参见thisquestion.来自链接问题的示例:__global__voidcu_dot(Eigen::Vector3f*v1,Eigen::Vector3f*

c++ - 对 CUDA/openCL 和 C++ AMP 的困惑

我了解到微软正在与Nvidia密切合作以提高AMP性能。但我的问题是:AMP是Microsoft的CUDA替代品吗?或者当NVIDIACUDA显卡可用时,AMP是否使用CUDA驱动程序?AMP是openCL的替代品吗?我还是很困惑.. 最佳答案 C++AMP是一个库(作为它的一部分,还引入了一个关键的语言扩展)。由于C++AMP是一个开放规范,它可以在任何其他低级语言上实现。Microsoft的实现基于DirectCompute(因此也基于HLSL),但是当您使用C++AMP时,这对您完全隐藏(这就是C++AMP可以成为开放规范的原

c++ - 在 cuda 主机代码中使用 openMP?

是否可以在CUDA文件中(不在内核代码中)使用openMPpragma?我将结合gpu和cpu计算。但是如果我将porgram与openmp选项链接(在linux下),nvvc编译器会失败并显示“找不到未知选项'openmp'”一种解决方法是仅在c/c++文件中使用openMP-statments。 最佳答案 我刚刚找到了这个http://www.cse.buffalo.edu/faculty/miller/Courses/CSE710/heavner.pdf第25页说:使用gcc:-#includeomp.h添加-fopenmp标

c++ - CUDA C和C++的解释

谁能给我一个关于CUDAC和C++的性质的很好的解释?据我了解,CUDA应该是带有NVIDIAGPU库的C。截至目前,CUDAC支持一些C++特性,但不支持其他特性。NVIDIA的计划是什么?他们是否会在C基础上构建并添加自己的库(例如Thrust与STL)与C++的库平行?他们最终会支持所有的C++吗?在.cu文件中使用C++头文件是不是很糟糕? 最佳答案 CUDA是一个平台(架构、编程模型、汇编虚拟机、编译工具等),而不仅仅是一种单一的编程语言。CUDAC只是在此平台上构建的众多语言系统之一(CUDAC、C++、CUDAFort

c++ - OpenCL 或 CUDA 走哪条路?

我正在研究使用GPU处理流数据的方法。我有两个选择,但无法决定走哪条路?我的标准如下:易于使用(良好的API)社区和文档性能future我将在linux下用C和C++编写代码。 最佳答案 OpenCL从您的生产代码接口(interface)可在不同的图形硬件之间移植操作有限,但已准备好快捷方式CUDA独立语言(CUDAC)仅限nVidia硬件几乎完全控制代码(使用类C语言进行编码)大量分析和调试工具底线——OpenCL是可移植的,CUDA仅适用于nVidia。但是,作为一门独立的语言,CUDA功能更强大,并且有很多非常好的工具。易于

docker - nvidia-docker run 与 docker run --runtime=nvidia

有没有区别:nvidia-docker运行和dockerrun--runtime=nvidia?在officialdocs他们使用后者,但我在其他在线教程中看到过前者。 最佳答案 dockerrun--runtime=nvidia仅在nvidia-dockerv2之后可用。这两个命令都与nvidia-dockerv2等价,前者是为backwardcompatibility提供的脚本使用nvidia-dockerv1。 关于docker-nvidia-dockerrun与dockerrun

docker - 可以在没有 GPU 的情况下运行 nvidia-docker 吗?

官方PyTorchDockerimage基于nvidia/cuda,它能够在DockerCE上运行,无需任何GPU。它也可以在nvidia-docker上运行,我假设启用了CUDA支持。是否可以在没有任何GPU的x86CPU上运行nvidia-docker本身?有没有办法构建单个Docker镜像,在可用时利用CUDA支持(例如,在nvidia-docker中运行时)并在其他情况下使用CPU?在DockerCE中使用torch.cuda会发生什么?DockerCE到底有什么区别,为什么nvidia-docker不能合并到DockerCE中? 最佳答案

python - 我可以只使用 Python 编程 Nvidia 的 CUDA 还是必须学习 C?

我想这个问题不言自明。我有兴趣做一些严肃的计算,但我不是一名程序员。我可以将足够多的python串在一起来完成我想要的。但是我可以在python中编写一个程序并让GPU使用CUDA执行它吗?还是我必须混合使用python和C?Klockner(sp)“pyCUDA”网页上的示例混合了python和C,所以我不确定答案是什么。如果有人想对Opencl发表意见,请随意。几周前我听说了这项CUDA业务,不知道您可以像这样使用您的视频卡。 最佳答案 你应该看看CUDAmat和Theano.两者都是编写在GPU上执行的代码的方法,而无需真正了