Skip Navigation
Skip to contents

eTSNE


ANZINE : CAE 기술 매거진

ANZINE Home Tech-Insight

CPU Solver? GPU Solver? 그게 뭔데?

CPU Solver? GPU Solver? 그게 뭔데?

 
 
최근 몇 년간 Ansys Fluent®의 주요 업그레이드 내역을 살펴보면, 가장 중심이 되는 변화는 GPU Solver에 대한 지속적인 강화와 새로운 기능 추가라는 점이다. 각 릴리스에서는 GPU Solver의 성능과 지원 물리 모델이 크게 확장되었으며, 대규모 병렬 처리와 시뮬레이션 속도 향상에 초점을 맞춘 혁신이 빠르게 이루어지고 있다. 그럼 CPU Solver와 GPU Solver는 도대체 무엇인지 알아보자.

■ CPU / GPU Solver

GPU Solver의 성능 비교 대상이 되는 CPU 장비는 일반적인 데스크톱이나 워크스테이션 수준이 아니라, 여러 대의 서버가 네트워크로 연결된 전산 클러스터(Cluster) 환경이다.

[그림 1] CPU vs. GPU

 대규모 CFD 해석의 경우 단일 시스템(데스크톱 또는 워크스테이션)으로 처리할 수 있는 계산 자원에는 명확한 한계가 존재한다. 이에 따라 여러 Node를 통합한 Cluster 시스템을 구성하여 병렬 계산을 수행하며, 실제 산업 및 연구 현장에서는 이러한 클러스터 환경이 복잡한 해석 문제를 효율적으로 해결하기 위해 널리 활용되고 있다. 이러한 시스템은 대규모 CFD 해석을 빠르고 안정적으로 처리할 수 있다는 장점을 가진다. 반면, GPU Solver는 단일 또는 다중 GPU가 장착된 데스크톱이나 워크스테이션 등 컴팩트한 환경에서도 높은 연산 성능을 발휘한다. GPU Solver의 대규모 병렬 연산 구조는 Transient 해석이나 난류·복사와 같은 연산 집약적 문제에서 특히 높은 효율성을 보인다. 아울러 동일한 해석 성능을 달성하기 위해 필요한 시스템 규모가 CPU 클러스터에 비해 매우 작고, 설치 공간과 전력 소모가 적으며, 운영 및 유지보수 비용이 상대적으로 낮다는 점에서 우수한 경제성을 지닌다. 이러한 장점으로 인해 최근에는 중소형 연구 기관과 기업에서도 GPU 기반 해석 환경을 적극적으로 도입하는 추세가 확산하고 있다. 다만 GPU Solver가 모든 규모의 해석에 대해 항상 대폭적인 속도 향상을 보장하는 것은 아니다. 해석 규모가 작거나 연산 부하가 낮은 경우, GPU 초기 데이터 전송 및 커널 실행 오버헤드로 인해 오히려 CPU Solver보다 비효율적일 수 있다. 따라서 GPU Solver는 연산 집약도가 높고 데이터 병렬성이 확보되는 대규모 또는 복잡 해석에서 가장 효과적이며, 이러한 특성을 이해한 상태에서 해석 목적, 규모, 예산에 맞게 해석 시스템을 구성해야 한다.
 

■ GPU Solver License

Ansys Fluent에서 GPU Solver를 활용하기 위해서는 CFD Enterprise 라이선스가 필수적으로 요구된다. 이 라이선스는 기본적으로 40개의 Streaming Multiprocessors(SMs) 또는 Compute Units(CUs)을 포함하고 있어, 기본 GPU 자원 사용량을 지원한다. 추가로 더 많은 SMs/CUs를 필요로 하는 경우에는 별도의 HPC Pack 라이선스를 구매하여 확장할 수 있다. 2025년에 출시된 Ansys 2025 R1 SP1 이후 버전부터는 CFD Ultimate 라이선스가 도입되어, SM/CU 개수에 제한없이 CPU/GPU 자원을 무제한으로 활용할 수 있다. 이를 통해 GPU 기반 고성능 연산 환경 구축이 가능하다. GPU 하드웨어 측면에서는 NVIDIA의 Tesla 및 Quadro 시리즈가 공식적으로 권장되며, AMD GPU 중에서는 MI210, MI250, MI250X, MI300A, MI300X 모델이 지원 대상이다. 다만 AMD GPU의 경우 지원 가능한 모델이 제한적이므로 사용 전에 반드시 호환성을 확인해야 한다.
이처럼 GPU Solver 라이선스는 하드웨어 성능 단위를 기준으로 체계적으로 분류되어 있어, 최적의 GPU 성능을 발휘하기 위해서는 라이선스 구성과 지원 가능한 GPU 모델을 신중히 확인하는 과정이 요구된다.

■ CPU vs. GPU 테스트 장비 사양

CPU Solver는 보유중인 Cluster를 사용하였으며 사양은, Intel Xeon Gold 6248R (48core, 3.0GHz)이고 Memory는 192GB 장비를 사용하였고, GPU Solver는 아래 [표 1] GPU를 사용하여 비교 테스트를 진행하였다.

GPU Card

SMs/CUs

(per Card)

RAM (GB)

Max Problem Size
(# cells, 1 GPU)

# HPC Packs

Price

NVIDIA RTX 4000Ada

48

20

16M

1

$1,250

NVIDIA RTX 4500Ada

60

24

20M

2

$2,600

NVIDIA RTX 5000Ada

100

32

26M

3

$5,400

NVIDIA RTX 6000Ada

142

48

40M

3

$8,300

NVIDIA T4

40

16

12M

0

$2,600

NVIDIA L4

58

24

20M

2

$3,300

NVIDIA A10

82

25

20M

3

$6,000

NVIDIA L40

142

48

40M

3

$11,340

NVIDIA A100

108

80

67M

3

$14,000

NVIDIA H100

132

100

83M

3

$31,000

[표 1] Test GPU 사양

이번 테스트에 사용된 GPU를 모두 구비하는 것은 상당히 어렵다. 따라서 일부 GPU 는 보유하고 있는 장비를 사용하고, 글로벌 클라우드 HPC 플랫폼인 Rescale의 장비도 활용하여 진행하였다. Rescale은 고성능 컴퓨팅(HPC)을 위한 클라우드 기반 시뮬레이션 플랫폼으로, 사용자는 복잡한 HPC 인프라 관리 부담 없이 필요에 따라 즉시 확장 가능한 최첨단 컴퓨팅 자원을 활용할 수 있으며, 다양한 HPC 하드웨어 및 소프트웨어를 매끄럽게 통합하여 업무 효율을 극대화할 수 있다. 이를 통해 현장에 물리적 서버를 직접 마련하지 않고도 최신 GPU 하드웨어에서 고성능 시뮬레이션 테스트를 쉽게 진행할 수 있었다. 

■ Speed Up

앞서 GPU Solver의 해석 속도가 빠르다고 언급하였는데, 이를 정량적으로 확인하기 위해 CPU Solver 대비 GPU Solver의 해석 속도 향상 정도를 비교하는 테스트를 진행하였다. 첫 번째로 아래 [그림. 2] Truck 형상을 대상으로 테스트를 진행하였다.

[그림 2] Truck Geometry

 Mesh 개수는 약 600만 개이며, Mesh Type은 Triangular, Solver는 Pressure based segregated solver, Least squares cell based, steady로 설정하였고, 모델은 GEKO K-omega 난류 모델로 설정하였다. 결과는 아래 [그림 3] 그래프에서 확인할 수 있다. 그래프를 보면, CPU 환경(48/96코어 Xeon 기반)은 Core 개수 증가 비율과 유사한 1~2배 내외의 상대적 성능을 보이지만, 최신 싱글·멀티 GPU에서는 10~13배 이상의 속도 향상 효과를 확인할 수 있다.

 

[그림 3] Truck 해석 속도 비교

Nvidia 4000ada GPU 1개가 Intel Xeon 기반 96 Core보다 해석 속도가 더 빠른 것을 확인할 수 있다. Intel Xeon 기반 96 Core 장비는 두 개의 Node가 연결된 Cluster 환경이며, Nvidia 4000ada는 일반 데스크탑에 장착할 수 있는 단일 Graphic카드이다. 이러한 장비 규모의 차이를 고려하면, GPU Solver가 보여주는 해석 속도를 대략적으로 유추할 수 있다. 다음은 아래 [그림 4]와 같은 반응 해석에 대한 테스트를 진행하였다.

[그림 4] Reactor Geometry

Mesh 개수는 약 2,400만 개이며, Mesh Type은 Polyhedral, Solver는 Pressure based segregated solver, Least squares cell based, steady로 설정하였고, 모델은 GEKO K-omega 난류 모델, Ideal gas compressible로 설정하였다. 결과는 아래 [그림. 5] 그래프에서 확인할 수 있다. CPU 환경에서는 위 Truck 테스트 결과와 유사한 성능 향상을 확인할 수 있었고, GPU Solver 환경에서는 해석 속도가 10배에서 20배 이상 증가하는 현저한 속도 향상을 확인할 수 있다.

[그림 5] Reactor 해석 속도 비교

이 테스트에서 특히 중요한 부분은 일부 GPU에서는 계산이 불가능한 경우가 존재한다는 점이다. 이번 반응 해석을 테스트하기 위해서는 적어도 30GB 이상의 VRAM이 필요하며, 일부 GPU는 VRAM 용량 부족으로 인해 테스트를 진행할 수 없었다. 이번 테스트에서 알 수 있는 점은 해석에 필요한 VRAM 용량은 해석 대상 형상의 크기, 사용 Solver, 물리 모델 등에 따라 크게 달라진다는 점이다. 효율적인 GPU 해석을 위해서는 작업 전에 각 해석 조건에 적합한 VRAM 용량을 반드시 사전에 확인하여야 하며, 부족할 경우 Mesh 개수 조절, 물리 모델 변경 등을 고려해야 한다.

 

■ Accuracy

GPU Solver를 도입함으로써 해석 속도가 크게 향상될 수 있음을 확인하였다. 이에 더해 GPU Solver를 적용했을 때의 해석 정확도를 실험, CPU Solver, GPU Solver 결과 및 실험 데이터를 상호 비교하여 테스트하였다. 아래 [그림. 6]은 랜딩기어를 대상으로 한 유동 해석 결과와 실험, CPU Solver, GPU Solver 결과의 데이터를 나타낸 결과이다. 실험적으로 확인된 결과와 CPU 및 GPU Solver를 이용해 얻은 해석 결과가 거의 일치하는 패턴을 보였으며, Forward Wheel에 대한 3개 항목 모두 θ(각도)별로 동일한 경향성을 나타냈다. 이러한 결과를 통해 GPU Solver는 속도 향상뿐 아니라 해석 정확도에서도 기존 CPU Solver 및 실험 결과와 거의 유사한 값을 도출함이 확인되었다.

 [그림 6] 랜딩기어 형상 및 해석 결과 비교

다음으로 아래 [그림 7]과 같은 프로펠러 샤프트의 회전 운동에 대한 해석을 수행하였다. 좌측 이미지는 유동 해석 및 Stream Line, 그리고 우측 그래프는 실험 결과와 GPU Solver 기반 시뮬레이션 결과를 비교한 내용을 나타낸다. 그래프에서 실험 데이터와 GPU Solver 해석 결과가 Propeller Thrust Coefficient와 Propeller Advance Ratio 축 기준으로 거의 일치하며 유사한 경향이 보임을 확인할 수 있다. 이 결과는 GPU Solver를 이용할 경우에도 고정밀 실험과 동등한 수준의 해석 신뢰성을 확보할 수 있음을 입증한다.

[그림 7] 프로펠러 샤프트 형상 및 결과 비교

 결론적으로, GPU Solver는 속도 향상 효과에 더해 실제 물리 계수 예측에서도 실험 결과와 높은 일치도를 보이며, 실용적 해석 도구로 신뢰할 수 있음을 확인하였다.

 

■ GPU Solver Physics Model

[그림 8] GPU Solver Physics Model

[그림 8] Fluent GPU Solver에서 사용할 수 있는 물리 모델들을 나타낸 것이다. CPU Solver용 모델들이 점차 GPU Solver에 이식되어 지원 범위가 확대되고 있으나, 아직 일부 모델은 완전히 지원되지 않고 있으며, 지원하더라도 세부 옵션 일부는 적용할 수 없는 경우가 있다. 따라서 GPU Solver를 사용하기 전에는 반드시 사용자가 해석에 적용하고자 하는 물리 모델이 현재 GPU Solver에서 지원되는지 면밀히 확인하는 절차가 필요하다.

 

■ 요약

지금까지 GPU Solver가 대규모 CFD 해석과 Transient 해석에서 탁월한 속도 향상 효과가 있다는 것을 확인하였다. 과거 GPU Solver 개발 초기에는 NVIDIA H100, A100과 같은 고가의 하이엔드 GPU에서만 이러한 드라마틱한 속도 향상이 가능했으나, 최근에는 상대적으로 낮은 가격의 GPU에서도 CPU 기반 클러스터에 근접한 해석 속도를 구현할 수 있게 되었다. 다만 GPU Solver에는 몇 가지 제약 사항이 존재하므로 주의가 필요하다.

 
1. GPU VRAM 용량이 CPU 시스템에 비해 상대적으로 적어, VRAM 이상의 해석 모델에서는 메모리 한계가 발생할 수 있다.
2. GPU에서 지원하는 물리 모델의 범위가 제한적이며, 일부 모델은 지원하더라도 세부 옵션 설정이 불가능한 경우가 있다.

이러한 제약 사항을 충분히 인지하고, 해석 목적과 요구 조건에 맞게 신중히 GPU Solver를 도입하는 것이 중요하다.

좋아요이 원고가 마음에 든다면 하트를 꾸욱!