방출단층촬영 시스템을 위한 GPU 기반 반복적 기댓값 최대화 재구성 알고리즘 연구 A Study on GPU-based Iterative ML-EM Reconstruction Algorithm for Emission Computed Tomographic Imaging Systems원문보기
목적: ML-EM (The maximum likelihood-expectation maximization) 기법은 방출과 검출 과정에 대한 통계학적 모델에 기반한 재구성 알고리즘이다. ML-EM은 결과 영상의 정확성과 유용성에 있어 많은 이점이 있는 반면 반복적인 계산과 방대한 작업량 때문에 CPU(central processing unit)로 처리할 때 상당한 연산시간이 소요되었다. 본 연구에서는 GPU(graphic processing unit)의 병렬 처리 기술을 ML-EM 알고리즘에 적용하여 영상을 재구성하였다. 대상 및 방법: 엔비디아사(社)의 CUDA 기술을 이용하여 ML-EM 알고리즘의 투사 및 역투사 과정을 병렬화 전략을 구상하였으며 Geforce 9800 GTX+ 그래픽 카드를 이용하여 병렬화 연산을 수행하여 기존의 단일 CPU기반 연산법과 비교하였다. 각 반복횟수마다 투사 및 역투사 과정에 걸리는 총 지연 시간과 퍼센트 오차(percent error)를 측정하였다. 총 지연 시간에는 RAM과 GPU 메모리 간의 데이터 전송 지연 시간도 포함하였다. 결과: 모든 반복횟수에 대해 CPU 기반 ML-EM 알고리즘보다 GPU 기반 알고리즘이 더 빠른 성능을 나타내는 것을 확인하였다. 단일 CPU 및 GPU 기반 ML-EM의 32번 반복연산에 있어 각각 3.83초와 0.26초가 걸렸으며 GPU의 병렬연산의 경우 15배 정도의 개선된 성능을 보였다. 반복횟수가 1024까지 증가하였을 경우, CPU와 GPU 기반 알고리즘은 각각 18분과 8초의 연산시간이 걸렸다. GPU 기반 알고리즘이 약 135배 빠른 처리속도를 보였는데 이는 단일 CPU 계산이 특정 반복횟수 이후 나타나는 시간 지연에 따른 것이다. 결과적으로, GPU 기반 계산이 더 작은 편차와 빠른 속도를 보였다. 결론: ML-EM 알고리즘에 기초한 GPU기반 병렬 계산이 처리 속도와 안정성을 더 증진시킴을 확인하였으며 이를 활용해 다른 영상 재구성 알고리즘에도 적용시킬 수 있을 것으로 기대한다.
목적: ML-EM (The maximum likelihood-expectation maximization) 기법은 방출과 검출 과정에 대한 통계학적 모델에 기반한 재구성 알고리즘이다. ML-EM은 결과 영상의 정확성과 유용성에 있어 많은 이점이 있는 반면 반복적인 계산과 방대한 작업량 때문에 CPU(central processing unit)로 처리할 때 상당한 연산시간이 소요되었다. 본 연구에서는 GPU(graphic processing unit)의 병렬 처리 기술을 ML-EM 알고리즘에 적용하여 영상을 재구성하였다. 대상 및 방법: 엔비디아사(社)의 CUDA 기술을 이용하여 ML-EM 알고리즘의 투사 및 역투사 과정을 병렬화 전략을 구상하였으며 Geforce 9800 GTX+ 그래픽 카드를 이용하여 병렬화 연산을 수행하여 기존의 단일 CPU기반 연산법과 비교하였다. 각 반복횟수마다 투사 및 역투사 과정에 걸리는 총 지연 시간과 퍼센트 오차(percent error)를 측정하였다. 총 지연 시간에는 RAM과 GPU 메모리 간의 데이터 전송 지연 시간도 포함하였다. 결과: 모든 반복횟수에 대해 CPU 기반 ML-EM 알고리즘보다 GPU 기반 알고리즘이 더 빠른 성능을 나타내는 것을 확인하였다. 단일 CPU 및 GPU 기반 ML-EM의 32번 반복연산에 있어 각각 3.83초와 0.26초가 걸렸으며 GPU의 병렬연산의 경우 15배 정도의 개선된 성능을 보였다. 반복횟수가 1024까지 증가하였을 경우, CPU와 GPU 기반 알고리즘은 각각 18분과 8초의 연산시간이 걸렸다. GPU 기반 알고리즘이 약 135배 빠른 처리속도를 보였는데 이는 단일 CPU 계산이 특정 반복횟수 이후 나타나는 시간 지연에 따른 것이다. 결과적으로, GPU 기반 계산이 더 작은 편차와 빠른 속도를 보였다. 결론: ML-EM 알고리즘에 기초한 GPU기반 병렬 계산이 처리 속도와 안정성을 더 증진시킴을 확인하였으며 이를 활용해 다른 영상 재구성 알고리즘에도 적용시킬 수 있을 것으로 기대한다.
Purpose: The maximum likelihood-expectation maximization (ML-EM) is the statistical reconstruction algorithm derived from probabilistic model of the emission and detection processes. Although the ML-EM has many advantages in accuracy and utility, the use of the ML-EM is limited due to the computatio...
Purpose: The maximum likelihood-expectation maximization (ML-EM) is the statistical reconstruction algorithm derived from probabilistic model of the emission and detection processes. Although the ML-EM has many advantages in accuracy and utility, the use of the ML-EM is limited due to the computational burden of iterating processing on a CPU (central processing unit). In this study, we developed a parallel computing technique on GPU (graphic processing unit) for ML-EM algorithm. Materials and Methods: Using Geforce 9800 GTX+ graphic card and CUDA (compute unified device architecture) the projection and backprojection in ML-EM algorithm were parallelized by NVIDIA's technology. The time delay on computations for projection, errors between measured and estimated data and backprojection in an iteration were measured. Total time included the latency in data transmission between RAM and GPU memory. Results: The total computation time of the CPU- and GPU-based ML-EM with 32 iterations were 3.83 and 0.26 see, respectively. In this case, the computing speed was improved about 15 times on GPU. When the number of iterations increased into 1024, the CPU- and GPU-based computing took totally 18 min and 8 see, respectively. The improvement was about 135 times and was caused by delay on CPU-based computing after certain iterations. On the other hand, the GPU-based computation provided very small variation on time delay per iteration due to use of shared memory. Conclusion: The GPU-based parallel computation for ML-EM improved significantly the computing speed and stability. The developed GPU-based ML-EM algorithm could be easily modified for some other imaging geometries.
Purpose: The maximum likelihood-expectation maximization (ML-EM) is the statistical reconstruction algorithm derived from probabilistic model of the emission and detection processes. Although the ML-EM has many advantages in accuracy and utility, the use of the ML-EM is limited due to the computational burden of iterating processing on a CPU (central processing unit). In this study, we developed a parallel computing technique on GPU (graphic processing unit) for ML-EM algorithm. Materials and Methods: Using Geforce 9800 GTX+ graphic card and CUDA (compute unified device architecture) the projection and backprojection in ML-EM algorithm were parallelized by NVIDIA's technology. The time delay on computations for projection, errors between measured and estimated data and backprojection in an iteration were measured. Total time included the latency in data transmission between RAM and GPU memory. Results: The total computation time of the CPU- and GPU-based ML-EM with 32 iterations were 3.83 and 0.26 see, respectively. In this case, the computing speed was improved about 15 times on GPU. When the number of iterations increased into 1024, the CPU- and GPU-based computing took totally 18 min and 8 see, respectively. The improvement was about 135 times and was caused by delay on CPU-based computing after certain iterations. On the other hand, the GPU-based computation provided very small variation on time delay per iteration due to use of shared memory. Conclusion: The GPU-based parallel computation for ML-EM improved significantly the computing speed and stability. The developed GPU-based ML-EM algorithm could be easily modified for some other imaging geometries.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
그러나 GPU 기반 병렬연산의 경우 탐색표를 전역 메모리에 저장한 후 사용하게 되면 메모리 전송속도가 너무 느려 때론 매번 동일한 연산을 직접 계산하는 것보다 메모리 내 탐색표로부터 값을 읽어 오는 시간이 더 오래 걸리는 경우가 발생할 수 있다. 그러므로 본 연구에서는 다소 비효율적이지만 탐색표를 사용하지 않고 각 스레드 내에서 매번 직접 계산하여 전역메모리에 대한 접근으로 인한 시간 지연을 줄이고자 하였다. Fig.
본 연구에서는 ML-EM 알고리즘의 투사 및 역투사 과정에 대한 병렬화 전략을 개발하고 이를 GPU 기반으로 구현하여 연산속도의 향상을 꾀하였다. 보다 빠른 영상재구성을 위한 기존의 가속화된 접근방법인 OSEM 알고리즘 및 고성능 다중 CPUmm 가 장착된 컴퓨터의 사용에 비하여 GPU 기반 영상 재구성법은 가속화된 연산속도를 얻을 뿐 아니라 가격대비 클록 수 측면에서 보다 저렴한 시스템을 구현할 수 있다.
제안 방법
그러므로 각 스레드는 영상공간의 분할된 부분영역 중 하나를 배정받아 투사 및 역투사 과정을 수행하게 된다. 16 개의 스레드는 하나의 블록을 구성하며 총 블록 수는 피사체 주변에서 촬영하는 시스템의 이산회전각도 개수에 해당하도록 설계되어 각 회전각도에 대하여 병렬적으로 투사 및 역투사 과정이 수행되었다.
rm) gpu 기반 영상 재구성 알고리즘은 NVIDIA사에서 발표한 쿠다(computed unified device architecture, CUDA) 기술을 사용하여 구현하였으며 이를 통한 성능향상 여부를 평가하였다. CUDA를 이용한 GPU 기반 알고리즘의 성능은 GPU를 구성하는 각 프로세서에 배분되는 작업의 구성에 따라 영향을 받으므로 본 연구에서는 ML- EM 알고리즘의 병렬화 과정에 대한 최적화를 수행하였으며, 연산시간 및 재구성된 영상의 정확도 측면에서 단일 CPU(single CPU) 기반으로 구현된 알고리즘의 결과와 비교 평가하였다.
GPU 기반 ML-EM 알고리즘 구현 시 탐색표의 존재 여부에 따른 연산시간을 비교하였다. 미리 계산하여 전역 메모리에 저장한 시스템 행렬을 사용하여 구현한 GPU 기반 ML-EM 알고리즘은 Table 2에 나타난 바와 같이 단일 CPU 기반 재구성의 결과보다 연산속도가 최소 3배에서 최대 27배까지 더 빨라지며 동일한 질의 영상을 얻는 것을 확인할 수 있었다.
4A와 같은 128x128 크기의 Hoffman 뇌 소프트웨어 모형을 사용하였으며 화소구동법 (pixel- driven method)으로 구현된 투사기 (projector) 를 이용하여 피사체 주변을 3도마다 회전하여 Hoffman 뇌 모형에 대한 투사데 이터 (B, 12CK128) 를 얻을 수 있었다. ML-EM 알고리즘을 이용하여 Fig. 4B와 같은 투사데이터를 재구성하였다 단일 CPU와 GPU 기반 ML-EM 알고리즘을 32, 64, 128, 256, 1024번의 반복횟수만큼 수행하였다. 최종 재구성된 결과 영상에 대하여 식 (4)와 같이 계산된 퍼센트 오차 (percent error, PE) 및 연산시간을 비교하였다.
GPU 기반으로 개 발하였다. ML-EM에서 가장 많은 연산 시간이 소요되는 투사 및 역투사 과정을 병렬화 하였으며 재구성된 영상을 표현하는 영상공간과 검출기의 회전각도에 따라 병렬화 전략을 구축하였다. 영상공간을 부분영역으로 분할하여 스레드를, 회전각도에 따라 스레드의 집합인 블록을 구성하였다.
(2) 또한 GPU 기반 시스템은 다중 GPU를 서로 물리적으로 연결하면 별도의 호환 프로그램 없이 바로 동작할 수 있는 다중 GPU 솔루션이 이미 존재하므로 시스템의 업그레이드 작업이 간편하다는 이점도 기대할 수 있다.rm) gpu 기반 영상 재구성 알고리즘은 NVIDIA사에서 발표한 쿠다(computed unified device architecture, CUDA) 기술을 사용하여 구현하였으며 이를 통한 성능향상 여부를 평가하였다. CUDA를 이용한 GPU 기반 알고리즘의 성능은 GPU를 구성하는 각 프로세서에 배분되는 작업의 구성에 따라 영향을 받으므로 본 연구에서는 ML- EM 알고리즘의 병렬화 과정에 대한 최적화를 수행하였으며, 연산시간 및 재구성된 영상의 정확도 측면에서 단일 CPU(single CPU) 기반으로 구현된 알고리즘의 결과와 비교 평가하였다.
최종 재구성된 결과 영상에 대하여 식 (4)와 같이 계산된 퍼센트 오차 (percent error, PE) 및 연산시간을 비교하였다. 또한 GPU 기반 ML-EM의 구현 시 탐색표 존재여부에 따른 연산 시간의 변화를 관찰하였다.
알고리즘 개선을 통하여 더 많은 스레드 분할이 가능하여 진다면 병렬연산 속도는 두 세배 더 빨라질 것으로 기대된다. 또한 상당한 시간이 소요되는 GPU의 전역 메모리 접근 시간을 고려하여 메모리 접근 횟수를 줄이는 방식으로 병렬화를 구현하였으며탐색표 참조를 삭제하고 각 스레드에서 ML-EM의 반복 연산 시 불변하는 항목인 시스템 행렬을 매번 직접 계산하는 방법을 택하였다. 그러나 검출 시스템의 구조에 따라 시스템 행렬의 연산량이 결정되므로 GPU 기반 병렬연산 시 탐색 표 참조여부에 따른 병렬연산 속도의 변화를 확인하고 최적화된 방식을 선택하여야 한다.
할 수 있다. 반복횟수가 증가할수록 단일 CPU와 GPU 기반 연산속도의 비가 더 커지는 경향의 원인을 규명하기 위하여 반복횟수에 따른 각 세분화된 작업에 대한 지연시간을 측정하였다. Fig.
본 실험에 사용된 ML-EM 알고리즘은 적절한 병렬화 전략을 통하여 오차 없이 연산속도를 향상시키는 GPU 기반 프로그램으로 구현되었다. 최적화된 병렬화 전략을 구축하지 못하면 서로 다른 프로세서에서 동일한 메모리에 접근하여 올바른 신호 전달이 이루어지지 않는 뱅크충돌 현상이 발생할 수 있으며 이로 인하여 GPU 기반으로 병렬화된 프로그램이 오히려 기존의 경우보다 훨씬 느린 처리속도를 보일 수도 있다.
각 스레드에 균등한 작업량을 할당하기 위한 병렬연산 전략으로 영상 공간을 여러 부분영역으로 분할하여 스레드에 할당하였다. 본 연구에서는 Fig. 1에 나타난 바와 같이 영상공간을 4x4, 즉 총 16개 부분영역으로 서로 겹치지 않게 구분하였다. 그러므로 각 스레드는 영상공간의 분할된 부분영역 중 하나를 배정받아 투사 및 역투사 과정을 수행하게 된다.
본 연구에서는 ml-EM 영상재구성 알고리즘의 병렬연 산을 GPU 기반으로 개 발하였다. ML-EM에서 가장 많은 연산 시간이 소요되는 투사 및 역투사 과정을 병렬화 하였으며 재구성된 영상을 표현하는 영상공간과 검출기의 회전각도에 따라 병렬화 전략을 구축하였다.
ML-EM에서 가장 많은 연산 시간이 소요되는 투사 및 역투사 과정을 병렬화 하였으며 재구성된 영상을 표현하는 영상공간과 검출기의 회전각도에 따라 병렬화 전략을 구축하였다. 영상공간을 부분영역으로 분할하여 스레드를, 회전각도에 따라 스레드의 집합인 블록을 구성하였다.
2(A)와 (B)는 전체적인 개형은 비슷하지만 투사과정에 대한 병렬연산의 결과인 (B)는 기대치 (A)에 비하여 정확하게 연산되지 못하고 뱅크 충돌에 의하여 예기치 않은 값이 발생함을 확인할 수 있다. 이러한 뱅크 충돌을 피하기 위한 전략으로 Fig. 1에 나타난 바와 같이 공유 메모리 내 각 스레드가 접근하는 부분을 영상공간에 대한 부분영역 개수만큼 나누어 모든 스레드 작업이 끝난 후 모든 결과의 합계를 계산하는 과정을 추가하였다. 현재 사용하는 GPU의 공유메모리 용량이 16 Kbytes로 제한되어 있어 스레드 수를 16 개 이상으로 늘릴 수 없다는 제한점이 있다.
데이터처리
Fig. 5에서 단일 CPU와 GPU 기반 ML-EM 영상 재구성 알고리즘의 결과 영상과 퍼센트 오차를 비교하였다. Fig.
4B와 같은 투사데이터를 재구성하였다 단일 CPU와 GPU 기반 ML-EM 알고리즘을 32, 64, 128, 256, 1024번의 반복횟수만큼 수행하였다. 최종 재구성된 결과 영상에 대하여 식 (4)와 같이 계산된 퍼센트 오차 (percent error, PE) 및 연산시간을 비교하였다. 또한 GPU 기반 ML-EM의 구현 시 탐색표 존재여부에 따른 연산 시간의 변화를 관찰하였다.
이론/모형
Figure 4. For simulation, it is used an (A) Hoffman brain software phantom and generated a (B) projection data for the phantom from projector modelled with pixel-driven method.
실험을 위하여 Fig. 4A와 같은 128x128 크기의 Hoffman 뇌 소프트웨어 모형을 사용하였으며 화소구동법 (pixel- driven method)으로 구현된 투사기 (projector) 를 이용하여 피사체 주변을 3도마다 회전하여 Hoffman 뇌 모형에 대한 투사데 이터 (B, 12CK128) 를 얻을 수 있었다. ML-EM 알고리즘을 이용하여 Fig.
성능/효과
보다 빠른 영상재구성을 위한 기존의 가속화된 접근방법인 OSEM 알고리즘 및 고성능 다중 CPUmm 가 장착된 컴퓨터의 사용에 비하여 GPU 기반 영상 재구성법은 가속화된 연산속도를 얻을 뿐 아니라 가격대비 클록 수 측면에서 보다 저렴한 시스템을 구현할 수 있다.(2) 또한 GPU 기반 시스템은 다중 GPU를 서로 물리적으로 연결하면 별도의 호환 프로그램 없이 바로 동작할 수 있는 다중 GPU 솔루션이 이미 존재하므로 시스템의 업그레이드 작업이 간편하다는 이점도 기대할 수 있다.rm) gpu 기반 영상 재구성 알고리즘은 NVIDIA사에서 발표한 쿠다(computed unified device architecture, CUDA) 기술을 사용하여 구현하였으며 이를 통한 성능향상 여부를 평가하였다.
GeForce 9800 GTX+는 512개의 thread와 512><64개의 block으로 설정하는 것이 가능하여 본 연구에서 사용하기에 적합하였다.
그러나 탐색표를 제거하고 각 블록 내 스레드에서 직접 매번 계산하는 방식으로 GPU 기반 ML- EM을 구현하였을 때 Table 3에 나타난 바와 같이 연산속도가 상당히 개선되었음을 확인할 수가 있다. 또한 단일 CPU 기반의 경우보다 최소 15배에서 최대 134배까지 개선된 연산속도를 보였다. 즉 GPU 구조상 전역 메모리 접근으로 인한 지연된 연산시간을 5배 정도 빠르게 최적화할 수 있었다.
5의 그래프에 나타난 바와 같이 정 량적 인 비교를 위하여 계산한 퍼센트 오차를 비교해보면 단일 CPU와 GPU 기반 ML-EM 알고리즘에서 얻은 결과 사이에 차이를 발견할 수 없었다. 또한 지정된 반복 횟수(32, 64, 128, 256, 1024번)마다 얻은 결과 영상을 정성적으로 비교해 보아도 거의 유사함을 확인할 수 있다.
따른 연산시간을 비교하였다. 미리 계산하여 전역 메모리에 저장한 시스템 행렬을 사용하여 구현한 GPU 기반 ML-EM 알고리즘은 Table 2에 나타난 바와 같이 단일 CPU 기반 재구성의 결과보다 연산속도가 최소 3배에서 최대 27배까지 더 빨라지며 동일한 질의 영상을 얻는 것을 확인할 수 있었다. 그러나 탐색표를 제거하고 각 블록 내 스레드에서 직접 매번 계산하는 방식으로 GPU 기반 ML- EM을 구현하였을 때 Table 3에 나타난 바와 같이 연산속도가 상당히 개선되었음을 확인할 수가 있다.
연산속도의 향상을 꾀하였다. 보다 빠른 영상재구성을 위한 기존의 가속화된 접근방법인 OSEM 알고리즘 및 고성능 다중 CPUmm 가 장착된 컴퓨터의 사용에 비하여 GPU 기반 영상 재구성법은 가속화된 연산속도를 얻을 뿐 아니라 가격대비 클록 수 측면에서 보다 저렴한 시스템을 구현할 수 있다.(2) 또한 GPU 기반 시스템은 다중 GPU를 서로 물리적으로 연결하면 별도의 호환 프로그램 없이 바로 동작할 수 있는 다중 GPU 솔루션이 이미 존재하므로 시스템의 업그레이드 작업이 간편하다는 이점도 기대할 수 있다.
실험결과에 나타난 바와 같이 GPU 기반 ML-EM 영상재구성이 단일 CPU 기반의 경우에 비하여 15배 정도 개선된 연산능력을 보였다 또한 단일 CPU와 GPU 기반 ML- EM 영상 재구성법이 모두 동일한 퍼센트 오차를 보였으며 두 결과 영상의 차이를 육안으로도 볼 수 없었다. 이는 GPU 기반 ML-EM이 연산에 대한 병렬처리 기능만 추가되었을 뿐 재구성 알고리즘의 정확도를 변화시킨 것은 아니라는 점과 부합한다.
또한 단일 CPU 기반의 경우보다 최소 15배에서 최대 134배까지 개선된 연산속도를 보였다. 즉 GPU 구조상 전역 메모리 접근으로 인한 지연된 연산시간을 5배 정도 빠르게 최적화할 수 있었다.
그러므로 단일 CPU와 GPU 기반 ML-EM 알고리즘의 실질적인 연산속도 비는 15배라고 볼 수 있다. 즉 GPU를 이용한 병렬연산을 통하여 15배 정도의 개선된 성능을 구축할 수 있었다. 기대한 바와 같이 GPU의 병렬처리 기능을 이용한 영상 재구성 방법이 기존의 단일 CPU 기반 방법에 비하여 훨씬 빠른 것으로 관찰되지만, 그 정도의 차이는 병렬화 전략에 따라 크게 조}.
이는 GPU 기반 ML-EM이 연산에 대한 병렬처리 기능만 추가되었을 뿐 재구성 알고리즘의 정확도를 변화시킨 것은 아니라는 점과 부합한다. 특히 퍼센트 오차 측면에서 GPU 기반 ML-EM의 결과 영상이 단일 CPU 기반의 경우에 비하여 퍼센트 오차 측면에서 굉장히 작은 차이 (<0.000001)를보였는데 이는 쿠다에서 사용하는 삼각함수와 일반 C 언어에서 제공하는 삼각함수의 차이로 무시할 수 있을 정도로 작았다.
후속연구
GPU기반으로 수행한 ML-EM 영상재구성법의 병렬연산으로 인한 빠른 속도를 이용하여 기존의 영상 재구성 시스템을 GPU 기반 시스템으로 대체할 수 있을 것으로 기대된다. 또한 여러 개의 GPU를 물리적으로 연결한 후 이미 존재하는 다중 GPU 솔루션을 이용하여 별도의 호환 프로그램 없이 바로 다중 GPU 시스템을 구축할 수 있어 시스템 성능 업그레이드도 한층 간편할 것이다.
또한 여러 개의 GPU를 물리적으로 연결한 후 이미 존재하는 다중 GPU 솔루션을 이용하여 별도의 호환 프로그램 없이 바로 다중 GPU 시스템을 구축할 수 있어 시스템 성능 업그레이드도 한층 간편할 것이다.
그러므로 다른 영상 재구성 알고리즘에 대하여 병렬화를 구현하려면 병렬화 가능 여부를 확인하고 최적화된 방법을 구축해야 한다. 본 연구에서 구축한 GPU 기반 병렬연산 전략은 다른 영상 시스템에 대한 병렬재구성 기법 개발을 위하여 확장될 수 있다. 부채살 조준기를 장착한 SPECT 시스템과 같이 특정한 검출 경로를 모델링하여 영상을 재구성 하거나 고해상도 영상을 지원하기 위하여 반응 깊이 (depth of interaction, DOI)를 측정하는 DOI-PET 시스템과 같이 방대한 양의 데이터를 처리해야 하는 경우에 GPU 기반 병렬 연산은 유용할 것으로 기대된다.
작업에 대한 병렬화 전략과 관련하여 스레드 수가 프로세서 수에 비하여 작거나 스레드 간 작업량이 불균등할 경우 한 프로세서가 남은 작업량을 처리하는 동안 이미 연산을 마친 다른 프로세서들은 하는 일없이 가만히 있게 되는 비효율성이 발생할 수 있다. 본 연구에서 사용하는 GPU의 스레드 수는 16개에 불과하여 GPU 기반 병렬연산의 성능을 최대로 끌어올리는데 제한이 있었다. 알고리즘 개선을 통하여 더 많은 스레드 분할이 가능하여 진다면 병렬연산 속도는 두 세배 더 빨라질 것으로 기대된다.
본 연구에서는 NVIDIA사의 쿠다 기술을 이용하여 같은 회사의 GPU 제품에만 적용할 수 있는데 반해 향후 연구에서는 최근 새로이 개발된 개방형 범용 병렬 컴퓨팅 프레임워크인 OpenCL(Open Computing Language) 기술을 사용하여 다른 희사의 GPU뿐 아니라 CPU도 함께 병 렬 작업에 사용하는 방법에 대한 연구가 필요할 것이다.
본 연구에서 구축한 GPU 기반 병렬연산 전략은 다른 영상 시스템에 대한 병렬재구성 기법 개발을 위하여 확장될 수 있다. 부채살 조준기를 장착한 SPECT 시스템과 같이 특정한 검출 경로를 모델링하여 영상을 재구성 하거나 고해상도 영상을 지원하기 위하여 반응 깊이 (depth of interaction, DOI)를 측정하는 DOI-PET 시스템과 같이 방대한 양의 데이터를 처리해야 하는 경우에 GPU 기반 병렬 연산은 유용할 것으로 기대된다. 또한 선 적분(line integration)을 기반으로 모델링하는 일반적인 SPECT나 PET 시스템과 달리 타원추 표면 적분 (conical surface integration)을 기반으로 3차원 데이터를 직접 다루어야 하는 컴프턴 카메라(Compton camera) 시스템 2。, 21)은 영상 재구성 시 상당한 연산시간을 소요하므로 GPU 기반 병렬연산의 적용이 필요한 연구 분야이다.
본 연구에서 사용하는 GPU의 스레드 수는 16개에 불과하여 GPU 기반 병렬연산의 성능을 최대로 끌어올리는데 제한이 있었다. 알고리즘 개선을 통하여 더 많은 스레드 분할이 가능하여 진다면 병렬연산 속도는 두 세배 더 빨라질 것으로 기대된다. 또한 상당한 시간이 소요되는 GPU의 전역 메모리 접근 시간을 고려하여 메모리 접근 횟수를 줄이는 방식으로 병렬화를 구현하였으며탐색표 참조를 삭제하고 각 스레드에서 ML-EM의 반복 연산 시 불변하는 항목인 시스템 행렬을 매번 직접 계산하는 방법을 택하였다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.