CUDA Parallelization of the Smallest-Small-World Cellular Genetic Algorithms
Youngtae Kim, Taewon Kang · The Journal of Korean Institute of Information Technology · 2018
본 논문에서는 범용 계산을 위한 NVIDIA GPU(Graphic Processing Unit) 플랫폼인 CUDA를 사용하여 최소 좁은 세상 셀룰러 유전알고리즘(SSWCGA)를 병렬화하고 성능을 평가한다. SSWCGA는 모집단이 격자형 네트워크로 구성되어 병렬화하기에 적합하다. 병렬 프로그램에서는 난수 발생의 효율을 높이기 위하여 난수 도메인을 그리드 상에서 병렬로 생성하여 도메인 계산을 병렬로 실행하도록 하였다. 또한 모집단 개체의 최대값을 계산하기 위하여 캐시메모리 역할을 하는 공유메모리를 사용하여 성능을 높였다. 평가 결과 동일한 크기의 모집단에 대해 동일한 비율로 최적해를 찾는 것을 확인 할 수 있었다. 수행시간 측면에서 단일 CPU 프로세스에 비해 대략 10% 내외의 시간에 최적해를 찾을 수 있음을 알 수 있었다.