gpgpu相关内容

使用 CUDA 进行大整数加法

我一直在 GPU 上开发一种加密算法,目前坚持使用一种算法来执行大整数加法.大整数以通常的方式表示为一堆 32 位字. 例如,我们可以使用一个线程来添加两个 32 位字.为简单起见,假设要添加的数字具有相同的长度和每个块的线程数 == 字数.那么: __global__ void add_kernel(int *C, const int *A, const int *B) {int x = ..
发布时间:2022-01-10 15:30:46 其他开发

何时将 volatile 与共享 CUDA 内存一起使用

在什么情况下应该将volatile关键字与CUDA内核的共享内存一起使用?我知道 volatile 告诉编译器永远不要缓存任何值,但我的问题是关于共享数组的行为: __shared__ 浮动产品[THREADS_PER_ACTION];//一些计算产品[threadIdx.x] = localSum;//等待每个人完成计算__syncthreads();//然后是(基本的,丑陋的)减少:if ( ..
发布时间:2022-01-10 15:30:26 其他开发

如何在内核中动态分配数组?

我需要在内核函数内部动态分配一些数组.我该怎么做? 我的代码是这样的: __global__ func(float *grid_d,int n, int nn){整数 i, j;浮动 x[n],y[nn];//在这里做一些非常酷和繁重的计算,需要几个小时.} 但这行不通.如果这是在主机代码中,我可以使用 malloc.cudaMalloc 需要主机上的指针和设备上的其他指针.在内核函数内 ..
发布时间:2022-01-10 15:28:50 其他开发

Java 中 GPGPU/CUDA/OpenCL 的最佳方法?

图形处理单元(GPGPU)上的通用计算是一个非常有吸引力的概念GPU 的强大功能可用于任何类型的计算. 我很想将 GPGPU 用于图像处理、粒子和快速几何运算. 目前,该领域的两个竞争者似乎是 CUDA 和 OpenCL.我想知道: OpenCL 是否可以在 Windows/Mac 上的 Java 中使用? 与 OpenCL/CUDA 接口的库方法有哪些? 是否可以直接使用 ..
发布时间:2022-01-10 15:23:15 Java开发

nvidia-smi Volatile GPU-Utilization 解释?

我知道 nvidia-smi -l 1 会每隔一秒提供一次 GPU 使用率(类似于以下内容).但是,我希望能解释一下 Volatile GPU-Util 的真正含义.这是使用的 SM 数量超过总 SM 的数量,还是占用率,还是其他什么? +-----------------------------------------------------------------------------+| ..
发布时间:2022-01-10 15:19:32 其他开发

2D/3D CUDA 块是如何划分为 warp 的?

如果我用一个块有尺寸的网格开始我的内核: dim3 block_dims(16,16); 网格块现在如何分裂成经线?这种块的前两行形成一个扭曲,还是前两列,或者这是任意排序的? 假设 GPU 计算能力为 2.0. 解决方案 线程在块内按顺序编号,使得 threadIdx.x 变化最快,然后 threadIdx.y 变化第二快,threadIdx.z 变化最慢.这在功能上与多维数组 ..
发布时间:2022-01-10 15:18:43 其他开发

CUDA 应用程序超时 &几秒钟后失败 - 如何解决这个问题?

我注意到 CUDA 应用程序在失败并退出之前往往有大约 5-15 秒的粗略最大运行时间.我意识到最好不要让 CUDA 应用程序运行那么长时间,但假设使用 CUDA 是正确的选择,并且由于每个线程的顺序工作量必须运行那么长时间,有没有办法延长这段时间或绕过它? 解决方案 我不是 CUDA 专家,我一直在用 AMD Stream SDK 开发,AFAIK 差不多. 您可以禁用 Windo ..
发布时间:2022-01-10 15:17:42 其他开发

我应该用“if"语句统一两个相似的内核,冒着性能损失的风险吗?

我有 2 个非常相似的内核函数,代码几乎相同,但略有不同.目前我有两个选择: 编写 2 种不同的方法(但非常相似) 编写单个内核并将不同的代码块放在 if/else 语句中 if 语句会在多大程度上影响我的算法性能? 我知道没有分支,因为所有块中的所有线程都将进入 if 或 else. 那么如果内核函数被多次调用,单个 if 语句会降低我的性能吗? 解决方案 您还有第三种 ..
发布时间:2022-01-10 15:16:58 C/C++开发

CUDA 块/扭曲/线程如何映射到 CUDA 内核?

我已经使用CUDA几个星期了,但是我对blocks/warps/thread的分配有些疑问.我正在从教学的角度研究架构(大学项目),因此达到最佳性能不是我关心的问题. 首先,我想了解这些事实是否正确: 程序员编写内核,并在线程块网格中组织其执行. 每个块都分配给一个流式多处理器 (SM).一旦分配,它就不能迁移到另一个 SM. 每个 SM 将自己的块拆分为 Warps(当前 ..
发布时间:2022-01-10 15:16:44 其他开发

如何测量 NVIDIA CUDA 中的内核时间?

我想测量GPU的时间内核,如何在NVIDIA CUDA中测量它?例如 __global__ void kernelSample(){这里有一些代码获取开始时间这里有一些代码获取停止时间这里有一些代码} 解决方案 试试这个,它以毫秒为单位测量 2 个事件之间的时间. cudaEvent_t 开始,停止;浮动经过时间;cudaEventCreate(&start);cudaEventReco ..
发布时间:2022-01-10 15:16:18 其他开发

修改注册表以增加 GPU 超时,Windows 7

我正在尝试将 GPU 上的超时从默认设置 2 秒增加到更长的时间.我发现了以下 link 但它在 Windows 中似乎略有不同7 因为我看不到网页中提到的任何内容. 以前有人做过吗?如果可以,请您填补空白. 谢谢 @RoBik 如果我想要 6 天,如下所示(我知道有点过分,但只是举例)?再次感谢您的帮助,+1. 编辑这是我目前遇到的错误. 发生错误,操作已终止.CU ..
发布时间:2022-01-10 15:15:03 其他开发

似乎达到了 CUDA 限制,但那是什么限制?

我有一个 CUDA 程序,它似乎达到了某种资源的某种限制,但我不知道该资源是什么.这是核函数: __global__ void DoCheck(float2* points, int* segmentToPolylineIndexMap,int segmentCount, int* 输出){int segmentIndex = threadIdx.x + blockIdx.x * blockDi ..
发布时间:2022-01-10 15:12:36 其他开发

如何在 GLSL 中编写片段着色器来对 9 个浮点数的数组进行排序

我正在编写一个片段着色器,以便将 9 个图像放在一起. 我以前从未使用过 GLSL,但它似乎是适合这项工作的工具,因为 OpenCL 在 iOS 上不可用,而且 CPU 上的中位数效率低下.到目前为止,这是我所拥有的: uniform sampler2D frames[9];统一 vec2 wh;无效主要(无效){vec4 sortedFrameValues[9];浮动 sortedGra ..
发布时间:2022-01-09 09:33:19 其他开发

在 iPhone GPU 上解码视频帧

我正在寻找在 iPhone 上解码本地 mpeg-4 视频帧的最快方法.我只是对每 10 帧中像素的亮度值感兴趣.我不需要在任何地方渲染视频. 我尝试过 ffmpeg、AVAssetReader、ImageAssetGenerator、OpenCV 和 MPMoviePlayer,但它们都太慢了.我能得到的最快速度是 ~2x(一分钟扫描 2 分钟的视频).我想要接近 10 倍的东西. ..
发布时间:2022-01-09 09:25:49 移动开发

使用 OpenGL ES 2.0 进行 GPGPU 编程

我正在尝试在 GPU 上进行一些图像处理,例如中值、模糊、亮度等.一般的想法是做类似 这个框架 来自 GPU Gems 1. 我能够编写 GLSL 片段着色器来处理像素,因为我一直在效果设计器应用程序中尝试不同的东西. 但是我不确定我应该如何完成任务的另一部分.也就是说,我想以图像坐标处理图像,然后将结果输出到纹理.我知道 gl_FragCoords 变量. 据我了解,它是这样的 ..
发布时间:2022-01-09 09:21:44 其他开发

如何创建或操作 GPU 汇编程序?

有没有人有创建/操作 GPU 机器代码的经验,可能是在运行时? 我对修改 GPU 汇编代码感兴趣,可能在运行时以最小的开销进行修改.具体来说,我对基于汇编程序的遗传编程感兴趣. 我知道 ATI 已经为他们的一些卡发布了 ISA,而 nvidia 最近发布了一个用于旧卡的 CUDA 反汇编程序,但我不确定是否可以在运行时甚至事先修改内存中的指令. > 这可能吗?欢迎提供任何相关信息. ..
发布时间:2022-01-07 20:11:44 其他开发

神经网络的 Python 实时图像分类问题

我正在尝试使用 caffe 和 python 进行实时图像分类.我在一个过程中使用 OpenCV 从我的网络摄像头流式传输,并在一个单独的过程中使用 caffe 对从网络摄像头拉出的帧执行图像分类.然后我将分类的结果传回主线程来为网络摄像头流添加字幕. 问题是,即使我有一个 NVIDIA GPU 并且正在 GPU 上执行 caffe 预测,主线程也会变慢.通常不做任何预测,我的网络摄像头流以 ..
发布时间:2021-12-27 17:15:57 Python