2010-05-11 4 views
7

대상 머신에있는 여러 코어를 사용하는 것 외에도 GPU의 숫자 처리 기능 (Java 사용 여부는 아마도?)을 사용하는 방법을 찾고 있습니다. 나는 (현재) A * 알고리즘을 구현하려고 노력할 것이지만, 미래에 나는 그것을 일종의 유전 알고리즘으로 대체하기를 희망한다. 나는 Project Fortress을 보았습니다.하지만 JavaFX에서 GUI를 구축 할 때 JVM에서 너무 멀리 벗어나지 않는 것을 선호합니다.HPC (주로 Java)

물론 가능한 솔루션을 사용할 수 없어야합니다. 구현하기 가장 쉬운 솔루션으로 마이그레이션하겠습니다.

답변

3

Parallel Colt 일 수 있습니다.

+0

암시 적 병렬 처리가 필요합니까? 동시성 (concurrency) 섹션을 읽었는데 하드웨어 특유의 장점에 대해서는 아무것도 보이지 않습니다. – Insectatorious

+0

웹 페이지는 가능한 경우 여러 개의 CPU 코어를 자동으로 사용할 것을 제안합니다. 나는 Colt의이 버전을이 기반이되는 원래의 라이브러리에만 사용하지 않았다. – Mark

5

GPU가있는 HPC에 관심이 있으시면 jCuda을 참조하십시오. 이는 CUDA 용 Java 바인딩과 CUDA FFT, CUDA BLAS 및 CUDA DPP에 대한 액세스를 제공합니다. 이 라이브러리에 대한 성능 보고서를 본 적이 없으므로 매우 좋을 것이라고 보장 할 수 없습니다.

그 외에도, 나는 정말로 확신하지 못합니다. 교육용으로 이러한 유형의 작업을하는 데 관심이 있다면 Java가 충분히 좋을 것입니다.하지만 HPC가 절실히 필요하다면 C 언어로 구현하고 Java Native Interface를 사용하여 그것과 통신하십시오. 당신이 일반적인 컴퓨팅을 원하는 경우 다음 OpenCL에 대한 Java 바인딩 후 것, 오히려 그래픽보다, OpenGL을

그러나

자바 바인딩 -

+0

건배 아주 좋은 및 성숙 오픈 소스 자바 그리드 컴퓨팅 환경입니다! 최대한 빨리 연결해 보겠습니다. – Insectatorious

4

모르 텐 노벨 요르겐 센은 blog post는 만델 브로트 집합 JOGL를 사용하여 만드는 방법을 보여주는있다 에서 선택할 수 있습니다. JOCL 또는 JOCL 또는 JavaCL입니다.

Wikipedia's page은 OpenCL을 사용하여 고속 푸리에 변환을 계산하는 방법을 보여줍니다.

+0

달콤한. 이 예에서 그는 원근감이없는 카메라를 사용하여 3D 이미지를 2D로 렌더링합니다. 생 가공 가공을 할 수 있을까요? 그러면 JOGL을 사용 하시겠습니까? 이전에는 OpenGL을 사용 해본 적이 없기 때문에 물어 봅니다. 내 요구가 충족되지 않는 한 내리고 싶지 않습니다. – Insectatorious

+0

사용할 OpenCL 바인딩에 대한 권장 사항이 있습니까? –

+0

@Insectatorious - 아니요. 그래서 더 유용한 것으로 대답을 업데이트했습니다. –

2

JPPF를 살펴 보라는

관련 문제