0

我会尝试在 MAC OS 上执行基于 Aparapi 的示例脚本。我正在使用 Eclipse 的最新版本,但是当我执行DeviceInfo示例以获取所有可用设备时:

public class DeviceInfo {
    public static void main(String[] args) {
        KernelPreferences preferences = KernelManager.instance().getDefaultPreferences();
        System.out.println("-- Devices in preferred order --");
        for (Device device : preferences.getPreferredDevices(null)) {
            System.out.println(device);
        }
    }
}

它生成

java.lang.UnsatisfiedLinkError: com.amd.aparapi.OpenCLJNI.getPlatforms()Ljava/util/List"

有人可以帮助我吗?

4

2 回答 2

0

为 Mac ( ) 构建本机程序集x86_64并将其添加到jniLibs; 这是源代码

java.lang.UnsatisfiedLinkError通常意味着它找不到本机程序集。

于 2019-05-12T11:59:49.267 回答
0

尽管 macOS Mojave 10.14.4 不直接支持 OpenCL,但我已经执行了 Aparapi Framework。

我发现问题出在 Aparapi 图书馆。特别是,为了解决生成的错误,我遵循了以下步骤:

  • 下载此存储库https://github.com/aparapi/aparapi用于 AMD 显卡
  • 打开目录“ com.amd.aparapi ”并从终端执行

    ant -f build.xml
    

    此命令生成此库的 .jar 文件

  • 在 Eclipse 中将生成的 jar 添加到项目的类路径中

  • 为您的操作系统添加特定的 Aparapi 库:

    <your-workspace-path>/<your-project>/src/main/resources/osx/
    
  • 在执行代码之前,在“运行配置”中添加 VM 参数

    -Djava.library.path=<your-workspace-path>/<your-project>/src/main/resources/osx/
    
  • 执行你的脚本!

于 2019-05-15T13:28:34.157 回答