gpgpu相关内容

在PyCUDA上共享内存入门

我正在尝试通过玩以下代码来了解共享内存: 将pycuda.driver导入为drv导入pycuda.tools导入pycuda.autoinit导入numpy从pycuda.compiler导入SourceModulesrc ='''__global__ void reduce0(float * g_idata,float * g_odata){extern __shared__ float s ..
发布时间:2021-04-27 20:10:32 Python

nvidia-smi如何工作?

允许nvidia-smi提取硬件级别详细信息的内部操作是什么?即使在GPU设备上已经运行了某些进程并获得了利用率详细信息,进程的名称和ID等,该工具仍会执行.是否可以在用户级别开发此类工具?NVML有什么关系? 解决方案 Nvidia-smi是 ..
发布时间:2021-04-27 20:10:10 其他开发

GPU上的模块化算术

我正在研究应该执行大量模块化计算的GPU算法.特别是,从长远来看,对有限域中的矩阵进行各种运算简化为原始运算,例如:(a * b-c * d)mod m或(a * b + c)mod m,其中a,b,c和d是模m的残基,m是32位素数. 通过实验,我了解到该算法的性能主要受慢模运算的限制,因为硬件中的GPU不支持整数模(%)和除法运算. 我很高兴有人能给我一个想法,如何使用CUDA实现 ..
发布时间:2021-04-27 20:08:50 其他开发

如何在Numba结束之前停止/取消Numba启动的cuda内核?

我有一个使用Python/Numba编写的模拟程序,其中使用了多个cuda GPU.每一个都是使用单独的cuda上下文从不同的过程启动的.此模拟运行了一个很长的循环,最后将结果报告给父过程,该过程存储了到目前为止的最佳结果,并且过程一直在进行. 当一个GPU/进程完成其内核并报告新的最佳结果时,我想终止其他进程/GPU上的内核执行,以便他们可以选择这个新的最佳结果并对其进行迭代,而不是等待它 ..
发布时间:2021-04-27 20:08:31 其他开发

为什么CUDA中存在扭曲级同步原语?

关于CUDA中的 __ syncwarp(),我有两个问题: 如果我理解正确,那么将在SIMD功能中执行CUDA中的扭曲.难道不意味着warp中的所有线程都始终同步吗?如果是这样, __ syncwarp()到底是做什么的,为什么有必要? 假设我们启动了一个内核,该内核的块大小为1024,其中一个块中的线程分为每组32个线程的组.每个线程都通过共享内存与该组中的其他线程通信,但不与该组外的 ..
发布时间:2021-04-27 20:08:17 其他开发

我可以在非NVIDIA GPU上使用CUDA吗?

我正在寻找一种在没有NVIDIA GPU的系统上运行CUDA程序的方法. 我尝试安装MCUDA和gpuOcelot,但安装似乎出现了一些问题. 我已经仔细阅读了如何使用软件实现在没有GPU的情况下运行CUDA?.那里的答案建议使用仿真器(现已弃用)更改系统的硬件,或切换到OpenCL.这些都不能充分满足我的要求 解决方案 CUDA是NVIDIA专有技术,并且当前唯一可用的,有用 ..
发布时间:2021-04-27 20:07:38 其他开发

在不使用cuda或opencl等任何库的情况下对GPU进行编程?

我想知道有没有一种方法可以使用GPU进行计算(例如,两个矩阵的乘法)而无需使用任何库或API.我只想用C编写程序,并且不想使用CUDA或OpenCL或类似的东西. 解决方案 最简短的答案是,不是,您不能这样做.我熟悉的所有标准"C或C ++类" GPU编程模型都要求您使用API​​(如OpenCL或OpenCL等计算API,或诸如OpenGL和Direct3D之类的图形API)来管理设备以 ..
发布时间:2021-04-27 20:07:26 其他开发

CUDA/C-在内核函数中使用malloc会得出奇怪的结果

我是CUDA/C的新手,也是堆栈溢出的新手.这是我的第一个问题. 我正在尝试在内核函数中动态分配内存,但结果出乎意料.我在内核中使用malloc()读取会降低很多性能,但是无论如何我都需要它,因此我首先尝试使用一个简单的 int ** 数组只是为了测试可能性,然后我实际上需要分配更复杂的结构. 在我的主要语言中,我使用了 cudaMalloc()为 int * 的数组分配了空间,然后我 ..
发布时间:2021-04-27 20:07:22 其他开发

CUDA编译器无法编译简单的测试程序

我正在尝试在装有NVIDIA GEFORCE RTX 2080 SUPER显卡的PC上安装NVIDIA的CUDA并进行安装.经过数小时的尝试不同的事情和大量的研究,尽管使用CLion尝试使用CUDA还是行不通的,但是我已经使CUDA可以使用命令提示符来工作了. 使用 nvcc main.cu -o build.exe 从命令行生成可执行文件,我可以在GPU上运行它,但是在尝试使用CL ..
发布时间:2021-04-19 20:27:54 C/C++开发

将GPU YUV转换为RGB.值得努力?

我必须将YUV 4:2:2的多个完整PAL视频(720x576 @ 25)实时转换为RGB,并且可能每个视频都需要自定义调整大小. 我已经考虑过使用GPU,因为我已经看到了一些可以做到这一点的示例(只是4:4:4,因此bpp在来源和命运上都是相同的)-但是,我没有使用GPU的经验,我不确定该怎么做.据我了解,该示例只是将视频帧转换为YUV并将其显示在屏幕上. 是否可以获取已处理的帧?将它发送 ..
发布时间:2020-11-20 00:20:43 其他开发

GPU没有在Julia集计算中提高性能

我正在尝试比较CPU和GPU的性能.我有 CPU:英特尔®酷睿™i5 CPU M 480 @ 2.67GHz×4 GPU:NVidia GeForce GT 420M 我可以确认GPU已配置并且可以在CUDA上正常使用. 我正在实现Julia集计算. http://en.wikipedia.org/wiki/Julia_set 基本上对于每个像素,如果坐标在集合中,它将被涂成红 ..
发布时间:2020-11-20 00:18:37 其他开发

如何启用CUDA仅用于计算目的,而不用于显示

使用nvidia gt 440 gpu的Iam.它同时用于显示和计算目的,导致计算时性能降低.我可以仅出于计算目的启用它吗?如果是这样,我如何禁用它来使用显示. 解决方案 这取决于-您是在Windows还是Linux上工作?机器中是否还有其他显示适配器(图形卡)? 如果您使用的是Linux,则可以在不使用X Windows Server的情况下(即从终端)运行,也可以在不使用SSH的 ..
发布时间:2020-11-20 00:18:35 其他开发

如何释放gpu内存?

运行theano时,出现错误:内存不足.见下文. 可以采取哪些可能的措施来释放内存? 我知道我可以关闭应用程序等,但是我只想看看是否有人有其他想法.例如,是否可以保留内存? THEANO_FLAGS = mode = FAST_RUN,device = gpu,floatX = float32 python conv_exp.py使用gpu设备0:GeForce GT 650M尝试在以下环境 ..
发布时间:2020-11-20 00:17:38 其他开发

CUDA .ptx文件可移植吗?

我正在研究 cudaDecodeD3D9示例以了解CUDA的工作原理,并在编译时从.cu文件生成.ptx文件.就目前为止,据我了解,该.ptx文件是一个中间表示,可以针对任何特定GPU进行即时编译.该示例使用类cudaModuleMgr通过cuModuleLoadDataEx加载此文件. .ptx文件为文本格式,我可以看到它的顶部是机器上的一堆硬编码路径,包括用户文件夹,即: ..
发布时间:2020-11-20 00:17:35 C/C++开发

cudaDeviceScheduleBlockingSync和cudaDeviceScheduleYield之间有什么区别?

如此处所述:如何减少CUDA同步延迟/延迟 有两种方法可以等待来自设备的结果: “轮询"-旋转刻录CPU-减少等待结果时的延迟 “阻塞"-线程一直处于睡眠状态,直到发生中断为止-以提高总体性能 对于“轮询" ,需要使用CudaDeviceScheduleSpin. 但是对于“阻止" ,我需要使用CudaDeviceScheduleYield或cudaDeviceSched ..
发布时间:2020-11-20 00:17:30 其他开发

什么是GPU上的相干内存?

我一次也没有迷失在 的术语“非连贯"和“连贯"记忆中 与图形编程有关的技术论文.我一直在寻找简单明了的解释,但是发现大部分此类的“硬核"论文.我很高兴收到外行的关于GPU架构上实际上是什么一致性内存以及如何将其与其他(可能是非一致性)内存类型进行比较的风格答案. 解决方案 内存就是内存.但是不同的事物可以访问该内存. GPU可以访问内存,CPU可以访问内存,也许还可以访问其他硬件位. ..
发布时间:2020-11-20 00:17:29 其他开发