HPC (в основном на Java) - PullRequest
7 голосов
/ 11 мая 2010

Я ищу какой-нибудь способ использования способности графического процессора для обработки чисел (возможно, с Java?) В дополнение к использованию нескольких ядер, которые есть на целевой машине. Я буду работать над реализацией (в настоящее время) алгоритма A *, но в будущем я надеюсь заменить его на своего рода генетический алгоритм. Я посмотрел на Project Fortress , но, поскольку я строю свой графический интерфейс в JavaFX, я бы предпочел не отклоняться слишком далеко от JVM.

Конечно, если не будет доступного решения, я перейду к самому простому решению для реализации.

Ответы [ 4 ]

5 голосов
/ 11 мая 2010

Если вы заинтересованы в HPC с графическими процессорами, то, возможно, вы можете посмотреть jCuda . Это обеспечивает привязки Java для CUDA, а также доступ к CUDA FFT, CUDA BLAS и CUDA DPP. Я не видел отчетов о производительности в этой библиотеке, поэтому не могу гарантировать, что она будет очень хорошей.

Помимо этого, я не совсем уверен. Если вы заинтересованы в том, чтобы делать подобные вещи в качестве учебного упражнения, тогда Java должна быть достаточно хорошей, но если у вас есть серьезная потребность в HPC, вы, вероятно, захотите реализовать ее на C и использовать собственный интерфейс Java для общаться с ним.

4 голосов
/ 11 мая 2010

Мортен Нобель Йоргенсен имеет сообщение в блоге , показывающее, как создать набор Мандельброта с использованием JOGL - Привязки Java для OpenGL

Однако, если вы хотите использовать общие вычисления, а не графику, то вам нужно привязаться к Java для OpenCL , из которого вы можете выбрать JOCL или JOCL или JavaCL .

На странице Википедии показано, как OpenCL можно использовать для вычисления быстрого преобразования Фурье.

3 голосов
/ 11 мая 2010

Параллельный кольт может представлять интерес.

2 голосов
/ 09 июля 2010

Взгляните на JPPF , это очень приятная и зрелая среда Java для грид-вычислений с открытым исходным кодом

...