问题标签 [jocl]
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.
sbt - 多模块项目中的“UnsatisfiedLinkError:本机库已加载到另一个类加载器中”
我有一个使用 JOCL 库(http://www.jocl.org/)并且有多个模块的项目。当我从命令行运行“./activator test”或在 SBT 控制台中运行“test”命令时,我收到如下错误:
根据 JOCL,第一个模块/子项目中的测试不会出现这些错误。即,当我执行“./activator test”时,来自某些(第一次测试的)模块的 OpenCL 测试工作,而所有其他模块都没有。当我执行“./activator”以生成 SBT 控制台然后多次运行“测试”时,它第一次表现得像普通的“./activator 测试”,但对于下一次测试运行,所有 OpenCL 测试都因 UnsatisfiedLinkError 而失败。
根据这个答案:https : //stackoverflow.com/a/23157190/492749 SBT 使用一些神奇的类加载器并为每个这样的类加载器重命名本机库。问题是 JOCL 在加载某些 Java 类的过程中解包本机库,并且生成的文件名和位置始终相同。换句话说:SBT 的魔法与 JOCL 的魔法并没有很好的配合。
你的解决方案是什么?
PS:在 IntelliJ IDEA 中执行测试时效果很好 - 可能 IDEA 不使用类加载器魔法。
java - 用 JOCL 实现康威的生命游戏
我的作业遇到了麻烦,我必须使用 JOCL ( http://jocl.org/ ) 来实现 Conway 的生命游戏,正如您可能已经猜到的 OpenCL for Java
目前它编译得很好,但内核执行后的输出只是零,在这种情况下,这只是输出数组的默认初始化。
编辑:即使我将整个输出数组初始化为 1 它仍然从读取缓冲区返回为 0s
我认为这可能是内核中的问题,但即使它只是 output[gid] = 1 它也无法修改输出数组。但是我也看不出JOCL实施有任何问题
任何建议将不胜感激
核心:
爪哇:
java - 无法从 Maven 资源加载本机 libOpenCL.so 库
尝试使用 JOCL 时出现不满意的链接错误。该错误是典型的不满意链接错误:
然后它继续说:
我尝试通过以下方式将其作为资源添加到 Maven:
作为免责声明,libOpenCL.so 是指向 -> libOpenCL.so.1 的软链接,我不知道这是否会搞砸。无论如何,我检查了几次文件名和路径,文件在那里。如何将此库添加到我的类路径中?
java - OpenCL中矩阵乘法中正确的global_work_size和local_work_size是多少?
我在 JOCL 中进行矩阵乘法,这是一个与 OpenCL 的 Java 绑定。问题,我有错误
Exception in thread "main" org.jocl.CLException: CL_INVALID_WORK_ITEM_SIZE
at org.jocl.CL.checkResult(CL.java:787)
at org.jocl.CL.clEnqueueNDRangeKernel(CL.java:20802)
at org.jocl.samples.JOCLSample.main(JOCLSample.java:150)
这是代码:
我的问题是,大小为 [1024 x 1024]、[2048 x 2048]、[4096 x 4096] 和 [8192 x 8192] 的矩阵乘法的正确 global_work_size 和 local_work_size 是多少?
这是导致错误的 global_work_size 和 local_work_size 中的代码
java - JOCL 中的 CL_INVALID_KERNEL_ARGS(Java 绑定到 OpenCL)。
有人在 JOCL 中进行矩阵乘法时遇到这种错误吗?
我编辑了他们的示例 HelloJOCL.java 来进行矩阵乘法计算以及 matrixMul.cl(内核代码)。这是导致错误的内核参数:
工作项维度代码:
和内核代码:
junit - 从junit测试调用JOCL.org时的CL_PLATFORM_NOT_FOUND_KHR
我在下面创建了一个最小的示例来演示我的问题。
当我将其作为应用程序运行时,我得到了预期的输出“完成”。当我将其作为 junit 测试运行时,出现以下错误:
看来,junit 确实在某种无法访问我的 GPU 的沙箱中运行。但是,我看到其他人通过 junit 测试成功运行了 JOCL.org 代码。示例:在测试套件中设置和拆除 openCL 单元测试的正确方法? 我不清楚有什么不同。有谁知道任何可以解释这一点的沙盒?
编辑:如果重要的话,
编辑#2;传奇还在继续:我认为最好的做法是尽可能手动地接近问题。所以我手动运行它。
它从命令行工作。它在日食中不起作用。它不适用于bazel。
编辑#3;
我希望在关闭它之前等待完整的解决方案,但我提交的错误已经为 bazel 用例(但不适用于 eclipse)提供了一种解决方法。添加tags = ['local'],
到 BUILD 文件可以在没有沙箱的情况下运行它,从而可以联系 GPU。
java - 如何在 Jocl 中使用 cl_khr_gl_sharing?
我正在尝试编写实时光线追踪器。我为此使用 OpenGL 和 OpenCL 的 Java 和 Jogamp 绑定(调用 Jogl 和 Jocl)。我的 .cl 内核中已经有光线跟踪代码,并且运行良好。我将输出作为 FloatBuffer 并通过 glTexImage2D 将其传递给 OpenGL 纹理。现在我想实时运行,为了实现这一点,我想删除在我的程序中发生两次的 FloatBuffer 副本(第一次 - 从 OpenCL 内核结果到 RAM,第二次从 RAM 到 OpenGL 纹理)。显然有一种方法可以直接从 OpenGL 纹理指向 OpenCL 缓冲区,因为所有计算都在 GPU 上工作。我知道有cl_khr_gl_sharingOpenCL 的扩展,可以满足我的需求。但我不明白如何在 Java Jogamp 绑定(jocl/jogl)中使用它。有人可以帮助我或提供一些示例 JAVA 代码(不是 C++,它在细节上真的不同)?
java - JOCL 样本中的错误 CL_DEVICE_NOT_AVAILABLE
我需要在 java 中使用 OpenCl 所以当我想尝试 jocl 示例时我选择了 JOCL ( http://www.jocl.org/samples/samples.html ) 我在编译示例时总是会发现这个错误。
例如示例 (JOCLSample_1_2_KernelArgs.java) 显示此错误:
我确信我的驱动程序运行良好。
当我编译示例 JOCLDeviceQuery.java 时(显示查询并打印有关所有可用设备的信息。)
这是结果:
我的问题的解决方案是什么???????我怎样才能编译 jocl 示例???
java - 指针可能不指向空对象 java openCL
我正在使用具有图像作为参数的内核,其中包含 java 和 JOCL
当我编译时,我收到错误:
指针不能指向空对象
它在行中:
可能的问题是什么?我该如何解决?
PS:createBufferedImage
是取自 JOCL 样本
http://jocl.org/的函数
java - 图像 jocl 的 CL_INVALID_KERNEL_ARGS 错误
我的目标是编写一个代码,将图像(图像)作为入口变量并进行分析,然后使用 java 和 jocl 将结果放入数组(tab1)中,作为开始我想看看图像是否被接受所以我在下面写了这个程序和内核“基本”
我的课
我的内核“basic.cl”
当我编译我的代码时,结果是:
问题是什么?在 OpenCL 的文档中,他们说如果未指定内核参数值,则会出现错误 CL_INVALID_KERNEL_ARGS。但我向他们指定了任何建议?