Ошибка: конфигурация JNI «UnsatisfedLinkError: com.aparapi.internal.jni.OPENCLJNI.getPlatforms ()» - PullRequest
0 голосов
/ 12 мая 2019

Я бы попытался выполнить пример сценария на основе Aparapi, на MAC OS. Я использую последнюю версию 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"

Есть ли кто-нибудь, кто может мне помочь?

Ответы [ 2 ]

0 голосов
/ 15 мая 2019

Несмотря на то, что MacOS Mojave 10.14.4 не поддерживает напрямую OpenCL, я выполнил Aparapi Framework.

Я обнаружил, что проблема в библиотеке Апарапи. В частности, чтобы устранить сгенерированную ошибку, я выполнил следующие действия:

  • Загрузить этот репозиторий https://github.com/aparapi/aparapi для графических карт AMD
  • Откройте каталог " com.amd.aparapi " и из терминала выполните

    ant -f build.xml
    

    Эта команда создает файл .jar этой библиотеки

  • Добавить сгенерированный jar в путь к классам проекта в Eclipse

  • Добавьте специальную библиотеку Aparapi для вашей ОС в:

    <your-workspace-path>/<your-project>/src/main/resources/osx/
    
  • Прежде чем выполнить код, добавьте аргумент VM в « Run Configuration »

    -Djava.library.path=<your-workspace-path>/<your-project>/src/main/resources/osx/
    
  • Выполните ваш скрипт!

0 голосов
/ 12 мая 2019

собрать собственную сборку для Mac (x86_64) и добавить ее в jniLibs; вот исходный код .

java.lang.UnsatisfiedLinkError обычно означает, что он не может найти собственную сборку.

...