Есть ли библиотека Java для ускоренных векторных вычислений? - PullRequest
3 голосов
/ 08 декабря 2010

Я ищу библиотеку Java, которая позволяет выполнять некоторые быстрые вычисления с вектором (и, возможно, с матрицами тоже).

By fast Я имею в виду, что он использует преимущества обработки GPU и / или инструкций SSE.Мне интересно, можно ли найти что-то более портативное, насколько это возможно.Я признаю, что JVM обеспечивает слой абстракции толщиной аппаратного обеспечения.

Я встречал JCUDA , но есть недостаток: на компьютере без NnvidiaГрафическая карта должна быть запущена в режиме эмуляции (поэтому я считаю, что она не будет эффективной, как ожидалось).Кто-нибудь уже пробовал это?

Ответы [ 3 ]

4 голосов
/ 08 декабря 2010

А как насчет OpenCL ?Он должен предоставить вам хорошую отправную точку для такого рода оптимизированных операций.

Существует множество привязок для Java, начиная с jocl (но можно также получить лут в JavaCL или LWJGL с добавленной поддержкой 2.6)

2 голосов
/ 08 декабря 2010

Если под «быстрой» вы подразумеваете высокую скорость, а не необходимость поддержки конкретного оборудования, я бы порекомендовал Кольт .В этой библиотеке векторы называются 1-d матрицами .

1 голос
/ 05 января 2011

Я бы порекомендовал использовать UJMP (оборачивает большинство, если не все высокоскоростные библиотеки Java-матриц) и подождал, пока для него будет написана достойная реализация GPGPU (я начал взламывать еес JavaCL некоторое время назад, но это требует серьезной переписки, возможно, с использованием ScalaCLv2 , который находится в разработке).

...