Articles of cuda

如何在linux中包含cutil.h

我不知道如何在Linux中包含cutil.h,我知道它在哪里,但我不知道如何包含它。 想法请。

NVCC CUDA交叉编译无法find“-lcudart”

我已经在Ubuntu虚拟机上安装了CUDA 5.0和NVCC,甚至在编译CUDA C程序时也遇到了问题。 错误如下: user@ubuntu:~/CUDA$ nvcc helloworld.cu -o helloworld.o -target-cpu-arch=ARM -ccbin=/usr/bin/arm-linux-gnueabi-gcc-4.6 –machine=32 /usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/bin/ld: skipping incompatible /usr/local/cuda-5.0/bin/../lib/libcudart.so when searching for -lcudart /usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/bin/ld: skipping incompatible /usr/lib/libcudart.so when searching for -lcudart /usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/bin/ld: cannot find -lcudart collect2: ld returned 1 exit status 我试图研究这个问题,并遇到这个链接: 跳过不兼容的libcudart.so当search-lcudart 所以我遵循了在该链接上提供的build议,并添加了 /usr/local/cuda-5.0/lib64 和 /usr/local/cuda-5.0/lib 到我的LD_LIBRARY_PATH环境variables,现在这是结果 user@ubuntu:~/CUDA$ echo $LD_LIBRARY_PATH /usr/local/cuda-5.0/lib:/usr/local/cuda-5.0/lib64 user@ubuntu:~/CUDA$ 但问题依然存在,请大家帮忙。

如何在Linux机器上获得我的CUDA规格?

我正在访问一台具有用于CUDA计算的nVidia卡的远程机器,但是我找不到一种方法来知道它使用哪个卡以及CUDA规范(版本等)是什么。 我在terminal上使用了“lspci”命令,但没有nvidia卡的标志。 我很确定它有一个nVidia卡,nvcc似乎被安装。 但我真的想弄清楚卡和CUDA规格。 有任何想法吗? 谢谢!

为什么我的c程序突然使用了30g的虚拟内存?

最重要的是,我注意到,我的c程序(使用CUDA 3.2)的虚拟尺寸为28g或更多(查看VIRT),每次运行都从头开始。 这对我来说没有任何意义。 居民的记忆是有道理的,在我最大的数据集上只有2g左右。 我知道在过去的某个时候虚拟大小并不是很大,但是我不确定什么时候发生了变化。 为什么我的程序会使用28g的虚拟内存(或为什么top的VIRT会这么大)呢? 我了解VIRT包含可执行二进制文件(仅437K),共享库和“数据区”。 什么是“数据区”? 如何找出共享库需要多less内存? 我的进程的总内存的其他元素呢? / proc / <pid> / smaps(1022行)的内容: http ://pastebin.com/fTJJneXr 从smaps的条目之一表明,其中之一是最大的,但没有标签…我怎么能找出这个“空白”是28GB的条目? 200000000-900000000 —p 00000000 00:00 0 Size: 29360128 kB Rss: 0 kB Pss: 0 kB Shared_Clean: 0 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 0 kB Referenced: 0 kB Anonymous: 0 kB Swap: 0 kB KernelPageSize: […]

使用CUDA 6.0的C ++ 11标准

我想在我的CUDA 6.0项目中为我的C ++文件使用C ++ 11标准。 当我将CUDA 6.0 Nsight Eclipse设置中的编译器更改为g ++并添加-std=c++11选项时,我收到了很多像这样的错误: error: namespace "std::__gnu_cxx" has no member "__normal_iterator" 显然,我必须为CUDA“select”一次编译器,然后再select我的C ++文件。 我该怎么做? 安装支持未公开的C ++ 11的CUDA 6.5不是一个选项。

Cuda编译器不能使用GCC 4.5 +

我是Cuda新手,我正在编译这个简单的test_1.cu文件: #include <stdio.h> __global__ void kernel(void) { } int main (void) { kernel<<<1,1>>>(); printf( "Hello, World!\n"); return 0; } 使用这个: nvcc test_1.cu 我得到的输出是: In file included from /usr/local/cuda/bin/../include/cuda_runtime.h:59:0, from <command-line>:0: /usr/local/cuda/bin/../include/host_config.h:82:2: error: #error — unsupported GNU version! gcc 4.5 and up are not supported! 我的gcc – 版本: gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1 Copyright (C) 2011 Free […]

如何使用辅助GPU重写Windows上的CUDA内核执行时间限制?

来自Nvidia的网站,它解释了超时问题: 问:最大的内核执行时间是多less? 在Windows上,单个GPU程序启动的最大运行时间约为5秒。 超过这个时间限制通常会导致通过CUDA驱动程序或CUDA运行时报告的启动失败,但在某些情况下可能会挂起整个机器,需要硬重置。 这是由Windows“看门狗”定时器引起的,如果它们的运行时间超过了最大允许时间,则会导致使用主graphics适配器的程序超时。 出于这个原因,build议CUDA在未连接到显示器的GPU上运行,并且没有将Windows桌面扩展到它。 在这种情况下,系统必须至less包含一个用作主要graphics适配器的NVIDIA GPU。 来源: https : //developer.nvidia.com/cuda-faq 那么看起来,nvidia认为,或者至less强烈地暗示,具有多(nvidia)gpus,并且具有适当的configuration,可以防止这种情况发生? 但是,如何? 到目前为止,我尝试了很多方法,但是在GK110 GPU上仍然存在令人讨厌的超时问题:(1)插入次PCIE 16X插槽; (2)没有连接到任何监视器(3)被设置为在驱动器控制面板中使用作为一个独家的PhysX卡(由其他人推荐),但封锁仍然在那里。

如何在Windows上使用其他C ++编译器与CUDA?

我试图用CUDA构build一个简单的应用程序,我一直在尝试几个小时,我只是不能让它在Windows上工作。 如果没有Visual Studio的编译器不支持我需要的东西,nvcc绝对拒绝编译。 我尝试用clang构buildnvcc,但它只是要求我使用Visual Studio的编译器。 我也试过直接使用clang,因为它现在支持CUDA,但是我收到这个错误: clang++.exe: error: Unsupported CUDA gpu architecture: compute_52 这对我来说没有意义,因为我有CUDA工具包版本7.5,而我的graphics卡是GTX 970(其中两个)。 我已经广泛地使用了这个search引擎,而且在任何地方遇到错误的人总是有他们的CUDA工具包<7.5。 我现在正濒临眼泪,试图让VLA这样简单的工作在这个CUDA应用程序上,而我无法实现它…

编译CUDA而不使用Visual Studio – “在path中找不到编译器cl.exe”

我刚刚在CUDA开始了一个小项目。 我需要知道以下几点:是否可以在不使用/购买Microsoft Visual Studio的情况下编译CUDA代码? 使用Nvcc.exe我得到错误“ 找不到path中的编译器cl.exe ”。 我试图为NetBeans安装一个CUDA 插件 ,但它不起作用。 (使用当前版本的NetBeans) 平台:Windows 7 提前致谢。

CUDA错误后重置GPU和驱动程序

有时,我的CUDA程序中的错误会导致桌面graphics中断(在Windows中)。 通常情况下,屏幕保持一定的可读性,但是当graphics发生变化时,例如拖动窗口时,会出现大量半随机彩色像素和小块。 我试图通过更改桌面分辨率来重置GPU和驱动程序,但是这并没有帮助。 我发现的唯一的修复方法是重新启动计算机。 有没有一个程序,或者我可以使用一些技巧,让驱动程序和GPU重置,而无需重新启动? 背景: 我有1.0,1.1,1.3和2.0卡,但现在只有1.1和2.0卡。 我已经看到1.0和1.1的问题。 我很确定我已经看到它在1.3。 我不确定2.0。 内存保护是否在1.3左右增加了一些时间? 我几乎可以肯定,这不是由于硬件不稳定,因为这些问题似乎是由我的代码中的错误触发的,并且在修复错误时消失了。 运行完成的代码时,卡片已经稳定。 在我的1.1卡上看到这个问题之后我写了这个问题,但是在我修正了一个bug之后,它就消失了,现在我没有任何代码可以重现它。 也许我应该试着写在1.1卡的随机位置,看看是否有任何事情发生…