草庐IT

CUDA-aware

全部标签

C++11 标准与 CUDA 6.0

我想在我的CUDA6.0项目中为我的C++文件使用C++11标准。当我将CUDA6.0NsightEclipse设置中的编译器更改为g++并添加-std=c++11选项时,我收到了很多这样的错误:error:namespace"std::__gnu_cxx"hasnomember"__normal_iterator"显然,我必须为CUDA和我的C++文件“选择”一次编译器。我该怎么做?安装支持未记录的C++11的CUDA6.5不是一个选项。 最佳答案 问题是CUDA6.0不支持C++11标准,当将-std=c++11选项传递给编译器

python - Tensorflow 0.7.1 与 Cuda 工具包 7.5 和 cuDNN 7.0

我最近尝试将我的Tensorflow安装从0.6升级到0.7.1(Ubuntu15.10、Python2.7),因为它被描述为与更多最新的Cuda库兼容。一切都运行良好,包括来自Tensorflow入门页面的简单测试。但是我无法使用cuDNN。使用cuDNN运行程序时,我首先收到警告“无法加载cuDNNDSO”后来程序崩溃了Itensorflow/core/common_runtime/gpu/gpu_device.cc:717]CreatingTensorFlowdevice(/gpu:0)->(device:0,name:GeForceGTX980,pcibusid:0000:01

linux - 在 Windows 中运行时的 CUDA 性能损失

当我在Windows7(相对于Linux)中运行我的CUDA应用程序时,我注意到性能受到很大影响。我想我可能知道减速发生在哪里:无论出于何种原因,WindowsNvidia驱动程序(版本331.65)在通过运行时API调用时不会立即分派(dispatch)CUDA内核。为了说明这个问题,我分析了mergeSort应用程序(来自CUDA5.5附带的示例)。首先考虑在Linux中运行时的内核启动时间:接下来,考虑在Windows中运行时的启动时间:这post表明问题可能与批处理内核启动的Windows驱动程序有关。无论如何我可以禁用这个批处理吗?我运行的是GTX690GPU、Windows

linux - 如何在 Linux 机器上获取我的 CUDA 规范?

我正在访问一台远程计算机,该计算机具有用于CUDA计算的良好nVidia卡,但我无法找到一种方法来了解它使用的是哪种卡以及CUDA规范(版本等)是什么。我在终端上使用了“lspci”命令,但没有nvidia卡的迹象。我很确定它有nVidia卡,并且似乎安装了nvcc。但我真的很想弄清楚显卡和CUDA规范。有什么想法吗?谢谢! 最佳答案 如果您能找到CUDASDK目录的安装位置,那么您只需运行deviceQuery示例,它将告诉您所有您需要了解的信息以及更多信息。可执行文件应位于$(SDK)/C/bin/linux/release/d

linux - 未检测到支持 CUDA 的设备(使用 ubuntu 12.04.4 服务器)

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭8年前。Improvethisquestion我最近安装了带有驱动程序331.67的cuda工具包5.5(我有一个GeForceGTX680)。出于某种原因,我无法运行任何测试脚

linux - 如何量化 C 内核的 CUDA 设备的处理权衡?

我最近从GTX480升级到GTX680,希望三倍数量的内核能够显着提高我的CUDA代码的性能。令我震惊的是,我发现我的内存密集型CUDA内核在GTX680上运行速度慢了30%-50%。我意识到这不是严格意义上的编程问题,但它确实会直接影响CUDA内核在不同设备上的性能。任何人都可以深入了解CUDA设备的规范以及如何使用它们来推断它们在CUDAC内核上的性能吗? 最佳答案 不完全是您问题的答案,但一些信息可能有助于了解GK104(Kepler、GTX680)与GF110(Fermi、GTX580)的性能:在Fermi上,内核的运行频率

使用 CUDA 实现 MySQL

我是一名CS专业的大四学生。目前我正在上计算机体系结构类(class)。我们需要做一个项目。我想做一些与CUDA相关的事情,与串行实现相比,计算的性能会有适度的提升。我对数据库非常感兴趣,所以我决定做一些与SQL相关的事情。我只有使用MySQL的经验,我找不到任何与如何使用CUDA使用MySQL相关的内容。我只能找到一个关于SQL的研究,它使用SQLite。我不确定该做什么以及如何收集有关此主题的信息,因此我决定听取您的意见。最好的 最佳答案 以防有人最终进入此页面,PGStorm是PostgreSQL数据库的外部数据包装模块。

c++ - CUDA 和固定(页面锁定)内 stub 本没有页面锁定?

当我需要固定(页面锁定)内存时,我试图弄清楚CUDA(或OpenCL实现)是否说实话。我试过cudaMallocHost并查看了/proc/meminfo值Mlocked和Unevictable,都保持在0并且永远不会上升(/proc//status报告VmLck也为0)。我用了mlock页面锁定内存并且值按预期上升。因此,这种行为的两个可能原因可能是:我没有从CUDAAPI获得页面锁定内存,并且cudaSuccess是假的CUDA绕过操作系统计数器来获取页面锁定内存,因为CUDA对linux内核有一些魔力所以实际的问题是:当我使用CUDA分配页面锁定内存时,为什么我无法从操作系统获取

os.environ[‘CUDA_VISIBLE_DEVICES‘] 和torch.cuda.set_device()

#方式一#importos#os.environ['CUDA_VISIBLE_DEVICES']='5'#方式二#importtorch#torch.cuda.set_device(5)官方文档:当使用PyTorch进行深度学习训练时,通常需要使用CUDA加速计算。在使用PyTorch进行训练之前,需要确保已经正确设置了可见的GPU设备,并且已经初始化了CUDA环境。os.environ['CUDA_VISIBLE_DEVICES']是一个环境变量,可以通过设置它来限制程序所能看到的可用GPU设备列表,从而确保程序只使用指定的GPU设备。设置该环境变量可以使用os.environ['CUDA_

memory - CUDA 表面与纹理

CUDA中的表面对象和纹理对象有什么区别?我应该什么时候使用其中一种?据我从开发人员文档中得知,它们完全相同。两者似乎都是使用特殊纹理内存的CUDA数组。唯一的区别似乎是访问内存的API方法。 最佳答案 Textures是只读的,surfaces是可写和可读的。SurfaceAPI后来被引入来适应这种差异。对内核只读的数据使用纹理,如果内核也写入数据,则为表面。 关于memory-CUDA表面与纹理,我们在StackOverflow上找到一个类似的问题: ht