gpgpu相关内容
我正在尝试通过玩以下代码来了解共享内存: 将pycuda.driver导入为drv导入pycuda.tools导入pycuda.autoinit导入numpy从pycuda.compiler导入SourceModulesrc ='''__global__ void reduce0(float * g_idata,float * g_odata){extern __shared__ float s
..
允许nvidia-smi提取硬件级别详细信息的内部操作是什么?即使在GPU设备上已经运行了某些进程并获得了利用率详细信息,进程的名称和ID等,该工具仍会执行.是否可以在用户级别开发此类工具?NVML有什么关系? 解决方案 Nvidia-smi是
..
我正在研究应该执行大量模块化计算的GPU算法.特别是,从长远来看,对有限域中的矩阵进行各种运算简化为原始运算,例如:(a * b-c * d)mod m或(a * b + c)mod m,其中a,b,c和d是模m的残基,m是32位素数. 通过实验,我了解到该算法的性能主要受慢模运算的限制,因为硬件中的GPU不支持整数模(%)和除法运算. 我很高兴有人能给我一个想法,如何使用CUDA实现
..
我有一个使用Python/Numba编写的模拟程序,其中使用了多个cuda GPU.每一个都是使用单独的cuda上下文从不同的过程启动的.此模拟运行了一个很长的循环,最后将结果报告给父过程,该过程存储了到目前为止的最佳结果,并且过程一直在进行. 当一个GPU/进程完成其内核并报告新的最佳结果时,我想终止其他进程/GPU上的内核执行,以便他们可以选择这个新的最佳结果并对其进行迭代,而不是等待它
..
尝试在win-XP + VS2005下编译Merrill的基数排序时出现错误. 错误:asm操作数类型size(1)与约束'r'隐含的类型/大小不匹配. 它在以下代码中发生 #define B40C_DEFINE_GLOBAL_LOAD(base_type,dest_type,short_type,ptx_type,reg_mod)\asm("ld.global.cg."#ptx_
..
关于CUDA中的 __ syncwarp(),我有两个问题: 如果我理解正确,那么将在SIMD功能中执行CUDA中的扭曲.难道不意味着warp中的所有线程都始终同步吗?如果是这样, __ syncwarp()到底是做什么的,为什么有必要? 假设我们启动了一个内核,该内核的块大小为1024,其中一个块中的线程分为每组32个线程的组.每个线程都通过共享内存与该组中的其他线程通信,但不与该组外的
..
我正在寻找一种在没有NVIDIA GPU的系统上运行CUDA程序的方法. 我尝试安装MCUDA和gpuOcelot,但安装似乎出现了一些问题. 我已经仔细阅读了如何使用软件实现在没有GPU的情况下运行CUDA?.那里的答案建议使用仿真器(现已弃用)更改系统的硬件,或切换到OpenCL.这些都不能充分满足我的要求 解决方案 CUDA是NVIDIA专有技术,并且当前唯一可用的,有用
..
我想知道有没有一种方法可以使用GPU进行计算(例如,两个矩阵的乘法)而无需使用任何库或API.我只想用C编写程序,并且不想使用CUDA或OpenCL或类似的东西. 解决方案 最简短的答案是,不是,您不能这样做.我熟悉的所有标准"C或C ++类" GPU编程模型都要求您使用API(如OpenCL或OpenCL等计算API,或诸如OpenGL和Direct3D之类的图形API)来管理设备以
..
我是CUDA/C的新手,也是堆栈溢出的新手.这是我的第一个问题. 我正在尝试在内核函数中动态分配内存,但结果出乎意料.我在内核中使用malloc()读取会降低很多性能,但是无论如何我都需要它,因此我首先尝试使用一个简单的 int ** 数组只是为了测试可能性,然后我实际上需要分配更复杂的结构. 在我的主要语言中,我使用了 cudaMalloc()为 int * 的数组分配了空间,然后我
..
我正在尝试在装有NVIDIA GEFORCE RTX 2080 SUPER显卡的PC上安装NVIDIA的CUDA并进行安装.经过数小时的尝试不同的事情和大量的研究,尽管使用CLion尝试使用CUDA还是行不通的,但是我已经使CUDA可以使用命令提示符来工作了. 使用 nvcc main.cu -o build.exe 从命令行生成可执行文件,我可以在GPU上运行它,但是在尝试使用CL
..
我在Qualcomm Adreno 630 GPU上基准测试了一个简单的矩阵换位内核,并且试图查看不同工作组规模的影响,但是令人惊讶的是,我得到了一些有趣的结果,我无法解释.这是我的内核代码: __kernel void transpose(__global float *input, __global float *output, const int width, const int he
..
我正试图了解Tensorflow中GPU上的并行性,因为我需要将其应用于丑陋的图上. import tensorflow as tf from datetime import datetime with tf.device('/device:GPU:0'): var = tf.Variable(tf.ones([100000], dtype=tf.dtypes.float32),
..
我必须将YUV 4:2:2的多个完整PAL视频(720x576 @ 25)实时转换为RGB,并且可能每个视频都需要自定义调整大小. 我已经考虑过使用GPU,因为我已经看到了一些可以做到这一点的示例(只是4:4:4,因此bpp在来源和命运上都是相同的)-但是,我没有使用GPU的经验,我不确定该怎么做.据我了解,该示例只是将视频帧转换为YUV并将其显示在屏幕上. 是否可以获取已处理的帧?将它发送
..
我的代码运行正常.但是,现在我收到一条错误消息: Using gpu device 0: GeForce GT 750M WARNING (theano.gof.cmodule): ModuleCache.refresh() Found key without dll in cache, deleting it. /Users/mas/.theano/compiledir_Darwin-14
..
我正在尝试比较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 基本上对于每个像素,如果坐标在集合中,它将被涂成红
..
使用nvidia gt 440 gpu的Iam.它同时用于显示和计算目的,导致计算时性能降低.我可以仅出于计算目的启用它吗?如果是这样,我如何禁用它来使用显示. 解决方案 这取决于-您是在Windows还是Linux上工作?机器中是否还有其他显示适配器(图形卡)? 如果您使用的是Linux,则可以在不使用X Windows Server的情况下(即从终端)运行,也可以在不使用SSH的
..
运行theano时,出现错误:内存不足.见下文. 可以采取哪些可能的措施来释放内存? 我知道我可以关闭应用程序等,但是我只想看看是否有人有其他想法.例如,是否可以保留内存? THEANO_FLAGS = mode = FAST_RUN,device = gpu,floatX = float32 python conv_exp.py使用gpu设备0:GeForce GT 650M尝试在以下环境
..
我正在研究 cudaDecodeD3D9示例以了解CUDA的工作原理,并在编译时从.cu文件生成.ptx文件.就目前为止,据我了解,该.ptx文件是一个中间表示,可以针对任何特定GPU进行即时编译.该示例使用类cudaModuleMgr通过cuModuleLoadDataEx加载此文件. .ptx文件为文本格式,我可以看到它的顶部是机器上的一堆硬编码路径,包括用户文件夹,即:
..
如此处所述:如何减少CUDA同步延迟/延迟 有两种方法可以等待来自设备的结果: “轮询"-旋转刻录CPU-减少等待结果时的延迟 “阻塞"-线程一直处于睡眠状态,直到发生中断为止-以提高总体性能 对于“轮询" ,需要使用CudaDeviceScheduleSpin. 但是对于“阻止" ,我需要使用CudaDeviceScheduleYield或cudaDeviceSched
..
我一次也没有迷失在 的术语“非连贯"和“连贯"记忆中 与图形编程有关的技术论文.我一直在寻找简单明了的解释,但是发现大部分此类的“硬核"论文.我很高兴收到外行的关于GPU架构上实际上是什么一致性内存以及如何将其与其他(可能是非一致性)内存类型进行比较的风格答案. 解决方案 内存就是内存.但是不同的事物可以访问该内存. GPU可以访问内存,CPU可以访问内存,也许还可以访问其他硬件位.
..