Java-графическое программирование
Можно ли делать программирование на GPU в Java?
Я имею в виду без использования родных библиотек.
И сколько можно ожидать повышения производительности при переходе на gpu?
Edit:
Я не смотрю на игровое программирование, я хочу сделать хруст жесткого ядра.
Ответы
Ответ 1
Да. Поддержка Java3D, LWJGL и JOGL GLSL (OpenGL Shading Language).
Edit:
Вы можете использовать OpenCL, если вы хотите сделать платформенно-нейтральное вычисление общего назначения на графических процессорах. Эта структура позволяет вам писать код, который одинаково относится ко всем обрабатывающим устройствам, несмотря на множество различных наборов функций и среды исполнения. Хотя это очень низкоуровневое программирование по сравнению с Java.
Кажется, что вашим идеалом будет JVM, написанный с поддержкой OpenCL. Поиск в Интернете, я нашел немного интерес к этой идее, но никаких доказательств какой-либо значительной поддержки.
сколько из улучшения производительности можно ожидать
Это зависит от системы, в которой вы работаете, и от каких данных вы обрабатываете (Матрица и векторная математика чрезвычайно эффективны для графических процессоров). Вероятно, вы получите некоторые существенные выгоды от такой системы, как моя, с двумя мощными графическими процессорами и скромным одноядерным процессором. Однако на компьютере со скромным графическим процессором и четырехъядерным процессором выигрыш в производительности может с трудом преодолеть накладные расходы.
Ответ 2
Rootbeer1 только что был выпущен на github: https://github.com/pcpratts/rootbeer1
С помощью Rootbeer вы можете программировать практически любую Java, кроме следующих:
- собственные методы и поля
- отражение
- вызов динамического метода
- сбор мусора
- спящий внутри монитора
Это означает, что вы можете использовать произвольные графические объекты с составными типами.
Ответ 3
Если вы все еще рассматриваете хруст жесткого ядра в Java на GPU без использования собственных библиотек, вас может заинтересовать эта статья в блоге http://ateji.blogspot.com/2011/02/java-on-gpu-with-ateji-px.html
Мы (я являюсь частью команды Ateji) до сих пор демонстрировали производительность до 60 раз на Java-приложениях, которые могут быть широко распараллелены.
Ответ 4
def проверить rootbeer1, но вам нужно убедиться, что у вас есть CUDA, принятая GFX-карта, прежде чем начать с нее, и выполнили все настройки NVIDIA и т.д.
скачать ссылку:
google CUDA скачать
руководство по началу работы
http://developer.download.nvidia.com/compute/DevZone/docs/html/C/doc/CUDA_C_Getting_Started_Windows.pdf