
RTX PRO 6000 Blackwell 8장으로 로컬 LLM 서버 짜기 — VRAM 768GB
GPU 8장으로 VRAM 768GB를 갖췄는데 정작 512GB 시스템 RAM이 먼저 막혔다. 듀얼 파워 구성, 회로 분리, 방 온도 30도까지 실제로 겪은 것들.
로컬에서 LLM을 돌리다 보면 벽이 하나 온다. VRAM이 모자란다.
큰 모델은 양자화해서 억지로 올릴 수 있지만 품질이 떨어진다. 여러 모델을 동시에 띄워 비교하려면 그것도 안 된다. 결국 GPU를 늘리는 수밖에 없는데, 여기서 두 번째 벽이 온다. 일반 데스크톱 메인보드에는 GPU를 여러 장 꽂을 수 없다.
그래서 워크스테이션 플랫폼으로 서버를 짰다.
구성
| 부품 | 선택 |
|---|---|
| GPU | NVIDIA RTX PRO 6000 Blackwell Max-Q 96GB × 8 |
| CPU | AMD Ryzen Threadripper PRO 9975WX |
| 메인보드 | ASUS Pro WS WRX90E-SAGE SE |
| 메모리 | 삼성 DDR5 PC5-44800 ECC/REG 서버용 (64GB 모듈, 총 512GB) |
| 프레임 | 채굴기(마이닝 리그) 오픈 프레임 — 스피드랙 위에 배치 |
| 파워 | Seasonic PRIME PLATINUM PX-2200 (2200W) × 2 |
| CPU 쿨러 | be quiet! SILENT LOOP 3 420 |
| 시스템 쿨러 | Noctua NF-A14x25 G2 PWM ×24 |
| 팬 허브 | Noctua NA-FH1 |
| 전원 케이블 | C19-AC 220V 1.5SQ 16A |
GPU VRAM 합계는 96GB × 8 = 768GB 다.
왜 데스크톱 플랫폼으로는 안 되나
앞서 다른 글에서 개발용 워크스테이션을 게이밍 부품(9900X + X670E)으로 짰다고 썼다. 그 판단은 그 용도에서는 맞았다. 그런데 GPU를 여러 장 꽂는 순간 얘기가 완전히 달라진다.
핵심은 PCIe 레인 이다.
일반 데스크톱 CPU는 PCIe 레인 수가 제한돼 있다. 그래서 그래픽카드 슬롯이 여러 개 있어도, 두 번째 슬롯부터는 레인이 쪼개져 대역폭이 줄거나 칩셋을 거친다. GPU 두 장까지는 어떻게든 되지만 그 이상은 물리적으로 답이 없다.
Threadripper PRO 같은 워크스테이션 CPU는 레인이 훨씬 많다. WRX90 플랫폼은 이 레인을 여러 개의 풀사이즈 슬롯으로 뽑아내도록 설계돼 있다. GPU 8장을 꽂겠다고 정하는 순간 플랫폼은 자동으로 결정된다. 선택지가 없다.
이건 “좋은 걸 샀다”가 아니라 “이것 말고 방법이 없다”에 가깝다. GPU 두 장까지면 일반 데스크톱으로 충분하고, 그게 훨씬 싸다.
왜 ECC 메모리인가
메모리를 ECC(오류 검출·정정) 등록 메모리로 넣었다. 일반 게이밍 메모리보다 비싸고 클럭도 낮다.
이유는 연산이 오래 돌기 때문이다. 몇 시간에서 며칠씩 도는 작업에서 메모리 비트 하나가 뒤집히면, 결과가 조용히 틀린다. 크래시라도 나면 다행인데 그냥 이상한 값이 나오는 게 더 나쁘다. 어디서 틀렸는지 알 수 없다.
이 블로그의 다른 글에서도 반복해서 나온 기준인데, 조용히 틀리는 실패가 시끄럽게 죽는 실패보다 나쁘다. ECC는 그 조용한 실패를 시끄럽게 만들어주는 장치다.
클럭이 낮은 건 감수한다. LLM 추론에서 병목은 대부분 GPU 쪽이라 시스템 메모리 클럭의 영향이 상대적으로 작다.
가장 후회하는 선택: 메모리를 512GB로 한 것
이 구성에서 딱 하나 후회하는 게 있다면 시스템 메모리다.
64GB 모듈로 총 512GB를 넣었다. 1TB로 갈지 고민하다가 512GB로 정했는데, 지금은 1TB로 갈 걸 그랬다고 생각한다.
이유가 구체적이다. vLLM을 소스에서 빌드할 때 OOM이 난다.
vLLM 빌드는 CUDA 커널을 대량으로 컴파일한다. 병렬 작업 수를 CPU 스레드에 맞춰 잡으면, 각 컴파일 프로세스가 메모리를 크게 먹는다. Threadripper PRO처럼 스레드가 많은 CPU에서는 스레드가 많은 게 오히려 독이 된다.
풀 스레드로 빌드하면 512GB로도 부족해서 OOM이 났다. 32스레드로 제한해야 통과한다.
# 병렬 빌드 작업 수를 제한한다. 스레드를 다 쓰면 메모리가 터진다.
MAX_JOBS=32 pip install -e .
여기서 얻은 교훈이 있다.
VRAM만 보고 시스템 메모리를 정하면 안 된다. VRAM은 768GB인데 정작 먼저 막힌 건 512GB짜리 시스템 RAM이었다.
GPU를 많이 꽂는 구성일수록 CPU 스레드도 같이 많아진다. 그런데 빌드나 데이터 전처리처럼 CPU 병렬 작업은 스레드 수에 비례해 메모리를 먹는다. 코어가 많은 CPU를 고른 순간 시스템 메모리 요구량도 함께 올라간다는 걸 나중에 알았다.
메모리는 나중에 늘릴 수 있지 않냐고 할 수 있는데, 등록 ECC 메모리는 슬롯 구성과 채널 균형을 맞춰야 해서 중간에 섞어 끼우기가 까다롭다. 처음에 결정하는 게 낫다.
슬롯은 7개인데 GPU는 8장
플랫폼을 정하고 나서 부딪힌 문제가 하나 더 있었다. 메인보드의 PCIe 슬롯이 7개인데 꽂을 GPU는 8장이다.
워크스테이션 보드는 데스크톱보다 슬롯이 훨씬 많지만 무한하지는 않다. 물리적으로 보드에 낼 수 있는 풀사이즈 슬롯 수에 한계가 있다.
해결은 PCIe 스플리터다. 슬롯 하나에서 나오는 레인을 둘로 나눠 GPU 두 장에 연결한다. 그리고 나눠진 신호를 카드까지 보내는 데 MCIO 케이블을 쓴다.
MCIO 케이블을 쓰는 이유
MCIO(Mini Cool Edge IO)는 서버·워크스테이션에서 쓰는 고속 인터커넥트 케이블 규격이다. PCIe 신호를 슬롯에서 뽑아 케이블로 다른 위치까지 보낸다.
일반 PCIe 라이저 케이블 대신 MCIO를 쓰는 이유가 있다.
- 신호 품질이 안정적이다. 고속 신호를 케이블로 보내면 감쇠와 간섭이 생기는데, MCIO는 이걸 전제로 설계된 규격이다
- 더 긴 거리를 보낼 수 있다. GPU 8장을 배치하려면 보드에서 꽤 떨어진 위치까지 신호를 보내야 한다
- 커넥터가 작다. 풀사이즈 PCIe 커넥터보다 부피가 작아 케이블이 여러 개일 때 정리가 된다
워크스테이션 보드 중에는 MCIO 커넥터를 직접 제공하는 제품이 있다. 다중 GPU를 염두에 두고 보드를 고를 때 확인해볼 항목이다.
여기서 감수하는 것과 감수하지 않는 것이 나뉜다.
감수하는 것 — 대역폭
레인을 나누면 카드당 대역폭이 절반이 된다. x16 하나를 x8 두 개로 쓰는 식이다.
그런데 LLM 추론에서는 이게 큰 문제가 아니다. PCIe 대역폭이 주로 쓰이는 건 모델을 VRAM에 올릴 때다. 일단 올라가고 나면 연산은 GPU 안에서 일어나고 PCIe로 오가는 데이터는 상대적으로 적다. 모델 로딩이 조금 느려지는 대신 카드를 한 장 더 쓸 수 있다면 남는 거래다.
학습(training)이라면 얘기가 다르다. 카드 간 통신이 계속 일어나기 때문에 대역폭이 그대로 성능에 반영된다. 추론 전용이라 가능한 선택이었다.
감수하지 않는 것 — 신호 품질
PCIe는 고속 신호라 케이블 길이와 품질에 민감하다. 싸구려 라이저를 쓰면 링크가 x16에서 x4로 떨어지거나, 부팅 중에 카드가 인식되지 않거나, 부하가 걸릴 때 간헐적으로 끊긴다.
이런 증상은 디버깅이 정말 어렵다. 소프트웨어 문제처럼 보이기 때문이다. “가끔 GPU 하나가 안 잡힌다”를 며칠 쫓다가 케이블이 원인인 걸 알게 되는 식이다. 여기에는 돈을 아끼지 않는 편이 낫다.
결국 케이스를 포기했다
보통은 부품을 고르고 케이스를 고른다. 이 구성은 아예 케이스를 쓰지 않는 쪽으로 갔다.
이유는 단순하다. 풀사이즈 GPU 8장에 MCIO 케이블까지 붙으면 들어갈 케이스가 없다. 대형 케이스를 써도 카드 간격이 빠듯해지고, 케이블 경로와 420mm 라디에이터 자리까지 동시에 확보하기가 어렵다.
사실 대형 케이스를 하나 준비해뒀었다. 다중 GPU를 상정한 제품이었는데 결국 쓰지 않고 그대로 뒀다.
그래서 채굴기(마이닝 리그) 프레임을 썼다. 원래 GPU 여러 장을 오픈으로 배치하려고 만들어진 물건이라 이 용도에 정확히 맞는다. 그리고 그 전체를 스피드랙(앵글 선반) 위에 올렸다.
돌아보면 순서가 거꾸로였다. 이 규모라면 케이스를 알아보기 전에 오픈 프레임을 먼저 검토하는 게 맞다. 대형 케이스는 GPU를 4장쯤 꽂는 구성까지가 현실적인 범위고, 8장에 케이블 확장까지 붙으면 그때부터는 케이스가 도와주는 게 아니라 방해가 된다.
층 구성
[ 스피드랙 ]
│
┌─────────┴──────────┐
│ 2층: 메인보드 + GPU 8장 │ ← 앞/뒤에 140mm 팬
├────────────────────┤
│ 1층: 파워 2개 (PX-2200) │
└────────────────────┘
│
오른쪽: 420mm 라디에이터
- 1층에 파워 — 무거운 것을 아래에 둔다. 전원 케이블이 위로 올라가는 구조가 된다
- 2층에 메인보드와 GPU — 발열의 대부분이 여기서 나오므로 공기가 잘 통하는 위치에 둔다
- 라디에이터는 오른쪽으로 — CPU 수랭을 프레임 안에 두지 않고 옆으로 빼서, GPU가 쓸 공간과 겹치지 않게 했다
앞서 “케이스가 먼저 결정된다”고 쓸 뻔했는데, 실제로는 케이스라는 제약 자체를 없애는 게 답이었다.
140mm 팬 24개
오픈 프레임은 공기가 잘 통하지만, 그렇다고 저절로 식지는 않는다. 팬으로 바람길을 만들어줘야 한다.
140mm 팬을 6개씩 묶어 2층으로, 앞뒤 양쪽에 붙였다. 합계 24개다.
앞 12개 (6 × 2층) →→→ [ GPU 8장 ] →→→ 뒤 12개 (6 × 2층)
한쪽에서 밀고 반대쪽에서 빼는 구조다. GPU 사이로 공기가 지나가게 만드는 게 목적이다. 케이스가 없으니 열이 갇히지는 않지만, 바람이 지나갈 방향을 정해주지 않으면 뜨거운 공기가 카드 주변에 머문다.
팬을 이렇게 많이 쓰면 제어가 문제가 된다. 메인보드 팬 헤더로는 24개를 감당할 수 없어서 팬 허브가 필요하다.
바람길이 균일하지 않다
여기서 앞의 PCIe 스플리터 이야기가 다시 걸린다.
MCIO 케이블로 빼낸 6번과 7번 카드는 90도 꺾인 방향으로 놓였다. 케이블로 연결하니 배치가 자유로워지는데, 그 자유가 방향까지 바꿔버린 것이다. 이 두 장은 배기가 왼쪽으로 나간다.
나머지 카드는 앞에서 들어와 뒤로 나가는 흐름을 탄다. 앞뒤 팬 24개가 그 방향으로 설계돼 있다. 그런데 6·7번만 흐름이 90도 어긋난다.
결과가 흥미롭다. 6번은 다른 카드와 비슷한데, 7번만 약 10도가 더 높다.
같은 방식으로 뺀 두 장인데 한 장만 문제가 생겼다는 게 중요하다. 방향이 어긋난 것 자체가 원인이 아니라, 그 카드가 놓인 자리의 공기 흐름이 원인이라는 뜻이다. 6번 자리는 어떻게든 바람이 닿고 7번 자리는 안 닿는다.
여기서 배운 게 있다.
- 평균 온도로 보면 이 문제가 안 보인다. 8장 중 한 장만 높으면 평균은 1~2도 오를 뿐이다. 카드별로 봐야 발견된다
- 팬을 더 세게 돌려도 해결되지 않는다. 앞뒤 축으로 아무리 밀어도 그 축에서 벗어난 자리에는 바람이 안 간다. 방향이 문제지 세기가 문제가 아니다
- 10도는 무시할 수치가 아니다. 당장 스로틀링이 걸리지 않더라도 팬이 더 돌고, 장기적으로는 그 카드만 수명 조건이 나빠진다
케이블 확장은 슬롯 부족을 해결해주지만 공짜가 아니라 냉각 균일성을 대가로 낸다. 스플리터를 쓸 계획이라면 배치 단계에서 그 카드들이 어느 방향으로 배기하고, 그 방향에 바람을 줄 수단이 있는지까지 정해두는 편이 낫다. 나는 그걸 나중에 온도를 보고 알았다.
Noctua NF-A14x25 G2 PWM
오픈 프레임에서 GPU 8장 사이로 바람길을 만드는 데 쓴 140mm 팬. 앞뒤 2층으로 24개.
- 같은 풍량을 저속으로 만들어 소음이 낮다
- 개수를 늘려 저속 운용하면 고속 소형팬보다 조용하면서 풍량이 나온다
- 24개를 쓰면 팬 값만으로도 부담이 된다
- 메인보드 헤더로는 부족해 팬 허브가 별도로 필요하다
오픈 프레임의 대가
좋기만 한 건 아니다.
- 먼지가 그대로 쌓인다. 케이스 필터가 없으니 주기적으로 청소해야 한다
- 소음이 차폐되지 않는다. 케이스는 그 자체로 방음재 역할을 하는데 그게 없다
- 물리적으로 노출된다. 전원이 들어간 부품이 그대로 드러나 있어서 사람이나 반려동물이 접근하는 공간에는 두기 어렵다
- 이동이 어렵다. 조립체가 아니라 얹어둔 구조라 통째로 옮기기가 까다롭다
작업 공간과 분리된 곳에 둘 수 있다면 오픈 프레임의 이득이 훨씬 크다. 반대로 같은 방에 둬야 한다면 이 단점들이 매일 체감된다.
여기서는 수랭을 골랐다
개발용 워크스테이션에는 공랭(NH-D15 G2)을 골랐다고 썼다. 펌프라는 고장 지점을 줄이려는 판단이었다.
이 서버에서는 반대로 420mm 수랭을 골랐다. 기준이 달라졌기 때문이다.
Threadripper PRO는 소켓 면적이 크고 발열이 많다. 이 열을 공랭으로 빼려면 히트싱크가 거대해지는데, 그러면 GPU 슬롯 공간을 침범한다. GPU 8장을 꽂아야 하는 구성에서 CPU 쿨러가 자리를 먹으면 안 된다.
수랭은 라디에이터를 다른 위치로 보내서 CPU 위 공간을 비운다. 이 구성에서는 오픈 프레임 오른쪽으로 빼서 GPU가 쓸 공간과 아예 겹치지 않게 했다.
같은 사람이 같은 시기에 정반대 선택을 한 이유는 제약이 다르기 때문이다. 부품 선택에 정답이 있는 게 아니라, 무엇을 포기할지가 다를 뿐이다.
be quiet! SILENT LOOP 3 420
Threadripper PRO 발열을 처리하면서 CPU 위 공간을 비우기 위한 수랭.
- 대형 라디에이터로 고발열 CPU를 감당한다
- CPU 상단 공간을 비워 다중 GPU 배치에 여유를 준다
- 펌프라는 고장 지점이 추가된다
- 설치 시 라디에이터 장착 위치를 케이스와 미리 맞춰야 한다
파워 하나로는 안 된다
이 구성에서 가장 조심해야 하는 부분이다.
고성능 GPU 8장의 전력은 단일 파워로 감당할 수 있는 영역을 넘어선다. 소비자용 파워는 2000W 안팎이 상한이고, 그것도 한 대에서 뽑을 수 있는 PCIe 보조 전원 커넥터 수가 제한된다.
그래서 파워를 2개 쓴다.
실제 구성: PX-2200 두 개에 4장씩
파워는 2200W짜리 두 개를 쓰고, GPU를 4장씩 나눠 물렸다.
여기서 Max-Q 버전을 고른 게 결정적이다. 같은 RTX PRO 6000 Blackwell이라도 일반판과 Max-Q는 전력 설계가 다르다. 제조사 스펙 기준으로 Max-Q는 일반판의 절반 수준이다(약 300W 대 600W).
이 차이가 구성 전체를 바꾼다.
| 일반판 (약 600W) | Max-Q (약 300W) | |
|---|---|---|
| 파워당 4장 | 약 2400W | 약 1200W |
| PX-2200 (2200W) 대비 | 초과 — 불가능 | 약 55% 부하 |
| 전력 제한 | 필수 | 불필요 |
일반판이었다면 파워당 4장이 정격을 넘어서 전력 제한을 걸거나 파워를 더 늘려야 했다. Max-Q라서 전력 제한 없이 풀로 돌릴 수 있다.
파워당 55% 부하라는 것도 우연히 좋은 지점이다. 스위칭 파워는 대체로 50% 부하 근처에서 효율이 가장 높다. 정격에 가깝게 쓰면 효율이 떨어지고 발열이 늘어난다. 2200W짜리에 1200W를 물리는 건 용량 낭비처럼 보이지만, 실제로는 효율이 가장 좋은 구간에서 돌리는 셈이다.
정리하면 “큰 파워 두 개에 절반씩” 이 이 구성의 핵심이다. GPU를 저전력 버전으로 고른 덕에 전력 제한 없이 이게 가능해졌다.
듀얼 파워에서 반드시 챙겨야 하는 것
파워 두 개를 그냥 꽂는다고 되지 않는다. 몇 가지 제약이 있다.
1. 두 파워가 동시에 켜져야 한다
메인보드는 보통 자기가 연결된 파워 하나만 제어한다. 두 번째 파워는 신호를 받지 못해 켜지지 않는다. 이게 없으면 GPU에 전원이 안 들어온 채로 부팅되거나, 일부만 전원을 받아 불안정해진다.
보통은 전원 신호를 넘겨주는 동기화 어댑터를 따로 쓴다. 다만 WRX90 같은 워크스테이션 보드에는 듀얼 파워 연결 기능이 내장돼 있는 경우가 있고, 이 구성에서는 그 기능을 썼다. 어댑터 없이 보드가 두 파워를 함께 제어한다.
다중 GPU를 전제한 보드를 고르면 이런 부분이 미리 해결돼 있다. 메인보드를 고를 때 확인해볼 만한 항목이다.
2. 한 장치에 두 파워의 전원을 섞지 않는다
같은 GPU의 보조 전원을 파워 A에서, 다른 커넥터를 파워 B에서 받으면 안 된다. 두 파워의 접지 전위가 완전히 같지 않아 전류가 예상치 못한 경로로 흐를 수 있다.
GPU 단위로 파워를 나눈다. 이 구성에서는 14번 카드가 파워 A, 58번이 파워 B다.
3. 벽 회로를 나눌지 말지 정해야 한다
여기서 컴퓨터 밖으로 나가야 한다. 일반 가정용 220V 회로는 차단기 용량이 정해져 있고, 대전력 구성은 그 한계에 쉽게 닿는다. 콘센트, 케이블 규격(1.5SQ / 16A 같은), 멀티탭, 차단기가 전부 실제 제약이 된다. 컴퓨터만 보고 구성하면 벽에서 막힌다.
선택지가 둘인데 서로 상충한다.
| 같은 회로 | 회로 분리 | |
|---|---|---|
| 접지 전위차 | 작다 | 상대적으로 크다 |
| 회로당 전류 | 전부 한 회로에 몰린다 | 절반씩 나뉜다 |
| 한쪽 차단기 트립 | 전체가 함께 내려간다 | 한쪽만 죽어 불안정하게 멈춘다 |
이 구성에서는 회로를 분리했다. 3kW 차단기 두 개를 각각 쓴다. 파워 하나가 담당하는 GPU 4장이 약 1200W이고 여기에 시스템 몫이 더해지므로, 회로당 3kW면 여유가 있다.
한 회로에 몰았다면 합계가 3kW에 바짝 붙는다. 순간 부하까지 생각하면 위험한 여유다.
분리해도 되는 근거는 앞의 2번이다. GPU를 파워 단위로 완전히 나눠뒀기 때문에 두 파워 사이에 전류가 흐를 경로가 거의 없다. 다만 완전히 0은 아니다. PCIe 슬롯 전원(카드당 최대 75W)은 메인보드를 거쳐 나오고 메인보드는 한쪽 파워에 물려 있으므로, 그만큼은 여전히 공유된다. 듀얼 파워 구성에서 이건 피하기 어렵고 일반적으로 감수하는 부분이다.
분리의 대가도 있다. 한쪽 차단기만 내려가면 시스템이 어중간하게 죽는다. 절반의 GPU만 전원을 잃은 상태는 정상 종료가 아니다. 이 위험을 감수하는 대신 각 회로에 여유를 확보한 셈이다.
이 지점은 전기 공사 영역이다. 회로를 새로 뽑거나 차단기를 손대야 한다면 전문가 판단이 필요하다.
VRAM 768GB로 실제로 뭘 하나
용량 자체보다 뭐가 가능해지는지가 중요하다.
- 큰 모델을 양자화 없이 올린다. 양자화는 편하지만 품질이 떨어진다. 특히 긴 맥락이나 코드 생성에서 차이가 난다
- 여러 모델을 동시에 띄운다. 같은 입력을 다른 모델에 넣고 비교하려면 둘 다 메모리에 있어야 한다. 번갈아 로드하면 실험이 느려진다
- 긴 컨텍스트를 쓴다. 컨텍스트 길이가 늘면 KV 캐시가 VRAM을 크게 먹는다. 모델 자체는 올라가도 긴 입력에서 터지는 경우가 흔하다
- 서비스별로 GPU를 나눠 쓴다. 이미지 생성, 음성 합성, LLM을 각각 다른 카드에 올려두면 서로 간섭하지 않는다
마지막 항목이 실제로 크다. 이 서버에는 여러 종류의 모델 서버가 함께 돈다. 하나의 큰 작업을 위해서가 아니라 여러 서비스를 동시에 상시 운영하기 위한 용량이다.
실제 운용 방식
처음에는 큰 모델 하나를 full로 올려서 썼다. VRAM이 크니 양자화 없이 통째로 올릴 수 있고, 그게 이 구성을 갖춘 이유이기도 했다.
지금은 방식이 바뀌었다. GPU를 절반씩 용도별로 나눈다.
- 4장 — 중간 크기 모델(27B급)을 여러 개 동시에 띄운다
- 나머지 4장 — 이미지·영상 생성 같은 그래픽 작업
큰 모델 하나보다 이 방식이 실제로는 더 쓸모가 있었다. 이유는 이렇다.
모델 하나를 크게 쓰는 것보다 여러 개를 동시에 띄우는 게 처리량이 높다. 요청이 여러 곳에서 들어오는데 모델이 하나면 큐가 쌓인다. 같은 모델을 여러 인스턴스로 띄우면 병렬로 처리된다.
용도가 다른 작업이 서로 간섭하지 않는다. 영상 생성은 한 번 돌면 수백 초가 걸린다. 이게 LLM과 같은 카드에 있으면 그동안 LLM 응답이 느려진다. 카드를 나눠두면 각자 자기 속도로 돈다.
이게 앞에서 말한 “여러 서비스를 동시에 상시 운영”의 실체다. VRAM 총량의 가치는 가장 큰 모델 하나를 올리는 데 있지 않고, 서로 방해하지 않는 여러 작업을 동시에 굴리는 데 있었다.
열은 방으로 나온다
써보고 가장 체감이 큰 부분이다.
소음은 생각보다 견딜 만하다. 대형 팬과 420mm 라디에이터를 저속으로 돌리는 구성이라, 같은 방에서 작업하는 게 불가능한 수준은 아니다. 서버용 소형 고속팬을 쓰는 랙 장비와는 다르다.
문제는 소음이 아니라 열이다.
전기는 사라지지 않는다. GPU가 쓰는 전력은 거의 전부 열이 되어 방으로 나온다. 이 구성이 풀로 돌면 방 온도가 30도까지 올라간다.
이게 뜻하는 바가 몇 가지 있다.
- 여름에는 에어컨이 사실상 필수다. 냉방 없이는 사람이 못 버티고, 실내 온도가 올라가면 장비 온도도 함께 올라간다
- 전기료가 두 번 나간다. 장비가 쓰는 전기와, 그 열을 빼는 냉방 전기
- 작업 공간과 분리하는 걸 고려할 만하다. 같은 방에서 쓸 수는 있지만 쾌적하진 않다
부품을 고를 때는 케이스 안의 발열만 생각했는데, 실제로 부딪힌 건 방 전체의 발열이었다. 이 규모에서는 컴퓨터가 난방기와 비슷한 수준의 열을 낸다는 걸 감안해야 한다.
이런 사람에게는 비추천
솔직히 이 구성은 대부분에게 맞지 않는다.
- 가끔 큰 모델을 돌린다면 클라우드 GPU 임대가 압도적으로 싸다. 이 구성의 비용을 회수하려면 상시 가동에 가까운 사용량이 필요하다
- GPU 두 장이면 충분하다면 일반 데스크톱 플랫폼이 훨씬 싸고 조립도 쉽다
- 냉방이 안 되는 공간이라면 여름에 못 쓴다. 소음보다 열이 먼저 문제가 된다
- 학습(training)이 목적이라면 카드 간 통신 대역폭을 따로 검토해야 한다. 추론과 요구사항이 다르다
정리
- GPU를 3장 이상 꽂겠다고 정하는 순간 플랫폼이 자동으로 결정된다. PCIe 레인 때문이다
- GPU 8장 규모에서는 케이스를 알아보기 전에 오픈 프레임을 먼저 검토한다. 대형 케이스를 사뒀다가 결국 안 썼다
- 오픈 프레임도 바람길은 만들어줘야 한다. 앞뒤로 밀고 빼는 구조가 필요하다
- 팬을 많이 쓰면 메인보드 헤더로는 부족하다. 팬 허브를 함께 계산한다
- 케이블로 확장한 카드는 배치 방향이 달라진다. 실제로 한 장만 약 10도가 높았다
- 온도는 평균이 아니라 카드별로 본다. 8장 중 한 장 문제는 평균에 거의 안 잡힌다
- 슬롯 수가 모자라면 PCIe 스플리터로 늘릴 수 있다. 추론이라면 대역폭 절반은 감수할 만하다
- 케이블은 MCIO 같은 고속 인터커넥트 규격을 쓴다. 신호 문제는 소프트웨어 버그처럼 보여 디버깅이 어렵다
- 같은 사람이 워크스테이션엔 공랭, 서버엔 수랭을 고를 수 있다. 제약이 다르면 답이 다르다
- GPU 8장은 단일 파워로 안 된다. 듀얼 파워는 동기화·GPU 단위 분리·접지를 함께 챙겨야 한다
- 저전력(Max-Q)을 고르면 전력 제한 없이 돌리면서 파워를 효율 좋은 50%대 부하로 쓸 수 있다
- 전력은 파워만이 아니라 벽 콘센트와 차단기까지 함께 계산한다
- 회로 분리는 전류를 나눠주지만, 한쪽만 트립되면 시스템이 어중간하게 죽는 위험을 함께 진다
- VRAM만 보고 시스템 메모리를 정하면 안 된다. VRAM 768GB보다 512GB 시스템 RAM이 먼저 막혔다
- 코어가 많은 CPU를 고르면 CPU 병렬 작업의 메모리 요구량도 함께 올라간다
- VRAM 총량의 가치는 “큰 모델 하나”보다 서로 방해하지 않는 여러 작업을 동시에 굴리는 데 있다
- 이 규모에서 나오는 열은 방 전체를 데운다. 케이스 안 발열만 계산하면 부족하다