Skip to main content
QUICK REVIEW

[논문 리뷰] Improved Fast Iterative Algorithm for Eikonal Equation for GPU Computing

Yuhao Huang|arXiv (Cornell University)|2021. 06. 30.
Numerical Methods and Algorithms참고 문헌 12인용 수 4
한 줄 요약

이 논문은 수렴 검사를 값 갱신 중에 제거하고 오류를 보정하기 위한 별도의 보정 단계를 도입함으로써 GPU에서 Eikonal 방정식을 해결하기 위한 개선된 빠른 반복 방법(iFIM)을 제안한다. 이 방법은 SIMD 아키텍처를 효율적으로 활용하고 정렬 구조에 의존하는 것을 줄임으로써 FIM, FMM 및 FSSM보다 더 빠른 성능을 달성한다.

ABSTRACT

In this paper we propose an improved fast iterative method to solve the Eikonal equation, which can be implemented in parallel. We improve the fast iterative method for Eikonal equation in two novel ways, in the value update and in the error correction. The new value update is very similar to the fast iterative method in that we selectively update the points, chosen by a convergence measure, in the active list. However, in order to reduce running time, the improved algorithm does not run a convergence check of the neighboring points of the narrow band as the fast iterative method usually does. The additional error correction step is to correct the errors that the previous value update step may cause. The error correction step consists of finding and recalculating the point values in a separate remedy list which is quite easy to implement on a GPU. In contrast to the fast marching method and the fast sweeping method for the Eikonal equation, our improved method does not need to compute the solution with any special ordering in neither the remedy list nor the active list. Therefore, our algorithm can be implemented in parallel. In our experiments, we implemente our new algorithm in parallel on a GPU and compare the elapsed time with other current algorithms. The improved fast iterative method runs faster than the other algorithms in most cases through our numercal studies.

연구 동기 및 목표

  • GPU 아키텍처에서 기존 방법보다 뛰어난 성능을 내는 Eikonal 방정식을 해결하기 위한 병렬화 가능한 알고리즘을 개발하는 것.
  • 병렬화를 방해하는 계산 비용이 큰 수렴 검사를 포함하는 빠른 반복 방법(FIM)에서 이를 제거하는 것.
  • 값 갱신 중에 발생하는 오류를 보정하기 위해 별도의 보정 리스트를 도입함으로써 효율적인 GPU 실행을 가능하게 하는 것.
  • 정렬 및 순차적 의존성을 피함으로써 GPU 환경에서 FMM 및 FSSM보다 높은 성능을 달성하는 것.
  • 현대 GPU 스트리밍 다중처리기(스레딩)를 활용한 확장 가능한 데이터 병렬 계산을 가능하게 하는 것.

제안 방법

  • 개선된 빠른 반복 방법(iFIM)은 FIM과 유사하게 수렴 측정 기준에 따라 활성 리스트를 사용해 갱신 대상 점을 선택하지만, 이웃 점에 대한 수렴 검사를 생략한다.
  • 갱신 단계 이후에 새로운 보정 리스트를 도입하여 잔여 오차가 있는 점을 식별하고 재계산함으로써 오류 보정을 병렬로 수행할 수 있도록 한다.
  • SIMD 실행과 호환되지 않는 정렬된 데이터 구조(예: 힙 정렬)를 유지하지 않음으로써 GPU 병렬성 향상을 도모한다.
  • 국소 해법은 Eikonal 방정식의 일阶 Godunov 업윈드 유한차분 이산화를 사용하며, 각 격자 점에서 이차 방정식을 푸는 방식이다.
  • 사용자 정의 스레드 블록을 사용한 GPU 커널 실행을 활용하며, 최적의 메모리 공유 및 할당율을 확보하기 위해 블록당 스레드 수를 조정함으로써 성능을 최적화한다.
  • 보정 단계는 간단한 오차 임계값 검사를 사용해 오류가 있는 점을 효율적으로 식별하고 수정하는 별도의 커널로 구현된다.

실험 결과

연구 질문

  • RQ1빠른 반복 방법(FIM)의 수렴 검사 단계를 제거해도 해의 정확도가 떨어지지 않을 수 있는가?
  • RQ2병렬 GPU 환경에서 조기 갱신으로 인한 오류 전파를 효율적으로 보정할 수 있는가?
  • RQ3정렬 또는 순차적 순서에 의존하지 않고 GPU 최적화 Eikonal 해법을 설계할 수 있는가?
  • RQ4GPU 병렬 환경에서 수렴 검사를 제거하고 보정 단계를 추가함으로써 얻는 성능 향상은 어느 정도인가?
  • RQ5iFIM 알고리즘이 다양한 Eikonal 문제 설정에서 FMM, FSSM 및 FIM보다 속도와 정확도 면에서 어떻게 비교되는가?

주요 결과

  • iFIM 알고리즘은 GPU에서 원래 FIM보다 일관되게 더 빠르게 실행되며, 이는 커널 오버헤드 감소와 더 나은 메모리 액세스 패턴 덕분이다.
  • 빠른 마킹 방법(FMM)은 힙 정렬 데이터 구조를 사용하기 때문에 iFIM보다 훨씬 느리며, 이는 GPU 병렬화에 적합하지 않기 때문이다.
  • 변동 속도 함수의 경우 FMM의 성능은 힙 연산 증가로 인해 더욱 악화되지만, iFIM는 높은 효율성을 유지한다.
  • 보정 단계는 예제 2 및 5에서 정확한 해와의 시각적 및 정량적 비교를 통해 갱신 단계에서 발생한 오류를 성공적으로 보정함을 확인했다.
  • iFIM의 최적 성능는 블록당 스레드 수를 조정함으로써 달성되며, N=2000² 격자에서 그림 12는 특정 스레드 수에서 명확한 성능 최고점이 있음을 보여준다.
  • 실제로 iFIM는 GPU에서 O(N) 복잡도를 달성하며, FMM의 O(N log N)보다 뛰어나고 FSSM의 이론적 효율성과 동일하며, 더 쉽게 병렬화 가능하다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.