jjzjj

cudaEventRecord() 在 Visual Studio CPU 代码上计时不正确

在做NVIDIA制作的CUDA的一些基本示例时,我复制了一些代码来测试从CPU到GPU计算的矩阵乘法加速。查看结果30分钟后,看到我的CPU(是CPU)的计算速度比我的GPU快1000倍,我意识到时序工作不正常。一段代码看起来像(这是来自NVIDIA的代码)://CreatetimerscudaEvent_tstart;cudaEvent_tstop;floatsimpleKernelTime;floatoptimisedKernelTime;//starttimercudaEventCreate(&start);cudaEventCreate(&stop);cudaEventReco

windows - 在 Windows 中将 .cu 文件转换为 .ptx 文件

我在Windows中进行gpgpu编程,我一直在Microsoftvisualstudio2010中进行编程。但出于某种原因,我需要使用matlab来运行我的cuda内核。所以我在检查this网站,他们提到我需要从.cu文件创建一个.ptx来运行我的cuda内核。但我使用的是Windows,我想在Windows中创建.ptx文件。如果有人能指导我知道如何将.cu文件转换为.ptx文件,那将非常有帮助。谢谢 最佳答案 一种方法是从命令行执行此操作。您可能需要知道nvcc.exe和cl.exe(MSVC编译器)的位置。在我的例子中,我安

windows - CUDA、Win7、Qt Creator - LNK1104 : cannot open file '<cuda file>.obj'

我正在尝试将CUDA与QtCreator、Win7和VS2012编译器一起使用。我有在Windows上使用Qt的经验,但未能成功设置将CUDA代码集成到Qt项目中。我已经尝试了几个已发布的解决方案(例如CompilingCudacodeinQtCreatoronWindows),但都没有成功。我最终决定简化我的代码并将其基于这篇博文:https://cudaspace.wordpress.com/2012/07/05/qt-creator-cuda-linux-review/但仍有问题。目前,我收到错误“LNK1104:无法打开文件‘obj\cuda_code.obj’”我的.pro文

linux - 如何在 Windows 上的 Visual Studio 中编写 CUDA 并将其部署到 Linux?

我正在协助一位教授为并行编程类(class)设置一个实验室。该过程如下:一名学生登录运行Windows7的虚拟机。这台机器没有可用的GPU。它安装了7.5版的CUDA工具包以及VisualStudio2013。学生应该使用VisualStudio编写他们的CUDA程序/项目。为了测试/运行这些项目,学生可以远程访问相当高端的机器。我没有物理访问它的权限,但从我使用命令行可以看出,它有四个NVIDIATeslaM40。学生可以通过SSH远程访问这台机器。但是,问题是这台机器运行的是Linux(Ubuntu14.04.5)。我正在尝试弄清楚如何将学生在Windows上的VisualStud

windows - Windows 上的 CUDA 安装

我在没有nvidia显卡的Windows7上安装了CUDAToolkit3.2、CUDASDK和MSVisualStudio2008(不一定按此顺序)。但是当我尝试运行我的CUDA代码时,无法识别CUDA关键字。我是初学者。请告诉我我在这里做错了什么。谢谢 最佳答案 您正在使用nvcc进行构建吗?否则,VisualC++将因特定于CUDA的语法而窒息。 关于windows-Windows上的CUDA安装,我们在StackOverflow上找到一个类似的问题:

windows - 64位机器需要64位SDK吗

我的实验室刚收到一台TeslaC2070,该卡安装在运行WindowsServer64位的机器上。我应该写一些cuda模拟。我需要安装64位版本的SDK和CUDA工具包吗?我问的原因是因为我想使用Visualc++express进行编译,它们似乎真的是面向32位的。或者是否有另一个编译器可以让我完全摆脱这种限制?谢谢。编辑1感谢您的回答。到目前为止,我可以编译32位cuda/openCL代码。安装SDK后,将目标更改为64并链接到64b库,但仍然无法正常工作。C:\ProgramFiles(x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizati

c++ - 检查 CUDA 存在的程序需要 CUDA?

我编写了一个简单的应用程序来检查计算机上是否有NVIDIACUDA。如果找到支持CUDA的设备,它只会显示true。我将应用程序发送到第二台PC,但应用程序没有运行-出现一个对话框,提示未找到cudart.dll。我想检查CUDA是否存在,它需要CUDA来做:)我正在使用CUDA5.0、VS2012、VC++11、Windows7。我能否以所有CUDA库都在可执行文件中的方式编译应用程序?所以场景是:我的应用已编译并发送到计算机计算机可以:正在运行windows、linux(我的应用程序与系统兼容)是否有GPU有没有nvidiaGPU是否安装了CUDA只有当2.3和2.4为正时(GPU

Ubuntu更新显卡驱动与升级cuda版本“采坑“小记

1.写在前面这次记录下今天安装百度的自动驾驶框架Apollo的时候,在硬件环境上采的一些坑,花费了5个多小时的时间,才把Apollo框架装上且能正常使用GPU,通过今天的摸索,让我对Cuda升级和显卡驱动等有了一定的了解。关于Apollo框架的安装过程,可以直接见官网我直接按照这个步骤来的,一开始是直接按照官网上说的步骤来的,不过之前由于实验室服务器上都装好了cuda等,所以这步跳了过去。从docker这里开始。把前面的基础工作弄完之后,然后开始安装Apollo,这个也没费多大劲,装完。然后apollo项目主目录,通过命令./apollo.sh拉镜像建容器然后启动,本以为大功告成,结果到最后告

windows - x64 允许每个 block 的线程数少于 Win32?

当我执行一些cuda内核时,我注意到对于我自己的许多cuda内核,x64构建会导致失败,而Win32不会。我很困惑,因为cuda源代码是相同的,而且构建很好。就在x64执行时,它说它需要太多资源来启动。但是x64在概念上不应该比Win32允许更多的资源吗?如果可能的话,我通常喜欢每个block使用1024个线程。因此,为了使x64代码工作,我必须将block缩小到256。有人知道吗? 最佳答案 是的,这是可能的。大概您正在谈论的问题是registers-per-threadissue.在32位模式下,所有指针都是32位的,只需要一个

windows - cuda nvcc 交叉编译器

我想在Mac上编译CUDA代码,但使其在Windows上可执行。有没有办法设置nvccCUDA交叉编译器?问题是由于旅行,我的桌面窗口将有一段时间无法访问,但是我不想浪费时间等待我回来编译代码。如果我必须等待,那么调试代码并确保它编译正确等等都是浪费时间。不过,我的Mac没有配备支持cuda的硬件。 最佳答案 简短的回答是,不,这是不可能的。这是一个常见的误解,但nvcc实际上并不是一个编译器。它是一个编译器驱动程序,并且在很大程度上依赖于主机C++编译器来引导主机和设备代码的编译。要为Windows编译CUDA,您必须使用Micr