2017-02-02 2 views
0

저는 최근에 컨볼 루션 역 전파 신경망을 프로그래밍하는 작업을 해왔으며, 주로 Java를 사용하여 그래픽 시각화를 위해 프로그램과 libGDX를 실행했습니다. 무거운 연구를 통해 성능과 효율성을 크게 높이려면 CPU 대신 그래픽 카드에서 행렬 계산을 수행해야합니다.libGDX는 LWJGL에 내장 된 OpenCL 래퍼를 지원합니까?

온라인을 통해 살펴본 결과, 그래픽 카드에서 이러한 계산을 수행하는 주된 방법은 OpenCl을 통한 것이 었습니다. 더 많은 연구를 한 후에, Java에서 OpenCl 지원을위한 두 가지 주요 옵션이 LWJGL 또는 JOCL을 통해 이루어 졌음을 발견했습니다.

libGDX는 LWJGL을 기반으로 작성 되었기 때문에 내 첫 번째 본능은 libGDX 라이브러리를 통해 OpenCL 지원을 통해 빌드 된 것을 액세스 할 수 있는지를 확인하는 것이 었습니다. 그러나 주위를 둘러 본 후에는 아무 것도 발견하지 못했습니다.

제 질문은 libGDX 라이브러리를 통해 OpenClass에 액세스 할 수 있습니까? 그렇다면 어떻게해야합니까?

LWJGL의 OpenCl 구현에 액세스 할 수없는 경우 JOCL을 사용하여 GPU 수학 계산에 액세스해야합니까? 아니면 libGDX 응용 프로그램에 LWJGL의 두 번째 라이브러리를 추가해야합니까?

답변

1

GDX의 Lwjgl2에 있는지는 확실하지 않지만 LibGDX Lwjgl3 구현에 포함되어 있지 않습니다. 그러나 Lwjgl3은 모듈로 나뉘어 있으므로 Gradle 프로젝트에 OpenCL 모듈을 추가 할 수 있습니다. "core" 종속에서

이 오픈 CL 모듈은 Lwjgl3의 핵심에 종속성이있는 경우

compile "org.lwjgl:lwjgl-opencl:3.1.0" 

는 내가 모르는 것은 추가 할 수 있습니다. 그렇다면 LibGDX Lwjgl3 백엔드로 전환 할 수 있습니다. Lwjgl3로 전환하려면 "desktop" 종속 관계에 있으므로, lwjgl33을 추가

compile "com.badlogicgames.gdx:gdx-backend-lwjgl3:$gdxVersion" 

당신이 Lwjgl3로 전환하면, 당신은 기본적으로 LWJGL 후 3을 추가하는 DesktopLauncher 수입 및 클래스 이름의 일부를 정리해야 클래스 명 (scroll down here for instructions if you need them)

버전 번호는 LibGDX 버전이 사용하는 Lwjgl3 버전과 동기화해야 할 수도 있습니다.

관련 문제