问题标签 [multi-gpu]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
compilation - CUDA多GPU内核编译
在编译在多个设备上启动内核的 CUDA 程序时,nvcc 是否会在内部为每个设备编译一个内核版本?
我问这个是因为我正在尝试使用 PyCUDA 并且正在为为什么我必须为即将启动内核的每个设备编译(调用 SourceModule)内核代码而苦苦挣扎。
谢谢你的帮助!
cuda - 多个 GPU 上的稀疏矩阵向量积
我想知道在多个(假设为 n 个)GPU 上的 CUDA 中计算稀疏矩阵向量乘积 y = Ax 的最快方法是什么。
我天真的方法是将向量 x 和 y 分成 n 个块,每个 GPU 上 1 个块。然后还将矩阵 A 拆分为更小的 n^2 块 A_ij 并计算
在不同的 GPU j=1..n 上,比如说 cuSPARSE。这行得通吗?使用统一的内存架构,原则上所有 GPU 都应该能够访问全局内存。
GPU之间的内存传输会非常慢吗?我不希望有很大的加速,但我想知道它是否会比在 1 个单 GPU 上进行矩阵向量乘法要慢。
linux - Linux 多 GPU 离屏渲染
我正在尝试在 Linux 上进行多 GPU 工作,特别是使用 2 个 k4200 quadro。我曾尝试使用 SLI,但即使使用 nvidia-xconfig 将 SLI 的 X11/xorg.conf 文件更改为 SFR,它似乎也没有使用第二个 GPU(我尝试过的 glmark2 测试保持不变球场)。所以第一个问题是如何在 Linux 中为这些卡启用 SLI?甚至可能吗?
如果不可能,我想知道是否可以手动拆分工作并在每个 GPU 上执行屏幕外渲染。但是,是否有与 wglEnumGpusNV 等效的 Linux/X11 来获取可用 GPU 的列表?我还希望使用 glXCopyImageSubDataNV 将数据从一个 GPU 复制到另一个。数据传输是通过 CPU(即慢速)还是直接在 GPU 之间传输?
matlab - Caffe:使用 Matlab 支持多 GPU (Matcaffe)
Caffe 是一个深度学习框架,还包括一个 Matlab 接口(Matcaffe)。虽然 Caffe 支持多个 GPU,但 Matcaffe 目前似乎不支持。有谁知道解决方法?
cuda - 运行多 GPU CUDA 示例 (simpleP2P) 时 P2P 内存访问失败
我正在尝试解决在运行 CUDA 示例中包含的 simpleP2P 示例程序时发现的错误。错误如下:
我使用的设备如下:
从 nvidia-smi 获得的有关连接的其他信息:
最后,来自 lspci 工具的更详细的输出。
你们中的任何人都有一些信息可以帮助我进行故障排除或至少更好地了解问题出在哪里?像往常一样感谢您的阅读/帮助。——奥马尔
cuda - cudaMemcpy D2D 标志 - 多个设备的语义,有必要吗?
我以前不需要在 2 个 GPU 之间存储数据。现在,我猜我会用国旗来做cudaMemcpy()
,cudaMemcpyDeviceToDevice
但是:
- 该
cudaMemcpyDeviceToDevice
标志是否用于在单个设备的内存空间内和所有设备的内存空间之间复制数据?
如果是,
- 如何区分不同设备上的内存指针?它是否使用统一虚拟地址空间机制的细节?
如果是这样的话,那么
- 为什么 cudaMemcpy 甚至有 H2D、D2H、D2D 标志?它不需要检查它需要寻址的设备吗?
- 我们不能使用
cuGetPointerAttribute()
CUDA 低级驱动程序实现无标志版本的 cudaMemcpy 吗?
parallel-processing - CUDA:我需要在多个 GPU 上并行执行不同的流吗?
我想在多个 GPU 上并行运行内核。为此,我在使用的设备之间切换cudaSetDevice()
,然后在相应的设备中启动我的内核。现在,通常一个流中的所有调用都是按顺序执行的,如果它们应该并行执行,则必须使用不同的流。使用不同设备时是否也是这种情况,或者在这种情况下我可以在两个设备上的默认流上运行我的内核调用并且它们仍将并行运行?
gpgpu - TensorFlow中序列到序列模型的分布式(多设备)实现?
这是一个关于在 TensorFlow 中训练序列到序列模型的非常好的教程。我只是想知道是否有一个分布式版本可以在单台机器上利用一组 GPU 以获得更好的性能?
TensorFlow 白皮书已经提到,可以训练大型多层循环神经网络(参见图 8和“模型并行训练”部分),如使用神经网络的序列到序列学习中使用的那样。有人知道当前的教程是否涵盖模型并行训练吗?如果不是,如何改进原始教程以利用一组 GPU?
cuda - Cuda 多个 GPU:所有 GPU 的型号相同?
多 gpu cuda 设置上的所有 GPU 是否必须是使用 CUDA 的同一型号 gpu?
例如,我现在有一个 Geforce 950。如果我再得到几张卡,它们都必须是 950 吗?(如果是这样,我是否必须留在同一家制造商?)
一个答案显示了如何在每个单独的 GPU 上控制 CUDA(假设 GPU 都是具有相同计算级别的 CUDA),并确认我可以购买不同型号的 NVIDIA 卡(在我花费 300 美元之前)并安装在同一个 CUDA 上install (因为 CUDA 工具是在每台机器上编译的),就足够了。
因此,例如,一个向我展示如何获取 tensorflow .py 脚本并在下面的答案中使用 CUDA 命令在我板上的三个 GPU 之一上运行它的答案也很好(对于为了这个问题;我想我现在肯定有足够的工作来找出答案)。
我相信这与 CUDA 软件如何处理硬件有关,并且在 SuperUser 上会偏离主题;但是我很高兴改变它。