Questions tagged «cuda»

CUDA(计算统一设备体系结构)是用于NVIDIA GPU(图形处理单元)的并行计算平台和编程模型。CUDA通过多种编程语言,库和API为NVIDIA GPU提供了接口。

17
如何获得CUDA版本?
是否有任何快速命令或脚本来检查已安装的CUDA版本? 我在安装目录下找到了4.0手册,但不确定该手册是否为实际安装的版本。
471 cuda 

4
使用CUDA运行时API检查错误的规范方法是什么?
浏览关于CUDA问题的答案和评论,以及在CUDA标签Wiki中,我经常看到有人建议应检查每个API调用的返回状态是否有错误。API文档包括像功能cudaGetLastError,cudaPeekAtLastError以及cudaGetErrorString,但什么是把这些结合在一起,以可靠地捕捉和报告错误,而不需要很多额外的代码的最佳方式?

14
NVIDIA NVML驱动程序/库版本不匹配
运行时,nvidia-smi我收到以下消息: Failed to initialize NVML: Driver/library version mismatch 一个小时前,我收到了同样的消息,并卸载了cuda库,并且能够运行nvidia-smi,得到以下结果: 之后,我cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb从NVIDIA官方页面下载了文件,然后简单地: sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb sudo apt-get update sudo apt-get install cuda export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}} 现在,我已经安装了cuda,但是出现了提到的不匹配错误。 一些可能有用的信息: 运行cat /proc/driver/nvidia/version我得到: NVRM version: NVIDIA UNIX x86_64 Kernel Module 378.13 Tue Feb 7 20:10:06 PST 2017 GCC version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 我正在运行Ubuntu …
223 cuda  driver  gpu  nvidia 

8
在Docker容器中使用GPU?
我正在寻找一种从Docker容器内部使用GPU的方法。 容器将执行任意代码,所以我不想使用特权模式。 有小费吗? 从以前的研究中,我了解到run -v和/或LXC cgroup是可行的方法,但我不确定如何准确地实现这一目标
164 cuda  docker 



7
如何验证CuDNN安装?
我已经搜索了很多地方,但是得到的只是如何安装它,而不是如何验证它是否已安装。我可以确认已安装NVIDIA驱动程序,并且已安装CUDA,但是我不知道如何验证已安装CuDNN。帮助将不胜感激,谢谢! PS。 这是用于caffe的实现。当前,所有功能在未启用CuDNN的情况下都可以正常工作。

4
将Java与Nvidia GPU(CUDA)结合使用
我正在做一个用Java完成的业务项目,它需要巨大的计算能力才能计算业务市场。简单的数学运算,但具有大量数据。 我们订购了一些CUDA GPU进行尝试,并且由于CUDA不支持Java,所以我想知道从哪里开始。我应该建立一个JNI接口吗?我应该使用JCUDA还是其他方法? 我没有这方面的经验,我想知道是否有人可以指导我从事某些工作,以便我可以开始研究和学习。

2
CUDA块/线程/线程如何映射到CUDA内核?
我已经使用CUDA几周了,但是我对块/线程/线程的分配有一些疑问。 我正在从教学角度(大学项目)研究体系结构,因此达到最佳性能不是我的关注。 首先,我想了解一下我是否明白这些事实: 程序员编写内核,并在线程块网格中组织其执行。 每个块都分配给一个流多处理器(SM)。分配后,便无法迁移到另一个SM。 每个SM将自己的块拆分为Warp(当前最大为32个线程)。扭曲中的所有线程均在SM的资源上同时执行。 线程的实际执行由SM中包含的CUDA核心执行。线程和核心之间没有特定的映射。 如果warp包含20个线程,但是当前只有16个内核可用,则warp将无法运行。 另一方面,如果一个块包含48个线程,则它将拆分为2个扭曲,并在有足够内存可用的情况下并行执行。 如果线程在内核上启动,则由于内存访问或长时间浮点操作而被暂停,则其执行可以在其他内核上恢复。 他们正确吗? 现在,我有一个GeForce 560 Ti,因此根据规格它配备了8个SM,每个包含48个CUDA内核(总共384个内核)。 我的目标是确保体系结构的每个核心都执行SAME指令。假设我的代码不需要比每个SM中可用的更多的寄存器,我想到了不同的方法: 我创建了8个块,每个块有48个线程,因此每个SM都有1个块要执行。在这种情况下,这48个线程是否将在SM中并行执行(利用所有48个可用的内核)? 如果我启动64个6线程块,会有什么区别?(假设它们将在SM之间平均映射) 如果我将GPU“淹没”在计划的工作中(例如,创建1024个线程块,每个线程有1024个线程),则可以合理地假设所有内核将在某个时刻使用,并且将执行相同的计算(假设线程永不停止)? 有什么方法可以使用探查器检查这些情况吗? 这个东西有参考吗?我阅读了《 CUDA编程指南》以及“对大型并行处理器进行编程”和“ CUDA应用程序设计与开发”中有关硬件体系结构的章节;但是我找不到确切的答案。


3
nvcc和NVIDIA-smi显示的不同CUDA版本
我对运行which nvcc和显示的不同CUDA版本感到非常困惑nvidia-smi。 我在Ubuntu 16.04上同时安装了cuda9.2和cuda10。现在,我将PATH设置为指向cuda9.2。所以当我跑步时: $ which nvcc /usr/local/cuda-9.2/bin/nvcc 但是,当我跑步时 $ nvidia-smi Wed Nov 21 19:41:32 2018 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 410.72 Driver Version: 410.72 CUDA Version: 10.0 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | …
122 cuda 

3
如何为CUDA内核选择网格和块尺寸?
这是关于如何确定CUDA网格,块和线程大小的问题。这是在此处发布的问题的另一个问题。 在此链接之后,来自爪子的答案包含一个代码段(请参见下文)。我不理解“通常是通过调整和硬件限制选择的值”的注释。 我在CUDA文档中找不到很好的解释或说明来解释这一点。总而言之,我的问题是blocksize给定以下代码,如何确定最佳(线程数): const int n = 128 * 1024; int blocksize = 512; // value usually chosen by tuning and hardware constraints int nblocks = n / nthreads; // value determine by block size and total work madd<<<nblocks,blocksize>>>mAdd(A,B,C,n);

7
无需硬件即可进行CUDA编程的GPU仿真器
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 去年关闭。 改善这个问题 问题:是否有用于Geforce卡的仿真器,可让我在没有实际硬件的情况下对CUDA进行编程和测试? 信息: 我希望加快CUDA中我的模拟速度,但是我的问题是,我并不总是在桌面上进行此开发。我想在上网本上做一些工作,但是上网本没有GPU。现在,据我所知,您需要具有CUDA功能的GPU才能运行CUDA。有办法解决这个问题吗?看来唯一的方法就是使用GPU仿真器(显然它会很慢,但可以正常工作)。但是,我想听听用什么方法做到这一点。 我正在Ubuntu 10.04 LTS上编程。
111 cuda  gpu  emulation  cpu 


10
NVIDIA vs AMD:GPGPU性能
我想听听有编码经验的人。我自己,我只有NVIDIA的经验。 NVIDIA CUDA似乎比竞争对手更受欢迎。(仅在此论坛上计算问题标记,“ cuda”优于“ opencl” 3:1,“ nvidia”优于“ ati” 15:1,根本没有“ ati-stream”标记)。 另一方面,根据Wikipedia所述,ATI / AMD卡应具有更大的潜力,尤其是每美元。迄今为止,市场上最快的NVIDIA卡GeForce 580(500美元)的额定单精度TFlops为1.6。AMD Radeon 6970的价格为370美元,额定值为2.7TFlops。580在772 MHz下具有512个执行单元。6970在880 MHz下具有1536个执行单元。 AMD相对于NVIDIA的纸面优势有多现实,并且可能会在大多数GPGPU任务中实现?整数任务会怎样?
105 cuda  opencl  gpgpu  nvidia  ati 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.