问题标签 [opencl]

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.

0 投票
10 回答
15468 浏览

encoding - DirectShow 中的实时视频编码

我开发了一个使用 DirectShow 从外部设备捕获视频的 Windows 应用程序。图像分辨率为 640x480,未经压缩保存的视频尺寸非常大(大约每秒 27MB)。

我的目标是尽可能地减小这个大小,所以我正在寻找一种可以让我实时压缩视频的编码器。它可以是 H.264、MPEG-2 或其他任何东西。它必须允许我将视频保存到磁盘,如果我还可以通过网络(Wi-Fi,因此大小应该在每秒 1MB 左右,或更小)实时流式传输,那将是最好的。显着的质量损失将是不可接受的。

我发现为这个任务获得一个合适的 DirectShow 过滤器是非常困难的。可以假设客户端机器相当现代(快速 2 核 CPU)并且可以使用 CUDA/OpenCL。有一些应用程序允许使用 CUDA 对视频进行编码并提供良好的性能,但是我还没有找到合适的 DirectShow 过滤器或可用于开发的 API。NVIDIA nvcuvenc.dll 似乎有私有 API,所以我无法直接使用它。我发现的任何基于 CPU 的编码器对于我的要求来说都太慢了,但也许我错过了一些。

任何人都可以向我推荐一个解决方案,即编码器(付费或免费,可用于闭源应用程序),无论是使用 CPU/CUDA/OpenCL 还是 DirectCompute,都可以实现良好的性能?或者也许我应该使用一些外部硬件视频编码器?

此致,

疯獾

0 投票
4 回答
907 浏览

matlab - matlab 共享 c++ 库和 OpenCL

我有一个需要大量图像处理的项目,并希望添加 GPU 支持以加快速度。

我想知道我是否将我的 matlab 编译成 c++ 共享库并从 OpenCL 程序中调用它,这是否意味着 matlab 代码将在 GPU 上运行?

0 投票
5 回答
21012 浏览

opencl - OpenCL 与 DirectCompute?

我正在寻找OpenCLDirectCompute之间的比较,但我没有找到任何东西。OpenCL 的跨平台优势和支持范围更广的 GPU 对我来说并不重要。我可以在 Windows 上仅针对 DX11 GPU 进行编码。假设,每个 API 的优缺点是什么?

我知道之前有人提出过这个问题,但我正在寻找更多细节。

我对 CUDA 不感兴趣,因为我不想仅限于 Nvidia 硬件。

0 投票
3 回答
1471 浏览

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.

0 投票
2 回答
646 浏览

cuda - 如何以编程方式确定 GPU 的内存总线宽度和时钟频率?

如何以编程方式确定 GPU 的内存总线宽度和内存时钟频率?我想使用这些数字来计算最大理论内存带宽。我最感兴趣的是 NVIDIA GPU。

0 投票
1 回答
3987 浏览

opencl - OpenCL 中的工作项、工作组和命令队列组织和内存限制

好的,我已经阅读了大部分关于 OpenCL 的 ati 和 nvidia 指南,有些东西我只是想确定,有些需要澄清。文档中的任何内容都没有给出明确的答案。

现在我有一个 radeon 4650,现在在查询我的设备时,我得到了

好的首先,我的卡有 1GB 内存,为什么我只允许 256MB?

第二,我不了解工作项维度部分,这是否意味着我最多可以拥有 128*3 或 128^3 个工作项?

当我在运行查询之前计算这个时,我得到了 8 个内核 * 16 个流处理器 * 4 个工作项 = 512 为什么这是错误的?

我的 inte core 2 duo CPU 也得到了相同的 3 维工作项,是否适用相同的计算?

至于命令队列,当我尝试使用 OpenCL 作为设备访问我的核心双核 CPU 时,东西只在一个核心上处理,我尝试做多个队列并排队几个条目,但仍然只在一个核心上处理,我使用了global_work_size 为 128*128*128*8,用于一个简单的写入程序,其中每个工作项将自己的全局 ID 写入缓冲区,而我只得到零。

那么Nvidia卡呢?在具有 32 个 cuda 内核的 Nvidia 9500 GT 上,工作项的计算是否类似?

非常感谢,我真的到处寻找答案。

0 投票
4 回答
1755 浏览

opencl - 可以跨 OpenCL 内核在 CPU 和 GPU 上同时运行

假设我有一台具有多核处理器和 GPU 的计算机。我想编写一个在平台的所有核心上运行的 OpenCL 程序。这是可能的还是我需要选择一个运行内核的设备?

0 投票
1 回答
738 浏览

cuda - 多次调用 get_global_id() vs 将结果保存在局部变量中?

get_*这可能是一个愚蠢的问题,但是:在 OpenCL 内核中调用某些函数有多昂贵?将结果保存以供将来在某些本地变量中使用还是在需要时调用所需的函数更好?

还是依赖于平台?

PS我认为,cuda使用各种threadIdx变量可以更好地解决它。

0 投票
5 回答
17126 浏览

iphone - iPad 或 iPhone 是否支持 OpenCL?

随着对支持多媒体的移动设备的推动,这似乎是提高这些平台性能的一种合乎逻辑的方式,同时保持通用软件的电源效率。我一直对将 iPad 硬件作为 UI 和数据显示/输入使用的开发平台感兴趣。但我很好奇设备本身有多少处理能力。OpenCL 将使它成为一个多汁的硬件平台来开发,即使许可看起来有点臭。

0 投票
1 回答
741 浏览

opencl - OpenCL 的 Linux 函数拦截

我对C相当陌生,所以要温柔。

我想使用Linux的库拦截方法,用我自己的库替换对OpenCL库的调用。我知道这可以使用 LD_PRELOAD 来完成。所以我可以在我自己的库中重新实现 OpenCL 头文件中定义的 OpenCL 函数,然后可以链接这些函数。

问题是这个 OpenCL 标头还包含一些外部结构定义,例如

typedef 结构 _cl_mem * cl_mem;

未在 OpenCL 标头中定义。这些结构是否可以在 OpenCL 共享库中定义?如果不是,它们可能在哪里定义?

干杯

克里斯