GPGPU 계산을위한 선형 솔버 선택 (OpenCL)


10

Conjugate Gradient 방법을 사용하여 GPU 및 OpenCL을 사용하여 열 전달 문제를 해결하기 위해 유한 요소 방법의 작동 솔루션을 이미 개발했습니다. 이 방법의 주요 단점은 메모리에 대한 수요가 높다는 것입니다. 또한 그래픽 카드의 경우 메모리가 매우 제한적인 경우가 많습니다. 두 가지 옵션이 있습니다.

  1. 호스트 메모리로 서브 도메인 생성 및 메시 부분 스왑
  2. 다중 정면 방법 사용

특정 아키텍처를 고려해야합니다. 교환은 매우 비쌀 수 있습니다. CG 방법은 GPGPU 컴퓨팅의 맥락에서 인기가 있지만 CG와 다중 정면 방법 (GPGPU의 경우) 간의 비교를 찾을 수 없습니다. 다중 정면 방법이 CG보다 빠를 수 있습니까? 이것은 일반적인 질문이며, 실제로는 여전히 구현에 달려 있습니다.


2
FEM 코드에서 행렬의 전역 어셈블리를 수행합니까? 또는 매트릭스없는 구현을 사용합니까? (즉, 매트릭스의 명시적인 형성이 없음)
Allan P. Engsig-Karup

3
어떤 전제 조건을 사용하고 있으며 도메인은 어떤가요? 좋은 알고리즘을 사용하는 10 년 된 데스크톱은 크 래피 알고리즘을 사용하여 GPU 클러스터를 능가합니다.
Jed Brown

육면체 또는 간단한 메쉬를 사용하고 있습니까? 메모리가 문제이고 텐서 제품 기반 함수와 함께 16 진 요소를 사용하는 경우 1D 연산자 만 저장하고 매트릭스없는 구현 (Allan 언급)을 사용하여 메모리를 절약 할 수 있습니다.
Jesse Chan

답변:


2

저는 LibGeoDecomp 의 프로젝트 책임자 이므로 차임 할 것이라고 생각했습니다.

예, LibGeoDecomp를 사용하여 FEM을 구현할 수 있습니다. 현재이 사용 사례에 맞게 개선 된 데이터 컨테이너를 개발 중입니다. 그러나 공정하게 말하면, 그 작업의 완료는 여전히 몇 달이 걸리며 그때까지는 성능이 최적이 아닙니다. LibGeoDecomp를 사용해 보시고 싶으시면 이메일로 저에게 연락주십시오 .

또 다른 옵션은 불규칙한 문제에 대해 솔버를 잘 최적화 한 Fenics 입니다. 그러나 AFAIK는이 경우 자신의 솔버를 작성할 수 없습니다.


1

도움이되는지 모르겠습니다. 여기 에는 사이트에서 사용자 정의 가능한 도메인 분해 기술 을 사용하는 도구 인 libgeodecomp 링크가 있습니다. 내가 아는 한 GPU와 함께 사용할 수 있습니다. 도움이된다면 투표 해주세요 ;-)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.