nvidia相关内容

为 CPU 编译 cuda 代码

我正在研究 cuda 5.5,但我没有任何 Nvidia GPU.在旧版本的 nvcc 中有一个标志 --multicore 来为 CPU 编译 cuda 代码.在新版本的nvcc中,有什么选项??我在 Linux 上工作. 解决方案 CUDA 工具包,因为至少 CUDA 4.0 不支持在没有 GPU 的情况下运行 cuda 代码的能力. 如果你只是想编译代码,参考这个问题. ..
发布时间:2022-01-10 15:41:08 其他开发

CUDA5 示例:有人将一些 cutil 定义翻译成 CUDA5 吗?

有人开始使用 CUDA5 SDK 了吗? 我有一个旧项目使用了一些 cutil 函数,但它们已被新项目遗弃. 解决方案是大多数函数可以从 cutil*/cut* 转换为来自 helper*.h 标头的类似命名的 sdk* 等价物... 例如:cutStartTimer 变为 sdkCreateTimer就这么简单…… 解决方案 有人开始使用 CUDA5 SDK 了吗? ..
发布时间:2022-01-10 15:39:46 其他开发

在 CUDA 中使用常量

在 CUDA 中使用常量的最佳方式是什么? 一种方法是在常量内存中定义常量,例如: //CUDA 全局常量__constant__ int M;诠释主要(无效){...cudaMemcpyToSymbol("M", &M, sizeof(M));...} 另一种方法是使用 C 预处理器: #define M = ... 我认为使用 C 预处理器定义常量要快得多.那么在 CUDA 设备 ..
发布时间:2022-01-10 15:37:59 其他开发

cuda内核调用是同步的还是异步的

我读到可以使用内核启动来同步不同的块,即,如果我希望所有块在进行操作 2 之前完成操作 1,我应该将操作 1 放在一个内核中,将操作 2 放在另一个内核中.这样,我可以实现块之间的全局同步.但是,cuda c 编程指南提到内核调用是异步的,即.CPU 不会等待第一个内核调用完成,因此 CPU 也可以在第一个内核完成之前调用第二个内核.但是,如果这是真的,那么我们就不能使用内核启动来同步块.请让我知 ..
发布时间:2022-01-10 15:37:13 其他开发

在一个 GPU 上运行多个 CUDA 应用程序

CUDA 文档没有具体说明多少个 CUDA 进程可以共享一个 GPU.例如,如果我在系统中只安装了一张 GPU 卡的情况下,由同一用户启动多个 CUDA 程序,效果如何?能保证执行的正确性吗?在这种情况下,GPU 是如何调度任务的? 解决方案 来自独立主机进程的 CUDA 活动通常会创建独立的 CUDA contexts,每个进程一个.因此,从不同主机进程启动的 CUDA 活动将在同一设备 ..
发布时间:2022-01-10 15:35:02 其他开发

从命令提示符编译 CUDA 时出错

我正在尝试通过命令提示符在 Windows 7 上编译一个 cuda 测试程序,我是这个命令: nvcc test.cu 但我得到的只是这个错误: nvcc 致命:在 PATH 中找不到编译器“cl.exe" 什么可能导致这个错误? 解决方案 您需要将包含“cl.exe"文件的文件夹添加到您的路径环境变量中.例如: C:\Program Files\Microsoft Visua ..
发布时间:2022-01-10 15:29:32 其他开发

流式多处理器、块和线程 (CUDA)

CUDA 内核、流式多处理器和块和线程的 CUDA 模型之间有什么关系? 什么被映射到什么,什么被并行化以及如何?还有什么更高效,最大化块数还是线程数? 我目前的理解是每个多处理器有 8 个 cuda 内核.并且每个 cuda 核心将能够一次执行一个 cuda 块.并且该块中的所有线程都在该特定核心中串行执行. 这对吗? 解决方案 线程/块布局在CUDA 编程指南.特别是 ..
发布时间:2022-01-10 15:28:29 其他开发

CUDA 确定每个块的线程数、每个网格的块数

我是 CUDA 范式的新手.我的问题是确定每个块的线程数和每个网格的块数.有一点艺术和试验的作用吗?我发现很多例子都为这些东西选择了看似任意的数字. 我正在考虑一个问题,我可以将任意大小的矩阵传递给乘法方法.因此,C 的每个元素(如 C = A * B)将由单个线程计算.在这种情况下,您将如何确定线程/块、块/网格? 解决方案 通常,您希望调整块/网格的大小以匹配您的数据并同时最大化 ..
发布时间:2022-01-10 15:25:12 其他开发

如何选择在哪个 GPU 上运行作业?

在多 GPU 计算机中,如何指定 CUDA 作业应在哪个 GPU 上运行? 例如,在安装 CUDA 时,我选择安装 NVIDIA_CUDA-_Samples 然后运行多个 nbody 模拟实例,但是它们都在一个 GPU 0 上运行;GPU 1 完全空闲(使用 watch -n 1 nvidia-dmi 进行监控).检查 CUDA_VISIBLE_DEVICES 使用 回显 $CU ..
发布时间:2022-01-10 15:25:02 其他开发

如何让 tensorflow 在具有 2.x 能力的 GPU 上运行?

我已在 Linux Ubuntu 16.04 上成功安装了 tensorflow (GPU),并进行了一些小改动以使其与新的 Ubuntu LTS 版本兼容. 但是,我认为(谁知道为什么)我的 GPU 满足了大于 3.5 的计算能力的最低要求.情况并非如此,因为我的 GeForce 820M 只有 2.1.有没有办法让 tensorflow GPU 版本与我的 GPU 一起工作? 我问 ..
发布时间:2022-01-10 15:23:49 其他开发

如何获取 cuda 设备中的核心数?

我正在寻找一个计算我的 cuda 设备核心数的函数.我知道每个微处理器都有特定的内核,而我的 cuda 设备有 2 个微处理器. 我进行了很多搜索以找到一个计算每个微处理器内核数的属性函数,但我找不到.我使用下面的代码,但我仍然需要核心数? cuda 7.0 程序语言 C 视觉工作室 2013 代码: void printDevProp(cudaDeviceProp dev ..
发布时间:2022-01-10 15:23:34 其他开发

cuda上的128位整数?

我刚刚设法在 Linux Ubuntu 10.04 下安装了我的 cuda SDK.我的显卡是 NVIDIA geForce GT 425M,我想用它来解决一些繁重的计算问题.我想知道的是:有没有办法使用一些无符号的 128 位 int var?当使用 gcc 在 CPU 上运行我的程序时,我使用的是 __uint128_t 类型,但是将它与 cuda 一起使用似乎不起作用.有什么办法可以在 cu ..
发布时间:2022-01-10 15:21:29 其他开发

nvidia-smi Volatile GPU-Utilization 解释?

我知道 nvidia-smi -l 1 会每隔一秒提供一次 GPU 使用率(类似于以下内容).但是,我希望能解释一下 Volatile GPU-Util 的真正含义.这是使用的 SM 数量超过总 SM 的数量,还是占用率,还是其他什么? +-----------------------------------------------------------------------------+| ..
发布时间:2022-01-10 15:19:32 其他开发

什么是银行冲突?(做 Cuda/OpenCL 编程)

我一直在阅读 CUDA 和 OpenCL 的编程指南,但我无法弄清楚银行冲突是什么.他们只是深入研究如何解决问题,而没有详细说明主题本身.有人可以帮我理解吗?如果帮助是在 CUDA/OpenCL 的上下文中,或者只是计算机科学中一般的银行冲突,我没有偏好. 解决方案 对于 nvidia(和 AMD)gpus,本地内存分为内存库.每个 bank 一次只能寻址一个数据集,因此如果 halfwa ..
发布时间:2022-01-10 15:18:13 其他开发

了解CUDA网格尺寸、块尺寸和线程组织(简单解释)

如何组织线程以供 GPU 执行? 解决方案 硬件 例如,如果一个 GPU 设备有 4 个多处理单元,并且每个单元可以运行 768 个线程:那么在给定时刻,真正并行运行的线程不会超过 4*768 个(如果您计划更多线程,它们将等待轮到他们). 软件 线程以块的形式组织.一个块由一个多处理单元执行.可以使用 1Dimension(x)、2Dimensions (x,y) 或 ..
发布时间:2022-01-10 15:17:12 其他开发

CUDA 块/扭曲/线程如何映射到 CUDA 内核?

我已经使用CUDA几个星期了,但是我对blocks/warps/thread的分配有些疑问.我正在从教学的角度研究架构(大学项目),因此达到最佳性能不是我关心的问题. 首先,我想了解这些事实是否正确: 程序员编写内核,并在线程块网格中组织其执行. 每个块都分配给一个流式多处理器 (SM).一旦分配,它就不能迁移到另一个 SM. 每个 SM 将自己的块拆分为 Warps(当前 ..
发布时间:2022-01-10 15:16:44 其他开发