问题标签 [pycuda]
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.
c++ - 使用 CUDA 实现、python (pycuda) 还是 C++ 处理图像?
我在一个使用 CUDA 处理图像的项目中。该项目只是图像的加法或减法。
请问您的专业意见,哪个最好,两者的优缺点是什么?
我感谢大家的意见和/或建议,因为这个项目对我来说非常重要。
python - 如何在 Linux 中分析 PyCuda 代码?
我有一个简单的(经过测试的)pycuda 应用程序,并正在尝试对其进行分析。我尝试了 NVidia 的 Compute Visual Profiler,它运行程序 11 次,然后发出此错误:
我还尝试运行“CUDA_PROFILE python scriptname.py arg1”。它创建了一个文件,其中包含:
如果它有用,我还设置了这些环境变量:
和 temp_cuda_profiler.conf 包含
谷歌搜索了一个小时左右。没运气。感谢您提供的任何见解!
python - PyCuda:可以导入模块,然后我不能...(PyCUDA 示例)
示例代码:
结果:
听起来很简单,所以让我们测试一下。
好吧,这很奇怪……
长话短说,即使将文件逐行进入 python 控制台,在实际执行 mod=SourceModule() 行之前也不会出错。
(最终追溯,我保证)
所以看起来 pycuda 的包含目录与运行时 python 不同,这不应该发生(据我了解)
有任何想法吗?(对不起,很长的问题)
Talonmies 提出了一个关于未找到 nvcc 的观点;除非 python 从我想不到的地方获取它的 envars,否则它没有理由不应该:
python - PyCUDA:C/C++ 包括?
任何地方都没有真正提到的东西(至少我可以看到)是哪些库函数暴露给内联 CUDA 内核。
具体来说,我正在做不值得单独卸载到 GPU 的小/愚蠢的矩阵乘法,但正在卸载包含此乘法的算法的更大部分。没有人喜欢使用他们自己的 linalg 函数,因为有人总是做得更好。
TLDR 在 PyCUDA 下的内联内核中我可以使用哪些库?
python - PyCUDA:设备代码中的 Pow 尝试使用 std::pow,失败
问题或多或少说明了一切。
据我了解,这应该使用 cuda pow 函数,但事实并非如此。
python - PyCUDA / Copperhead 似乎无法识别 64 位机器
我现在遇到的两个铜头问题,我怀疑是相关的。
运行一个示例文件 (samples/axpy.py) 会产生很多小警告,但这个比较突出。
需要注意的几件事;
g++ 已正确选择要使用的正确 CUDA lib 目录(lib64),但在那里看不到 libcudart.so,它就是。
接下来,没有找到boost_python;我从几个地方听说这是由于 ubuntu 在某处打破了包约定,人们说他们已经通过更改 pycuda 配置选项来修复它,但还没有说将它更改为什么......(示例)
有人对cudart或启动问题有任何想法吗?
python - PyCUDA GPUArray 基于切片的操作
PyCUDA 文档对我们这些“非大师”类中的示例有点轻,但我想知道 gpuarrays 上的数组操作可用的操作,即。如果我想 gpuarray 这个循环;
为此,常规的第一站 python 减少将类似于
但是我看不到使用 GPUArray 执行此操作的任何简单方法,除了编写自定义元素内核之外,即使遇到这个问题,内核中也必须有循环结构,在那个复杂点上,我可能会更好只写我自己成熟的 SourceModule 内核。
任何人都可以提示我吗?
python - PyCUDA 按值将变量传递给内核
应该足够简单;我真的想将一个 int 发送到 SourceModule 内核声明,其中 C 函数
声明并调用该值...
但是我从 pycuda 得到了各种错误,我使用了错误的类型。
python - PyCUDA 内存寻址:内存偏移?
我在设备上有大量生成的数据(A[i,j,k]),但我只需要 A[i,:,:] 的一个“切片”,在常规 CUDA 中这很容易用一些指针算术完成。
在pycuda中可以做同样的事情吗?IE
显然这是完全错误的,因为没有尺寸信息(除非从 dest 形状推断),但希望你明白吗?