问题标签 [multiple-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.

0 投票
1 回答
293 浏览

gpu - 带有 Vulkan 的外部 GPU

根据这个 Vulkan 教程,我可以vkEnumeratePhysicalDevices用来获取可用 GPU 的列表。但是,我看不到我的外部 NVIDIA GPU,只有我的 Intel iGPU。

这个 eGPU 通过 Thunderbolt 连接并且运行 CUDA 代码很好。有什么我可能错过的吗?它应该开箱即用吗?

我的机器正在运行带有最新专有 NVIDIA 驱动程序的 Arch Linux。

eGPU 是 NVIDIA GTX 1050 ( Lenovo Graphics Dock )。有没有可能它只是不支持 Vulkan?

0 投票
0 回答
248 浏览

tensorflow - 使用 MirroredStrategy() 卡住模型

我尝试使用来自 Tensorflow 的 MirroredStrategy() 在 Keras 中使用多个 GPU(2)。但是,它会导致以下错误:

此时模型被冻结。这意味着它仍在运行,但它什么也不做。

如果我在没有 MirroredStrategy() 的情况下运行它,它完全可以正常工作,但当然它只使用 1 个 GPU。

我像这样使用 MirroredStrategy() :

可能是什么错误?

0 投票
1 回答
49 浏览

matlab - 如何在 MATLAB 上使用多个 GPU - 设备内存不足

我有 4 个 GPU 设备(每个 11GB 内存)。现在,我想添加两个大矩阵 A 和 B(每个 6GB),这样一个设备的内存中就不可能有两个矩阵。我想知道在这种情况下如何执行添加?

例如,有没有办法使用多个 GPU 执行加法运算,一个 GPU 用于矩阵 A,一个用于矩阵 B,第三个用于结果矩阵 C?

0 投票
1 回答
179 浏览

c - 在 OpenCl 中,多个 gpu 比单个 gpu 慢。我怎样才能更快?

我制作了向量加法内核并在单个 gpu 和多个 gpu 中运行它。然而,在多 gpu 的情况下,在相同长度的向量加法中,它比单个 gpu 慢得多。

我的代码结构是一个上下文,一个内核和多个队列,它们具有相同数量的设备。在多 GPU 情况下,如何更快地进行修改?

代码如下

0 投票
1 回答
91 浏览

spacy - 在多个 GPU 上运行 spacy 以预测 ner

我正在使用 spacy 来预测使用 gpu 的 ner 标签。我有一台更大的机器,有 8 个 GPU,我想使用所有这些 GPU。

使用所有 gpu 的一种方法是在每个 gpu 上运行 8 个不同的脚本,然后使用 kafka 队列将文本传递给每个脚本。

有没有其他方法可以让我们使用单个脚本来使用所有 gpus 来预测 ner.

0 投票
0 回答
1151 浏览

pytorch - RuntimeError:cublas 运行时错误:GPU 程序无法在 /pytorch/aten/src/THC/THCBlas.cu:450 处执行

我的程序在两个 GPU 上都能正常工作,但在到达 torch.bmm 时会引发此错误

我该如何解决这个问题?

0 投票
0 回答
75 浏览

python - 可以在图形的部分而不是整个 train_step 上使用 tf.distribute.Strategy.mirroredstrategy 用于 GAN 自定义训练脚本?

我正在编写 CTGAN 代码并希望它以分布式方式进行训练。因此我正在使用tf.distribute.Strategy.mirroredstrategy() 在我正在关注的tensorflow 文档教程中,提到你应该从一个名为 Distribute_trainstep() 的函数中调用你的 train_step 代码,并用 tf.function 装饰它. 像这样:

这很简单,但是在 tf.function 中装饰 train_step 中的所有内容会使 train_step 中的所有 numpy 代码变得无用。我应该怎么办?是否有替代方法,仅通过有选择地在 train_step 中包装函数?还是我必须用 tensorflow 替换所有 numpy 操作?

0 投票
0 回答
43 浏览

python - 使用 ImageDataGenerator 将 Imagenet 数据加载到多个 GPU 上

我正在尝试从文件夹加载 Imagenet 数据集以在 ResNet18 模型上对其进行训练。由于 Imagenet 是一个大型数据集,我试图将数据样本分布在多个 GPU 上。当我检查是否使用 nvidia-smi 进行训练时,它显示训练已在上述 GPU 上开始。然而,训练精度并没有随着时间的推移而提高,而且损失似乎也没有减少。我怀疑这可能是因为我的 x_train 和 y_train 在 GPU 上分发时的加载方式。

  1. 我很想知道 x_train, y_train = next(train_generator) 是否实际上在每个时期迭代所有数据集。如果不是,那么我只训练 125(batch_size=125) 个数据样本。

  2. 在多个 GPU 上分布数据时,如何有效地将张量数据提供给 from_tensor_slices()。

0 投票
1 回答
476 浏览

python-3.x - PyTorch 自定义转发功能不适用于 DataParallel

编辑:我试过 PyTorch 1.6.0 和 1.7.1,都给了我同样的错误。

我有一个模型,可以让用户在不同的架构 A 和 B 之间轻松切换。两种架构的转发功能也不同,所以我有以下模型类:

PS我这里只是用一个非常简单的例子来演示我的问题,实际模型要复杂得多。

它在单个 GPU 情况下运行良好。然而,在多 GPU 的情况下,它会给我一个错误。

RuntimeError: 期望所有张量都在同一个设备上,但发​​现至少有两个设备,cuda:0 和 cuda:1!(在方法 wrapper_addmm 中检查参数 mat1 的参数时)

如何使这个模型类工作nn.DataParallel

0 投票
0 回答
13 浏览

multithreading - 在多个 GPU 上实现卷积的问题

目前我正在尝试通过将一个卷积分成 4 个子部分并将它们发送到 4 个不同的 GPU 来实现 Group_Convolution,以减少模型的推理时间。我使用多线程来期望它们同时运行。但是,当我通过 nvidia-smi 命令检查 GPU 内部的操作时,数据仍然从 GPU0 传输到 GPU 1、2、3 并按顺序执行,而不是并行执行。你能帮我纠正这个吗?谢谢

这是我的组卷积代码: