Я использую Aparapi для программирования OpenCL с Java.
Однако я не могу найти, какой класс Aparapi преобразует байт-код Java в ядра OpenCL. Можете ли вы указать мне на это, пожалуйста?
Я использую Aparapi для программирования OpenCL с Java.
Однако я не могу найти, какой класс Aparapi преобразует байт-код Java в ядра OpenCL. Можете ли вы указать мне на это, пожалуйста?
Есть несколько классов, используемых для преобразования в OpenCL.
Классы InstructionSet и ClassModel используются для анализа байт-кода производного ядра.
Класс MethodModel берет список байт-кодов для одного метода и «сворачивает» его в древовидную структуру данных, подходящую для представления конструкций более высокого уровня (for/while и выражений).
KernelWriter — это класс, отвечающий за «рендеринг» MethodModel в OpenCL.
Если вы посмотрите на метод executeOpenCL KernelRunner, вы увидите, как Aparapi использует эти классы для получения доступа к OpenCL.