问题标签 [gpuarray]

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 回答
555 浏览

python-3.x - 使用非 root 用户时使用 CUDA 安装 Theano 的问题

我已按照说明在系统文件夹中(而不是作为用户)从源代码(git 版本)安装 Theano 和 GPUArray。GPUArray 测试运行良好,没有错误。

问题是如果我以 root 身份运行,Theano 仅适用于 GPU。运行示例来测试 gpu

如果以 root 身份运行,它可以工作,尽管仍然存在与 cuDNN 无法识别设备相关的错误:

这台机器上有 2 个 Titan X。在 TensorFlow 上运行良好。我没有使用 .theanorc 文件,但我同时设置了:

我按照说明做了所有事情,尽管有一些警告,但没有错误。

我不认为这是 compile dir 的权限错误.theano,因为如果我 chown .theanodir 行为是相同的。

我怎样才能解决这个问题?

0 投票
0 回答
200 浏览

matlab - Matlab pdist2 和 mvnpdf 与 gpuArray

我在使用带有 gpuArrays 的 Statistics and Machine Learning Toolbox 的pdist2mvnpdf函数时遇到了麻烦,尽管它明确指出它应该可以工作:

https://de.mathworks.com/help/stats/statistics-and-machine-learning-toolbox-functions-with-gpuarray-arguments.html

我怎样才能使这项工作?

没有gpuArrays,使用这2个函数是没有问题的。

谢谢你的帮助。

编辑

我收到以下错误:

0 投票
0 回答
2848 浏览

cuda - Theano - pyGpuArray 找不到 libnvrtc.so

我最近更改了配置以更快地训练 CNN。我有一个 gtx 1080。对于我现有的大多数神经网络,我通过 python3 使用 theano 后端。

因为我读过 CUDA 7.5 没有完全使用 pascal 架构,所以我安装了 CUDA 8 和相应的 cudnn 6.X。

我的问题如下,pygpuarray 似乎无法找到“libnvrtc.so”:

我很确定 cuda 已安装,这是 nvcc --version 输出:

我在以下位置找到了该文件:/usr/local/cuda-8.0/lib64

奇怪的是“ldconfig -p | grep libnvcc”命令什么也没返回……

我希望这篇文章不存在于其他任何地方,我已经进行了一些搜索以防止这种情况发生,但你知道,互联网是巨大的。

问我是否需要更多信息。由于我没有设法解决这个问题,我显然不知道解决这个问题需要哪些信息,所以我做了这个小简历等待你的问题(如果需要)。

0 投票
1 回答
90 浏览

arrays - 在 matlab 中使用 gpuArray 而不是数组更高效?

如果我在以下链接中使用列表中的任何功能:

在 GPU 上运行内置函数, 参数类型为gpuArray而不是数组,计算结果会更快吗?如果答案是肯定的,是否存在使用数组而不是gpuArray更方便的情况?

据称这个问题是这个问题的重复:

为什么 MATLAB gpuarray 仅添加两个矩阵要慢得多?

显然情况并非如此,因为我是以一般方式询问的,而这是针对特定代码将 CPU 与 GPU 进行比较。最多,该链接应该提供这个问题的答案。

0 投票
0 回答
135 浏览

python - pyCuda 和 gpuarray.maximum 与 numpy 不同

也许我错过了一些东西。我正在使用 pycuda,我有以下矩阵 m_gpu:

我打印出第一列和第二行以进行完整性检查:

然后我进行元素比较以返回一个最大值数组,这是错误的,因为第三个元素应该是“5”但它是“1”:

可能是 gpuarray.maximum 中的错误?似乎不太可能。我使用常规 numpy 执行相同的操作,它返回正确的值。在 Windows 上使用 pycuda-2017.1.1+cuda8061-cp27。帮助?谢谢。

0 投票
0 回答
386 浏览

theano - 在 THEANO_FLAGS 中设置 CUDA 的路径

我尝试设置 THEANO_FLAGS,然后导入 Theano。这总是会导致错误。

如何将路径“/Developer/NVIDIA/CUDA-7.0/lib/libnvrtc.dylib”更改为“/usr/local/cuda/lib/libcuda.dylib”?

0 投票
1 回答
231 浏览

matlab - 是否可以使用 gpuArray 预分配一个数组,并在 mexcuda 设置中对其具有写权限?

我在 MatLab (2018a) 中编写了一段代码,它是标准 matlab 代码和 CUDA 代码的混合体,我使用编译与 mexcuda 将其链接起来。我的代码中的核心循环包含一个矩阵的插值,比如从大小 [nxm] 到 [N x M]。我已经使用 GPU 加快了这部分的速度。由于此插值在循环内,并且由于我插值的矩阵的大小(之前和之后)在循环的每次迭代中都是相同的,我想通过预先分配输出大小的数组来加速应用程序显卡。所以我想做类似的事情:zeros(N,M,'gpuArray')在开始时,将它作为输入提供给 mexFunction,然后将插值矩阵写入这个数组。这将节省相当多的分配时间([N_iterations-1]*allocation_time,粗略地说)。

我现在的问题是:我不知道这是否可能。使用 mexFunction() 作为入口点,我知道检索输入数组的唯一方法是使用以下内容:

但是,顾名思义,这会导致只读权限。我不能使用mxGPUGetData(in),因为 mxGPUArray 是const,不能用它初始化非常量实体。有谁知道是否有解决这个问题的方法不涉及在 mexFunction 内分配数组?

编辑:

下面的代码显示了两个 C 代码示例,其中第一个是我当前代码的类比,第二个是我正在努力的目标:

当前的:

主意:

以上两个是(至少在我看来)以下 matlab-cuda 混合代码的类比:

当前(matlab);mexcuda 函数需要为 input(:,:,indx) 的插值分配内存

想法:内存分配被移出 mexcuda 函数(因此,移出核心循环),并且 mexcuda 函数只需要检索指向这个(可写)数组的指针;

请注意,确实有可能进一步并行化:如前所述,我正处于并行化整个事物的中间步骤。

0 投票
1 回答
115 浏览

matlab - 将所有变量转换为 gpuArrays 不会加快计算速度

我正在使用 MATLAB 编写仿真,其中使用了 CUDA 加速。

假设我们有向量x和,y矩阵和标量A变量,,,,,。dtdxabc

我发现通过在运行迭代和内置函数之前放入 , ,可以显着加速x迭代yAgpuArray()

但是,当我尝试将dt, dx, a, b,之类的变量c放入 中gpuArray()时,程序会显着减慢 30% 以上。(时间从 7 秒增加到 11 秒)。

为什么将所有变量放入gpuArray()?

x(简短的评论,这些标量与, y, ,相乘A,并且从未在单独的迭代过程中使用过。)

0 投票
1 回答
192 浏览

matlab - 解释从输入到具有复杂结果的 GPU 计算的要求

考虑这行代码:

结果是:

现在考虑以下代码行:

结果是:

这个问题显然与double -> complex doubleGPU 上的转换有关,这是不允许的。确实,当我应用解决方法(文档中也提到过)时,它解决了问题 - 但我不明白为什么。

有人会对此有所了解吗?这是 VRAM 的一些限制吗?我正在使用的特定卡(我的是 GTX 660,CC 为 3.0)?MATLAB 的实现(我使用的是 R2018b)?操作系统?

0 投票
0 回答
158 浏览

matlab - 如何在 Matlab 中监控 GPU 使用情况

我有一个关于在 Matlab 中使用 GPU 的问题。我在 Matlab 网站上遵循了在 GPU 上运行的代码的简单代码但是当我运行代码并同时检查 CPU 和 GPU 时,我看到代码在 CPU 而不是 GPU 上运行!

实际上,Matlab 网站说gpuArray()自动在 GPU 上传输代码,但似乎代码是在 CPU 而不是 GPU 上运行的。

这是代码:

这是从处理统计数据中截取的快照。

在此处输入图像描述 我将不胜感激您能提供的任何帮助。