opencl 相关问题

OpenCL(开放计算语言)是一个用于编写程序的框架,这些程序跨CPU,GPU和其他处理器组成的异构平台执行。

无需 hwdownload 将 ffpmeg OpenCL 过滤器输出传递到 NVenc?

我正在尝试使用 ffmpeg 对 UHD HDR 视频流进行色调映射(和调整大小)。以下命令: ffmpeg -vsync 0 -hwaccel cuda -init_hw_device opencl=ocl -filter_hw_device ocl -线程...

回答 2 投票 0

使用多个 GPU OpenCL

我有一个循环,在其中将多个内核启动到 GPU 上。下面是片段: for (int idx = 开始; idx <= end ;idx ++) { ret = clEnqueueNDRangeKernel(command_queue,

回答 2 投票 0

OpenCL 上一维工作负载的 global_work_size 最高并行度的公式是什么?

来自clinfo的相关信息: 最大计算单元 10 最大工作项尺寸 3 最大工作项尺寸 256x256x...

回答 1 投票 0

OpenCL 中 mint 的类型定义在 MacOS 中似乎是错误的

考虑在 Mac OS X ARM(64 位)14.4.1 (23E224) 上使用 Mathematica 14.0.0 运行的以下小脚本 在[155]中:= src =“ __kernel void addTwo(__global mint* arry, mint len) { INT...

回答 1 投票 0

安全的GPU编程

我最近学习了如何使用 C 中的 OpenCL 对我的 AMD GPU 进行编程。但是,如果我给 GPU 的任务要求太高,我的整个系统就会停止正常工作,我必须重新启动。我正在使用林...

回答 1 投票 0

OpenCL 油画

我想在OpenCL中实现油画滤镜,但输出图像总是黑色,我不明白为什么。 这是内核代码: __kernel void oil_painting(__global const char* R,__global

回答 3 投票 0

OpenCL 内核中计算精度发生不可预测的变化

大家下午好! 我有以下 OpenCL 内核代码: double calcA(double2 点 1, double2 点 2); 无效__kernel mainProgram() { 长长索引 = get_global_id(0); 如果(确实...

回答 1 投票 0

printf 函数在 OpenCL 内核中不起作用

嗨,我正在尝试在 PS3 上调试 OpenCL 内核代码。这是代码: #pragma OPENCL 扩展 cl_khr_byte_addressable_store :启用 int 偏移量() { 返回“A”-“a”; } __kernel 无效 tKernel(__g...

回答 4 投票 0

OpenCL 如何在从主机读取结果之前等待设备端队列完成

这是我简化的程序结构: // 我从主机端调用一个主内核 err = clEnqueueNDRangeKernel(队列, main_kernel, 1, NULL, globalSize_g, 0, 0, NULL, NULL); // 然后在设备端...

回答 1 投票 0

Opencl 在 colab 中未检测到 T4 硬件加速器

我在colab中使用笔记本,我开始收到以下错误消息: 逻辑错误:clGetPlatformIDs 失败:PLATFORM_NOT_FOUND_KHR 我的代码使用 PyRQA 包,它使用 opencl 来执行

回答 2 投票 0

将 c# 函数转换为 openCL,这基本上就是 c

我正在尝试实现我用 C# 编写的模糊函数。我希望它在 openCL 内核中运行 函数如下: 私有静态 int cSharpBlur(double[,] 模糊, int 宽度, int 高度, in...

回答 1 投票 0

Qt 创建者看不到 Mac 框架

我在 macOS Sierra 10.12 上使用 Qt 5.6 和 Qt Creator 4.3。 我正在构建一个使用 OpenGL 和 OpenCL 的基于 Qt 的应用程序。 某处的软件或系统更新似乎损坏了 Qt Creato...

回答 2 投票 0

使用 OpenCL 的 GPU 比 CPU 慢。为什么?

环境: 英特尔 i7-9750H 英特尔超核芯显卡 630 Nvidia GTX1050(笔记本电脑) 视觉工作室 2019 / C++ OpenCV 4.4 OpenCL 3.0(英特尔)/1.2(英伟达) 我正在尝试使用 OpenCL 来加速我的代码。但是...

回答 2 投票 0

OpenCL 动态并行 enqueue_kernel() 功能

我正在尝试使用 OpenCL 2.0 提供的功能从内核内部调用内核,但似乎无法使其工作。 例如我有这些内核: __内核无效测试2(){ 原则...

回答 1 投票 0

OpenCL 找不到 Intel HD 4000

我会提前警告你我的书面英语不好,所以请耐心等待,因为我会犯很多错误。 我需要暴露显卡才能进行一些基准测试...

回答 1 投票 0

如何将结构体数组移动到GPU?

假设我创建了树并初始化了它。 现在,我如何在 openCL 中将节点向量移动到 GPU? 结构 BVHNode { 边界框bbox; BoundingSphere bsphere; std::向量 假设我创建了树并初始化了它。 现在,我如何在 openCL 中将节点向量移动到 GPU? struct BVHNode { BoundingBox bbox; BoundingSphere bsphere; std::vector<int> obj_triangles; // Store triangle indices that is inside node's volume int parentIndex; // Index of the parent node (-1 for root) int level; std::vector<int> childrenIndices; // Indices of the child nodes } class BVHTree { public: std::vector<BVHNode> nodes; int maxDepth; int nodeSize; } I tried to move like this size_t dataSize = bvhTree.nodes.size() * sizeof(BVHNode); cl::Buffer d_BVHtree_buf(context, CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR, dataSize, BVHTree.nodes.data()); but it didn't work. GPU 既不支持函数递归,也不支持类,并且内存带宽对于 AoS 来说非常差(无合并)。 将树形数据结构扁平化为数组布局结构。您可能需要限制树深度并添加填充节点,以便数据索引规则间隔。或者,您可以使用间接寻址,这意味着添加一个额外的数组,其中包含节点的内存位置;这可以节省内存容量,但会破坏内存合并。您可以将固定深度递归作为函数调用的循环或链进行。

回答 1 投票 0

在执行完成之前将参数传递给 OpenCL 内核

我有以下关于执行 OpenCL 内核的问题。令 kernel 为某个 OpenCL 内核。我想用不同的参数执行它两次。 我可以在调用后为此内核设置新参数吗...

回答 1 投票 0

使用 Intel(R)Xeon(R)Gold 6240 CPU 的 CL_DEVICE_NOT_AVAILABLE

我在调试 openCL exe 时收到错误 CL_DEVICE_NOT_AVAILABLE。CPU 是 Intel(R)Xeon(R)Gold 6240 [email protected](32 处理器),并且我已经安装了 cl_runtime_14.2_x86_setup.msi。有吗

回答 1 投票 0

在问题空间上启动单个内核与在较小的问题空间上多次启动相同的内核

最近我被要求在我的公司维护一个旧的图像处理项目(5年) 它使用 openCL。 有一段代码的工作原理如下 **如果(oneKernelFlag == true) 启动游戏...

回答 1 投票 0

是否可以将工作分配给每个 GPU 线程,而不是将工作分配给一组 GPU 线程?

我的标题的意思是,我已经实现了一个光线追踪程序。在程序中,由于内存问题,我将数组分成了块。追踪每块光线后,我将发送新的

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.