问题标签 [gpgpu]
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.
.net-4.0 - .net 4.0 中的parallel-for 会自动获取GPU 计算的权限吗?
.net 4.0 中的parallel-for 会自动获取GPU 计算的权限吗?或者我必须配置一些驱动程序才能使用 GPU。
cuda - Cuda 优化技术
我编写了一个 CUDA 代码来解决一个 NP-Complete 问题,但性能并不像我想象的那样。
我知道“一些”优化技术(使用共享内存、纹理、零拷贝......)
CUDA 程序员应该知道的最重要的优化技术是什么?
matrix - 全局工作规模是否需要是 OpenCL 中工作组规模的倍数?
您好:在 OpenCL 中,全局工作大小(维度)是否需要是工作组大小(维度)的倍数?
如果是这样,是否有处理矩阵而不是工作组维度的倍数的标准方法?我能想到两种可能:
将工作组维度的大小动态设置为全局工作维度的一个因子。(这会产生寻找因素的开销,并可能将工作组设置为非最佳大小。)
将全局工作的维度增加到工作组维度的最接近倍数,保持所有输入和输出缓冲区相同,但检查内核中的边界以避免段错误,即对超出所需输出范围的工作项不做任何事情. (这似乎是更好的方法。)
第二种方法可行吗?有没有更好的办法?(或者因为工作组维度不需要划分全局工作维度,所以没有必要?)
谢谢!
frameworks - GPGPU before CUDA and OpenCL
I've been reading about CUDA and OpenCL and have learned that before these frameworks developers could only use low level APIs like OPENGL and D3D. Unfortunately I haven't been able to find much information about it.
Was it a widespread or commercial practice or was it just something they used in research and military labs? I'm sure somebody here will have experience with earlier GPGPU programming.
cuda - 如何以编程方式确定 GPU 的内存总线宽度和时钟频率?
如何以编程方式确定 GPU 的内存总线宽度和内存时钟频率?我想使用这些数字来计算最大理论内存带宽。我最感兴趣的是 NVIDIA GPU。
opencl - 可以跨 OpenCL 内核在 CPU 和 GPU 上同时运行
假设我有一台具有多核处理器和 GPU 的计算机。我想编写一个在平台的所有核心上运行的 OpenCL 程序。这是可能的还是我需要选择一个运行内核的设备?
string - 是否有用于为 GPU 排序字符串数组的算法?
要排序的数组大约有 100 万个字符串,其中每个字符串的长度可达 100 万个字符。
我正在寻找 GPU 排序算法的任何实现。
我有一个大小约为 1MB 的数据块,我需要构造suffix array。现在您可以看到如何在非常小的内存中拥有一百万个字符串。
php - Executing GPGPU program through WAMP
I have a program that uses the GPU for performing certain computations. I can get the program to run correctly using the command line. But when i try to execute the same statement through PHP, i run into trouble.
I'm using wamp 2.0, and I've tried the exec and proc_open functions to try to get the program to run, but even though the process starts correctly, when it comes to the GPU part, the program itself raises the error, "Shader not supported by your hardware". The program also initially detects the kind of graphics card being used, but this is not happening either.
To be clear, I haven't written the GPU program. And I can run the same statement directly from the command line, but not through php. What is the difference in executing a command from php rather than directly?
I'm using an NVIDIA GT8600 graphics card. Any help at all would be great.
In the program when it checks for graphics card vendor using glGetString(GL_VENDOR) it gets Microsoft Corporation instead of NVIDIA. This is causing all the problems, though i still don't know why its doing so only when i run it from php.
I've also tried running the php script standalone from the command line, and in this case my graphics card gets detected correctly and everything works fine, only when i go through my browser does it not work.
c - 我可以在 CUDA __global__ 函数的头文件中调用“类函数宏”吗?
这是我的头文件的一部分aes_locl.h
:
现在从.cu
文件中我声明了一个__ global__
函数并包含这样的头文件:
这导致我收到以下错误消息:
错误:从 __ device__/__ global__ 函数调用主机函数只允许在设备仿真模式下
我有示例代码,程序员以这种方式调用宏。
我可以这样称呼它,还是根本不可能?如果不是,我将欣赏一些关于重写宏并将所需值分配给S0
.
非常感谢你!!!!
opengl - DirectX/Cuda/OpenGL 的总/纹理可访问内存
有人可以解释一下在 Cuda 上下文中使用的纹理内存与在 DirectX 上下文中使用的纹理内存的区别。假设显卡有 512 MB 的标称内存,它是如何划分为常量内存/纹理内存和全局内存的。
例如,我有一张 tesla 卡,其 totalConstMem 为 64KB,totalGlobalMem 为 4GB,由 cudaGetDeviceProperties 查询,但没有变量告诉我需要多少纹理内存。
此外,当通过 DirectX 等图形 API 访问时,“纹理内存”是多少。我没有这些 API 的编程经验,所以我不知道他们可以如何访问以及访问什么样的内存。但是AFAIK,所有的内存访问都是硬件缓存的。如果我错了,请纠正我。
在 KoppeKTop 的回答之后:那么在 CUDA 和 DirectX 的情况下,共享内存是否充当纹理内存的自动缓存?无论如何,我不认为拥有另一个硬件缓存是有意义的。这是否也意味着如果我在内核中使用整个共享内存,纹理内存就不会被缓存?
谢谢。