거친 입도 (Coarse-grained) 열 시뮬레이션은 국부적인 열 문제를 과소평가하는 경향이 있어, 잠재적으로 중요한 핫스팟 (hotspots)을 놓칠 수 있습니다. 따라서 정확한 분석을 위해서는 미세한 입도 (fine-grained) 정보가 필요하며, 이는 격자 해상도 (grid resolution)를 극적으로 증가시켜 계산 작업량을 늘립니다. 다행히 계수 행렬 (coefficient matrices)은 종종 규칙적인 희소 패턴 (sparsity patterns)을 가진 희소 행렬 (sparse)인 경우가 많아 최적화의 기회를 제공합니다. 그러나 GPU 상의 기존 범용 행렬 솔버 (general-purpose matrix solvers)는 이러한 도메인 특화적 속성을 활용하는 경우가 드물며, 이로 인해 데이터 저장, 메모리 액세스 (memory access), 병렬성 (parallelism), 계산 효율성 (computational efficiency) 및 하드웨어 활용도 (hardware utilization) 측면에서 병목 현상을 겪습니다.
이에 따라, 우리는 고해상도 정상 상태 (steady-state) 및 과도 상태 (transient) 3D IC 열 시뮬레이션에서 발생하는 대칭 양의 정부호 (Symmetric Positive Definite, SPD) 시스템을 위한, 공동 설계된 GPU 가속 사전 조건부 켤레 기울기법 (Preconditioned Conjugate Gradient, PCG) 기반 희소 솔버 프레임워크인 CUTh-Solver를 제안합니다. 데이터 저장을 위해, CUTh-Solver는 중복을 제거하기 위해 대각 (Diagonal, DIA) 저장 형식을 압축합니다. 메모리 액세스를 최적화하기 위해, CUTh-Solver는 병합된 메모리 액세스 (coalesced memory access)를 달성하도록 대각선 방향의 SpMV (SpMV, Sparse Matrix-Vector multiplication)를 채택합니다. 우리는 또한 병렬성과 사전 조건화 (preconditioning) 품질 사이의 결정적인 충돌을 관찰하였으며, 이에 따라 고병렬 사전 조건화 전략을 채택합니다. 계산 효율성과 하드웨어 활용도를 향상시키기 위해, 우리는 다양한 부동 소수점 장치 (floating-point units)를 활용하여 자원 경합 (resource contention)을 피하는 적응형 미세 입도 혼합 정밀도 (adaptive fine-grained mixed-precision) 전략을 사용하여, 수치적 안정성 (numerical stability)을 해치지 않으면서 처리량 (throughput)을 높입니다.
실험 결과에 따르면, CUTh-Solver는 GPU 가속 COMSOL Multiphysics 6.4 대비 최대 25.8배, NVIDIA의 네이티브 범용 라이브러리 (AmgX, cuSPARSE, cuDSS) 대비 3배 이상의 속도 향상을 달성했습니다. 절제 연구 (Ablation studies)를 통해 각 최적화의 개별적인 기여도를 검증했습니다. 코드는 다음에서 확인할 수 있습니다: https://github.com/Chenghan-Wang/CUTh-Solver