메모리와 모델
최종 업데이트
CMP 170HX ECC도 풀렸다는데, 무엇이 달라졌을까?
v0.5는 DRAM·SRAM ECC를 활성화하고 SM 수도 70개에서 74개로 늘렸어요.
ECC는 GPU1 메모리의 일부 데이터 오류를 감지하고 수정해요. cmpunlocker v0.5에는 CMP 170HX의 DRAM과 SRAM에서 ECC를 활성화하는 패치가 추가됐어요.
v0.5의 패치 역할과 설치 조건, 적용 뒤 작업 확인 순서를 살펴볼게요.
v0.5는 ECC와 SM 수를 함께 바꿨어요
긴 계산에서는 메모리 데이터의 일시적인 오류가 결과에 영향을 줄 수 있어 ECC의 수정 기능을 검토할 만해요. v0.5에서 DRAM·SRAM ECC를 활성화하고 활성 SM도 70개에서 74개로 늘렸습니다. SM 수는 병렬 계산 자원에 관련되지만, 이 업데이트만으로 특정 모델 속도가 얼마나 바뀌는지는 측정되지 않았어요.
이전 카드 안내에서 ECC를 사용할 수 없다고 적은 내용은 v0.5보다 앞선 상태를 설명해요. 적용 범위와 실제 시험 기록은 아래 패치 기록과 설치 안내에서 확인할 수 있어요.

ECC를 켜는 패치와 상태를 보고하는 패치는 달라요
저장소에는 ecc-enable.patch, ecc-fbpa-static.patch, ecc-reporting.patch가 있어요. 앞의 두 패치는 메모리 제어 경로에서 ECC 기능을 활성화하는 데 쓰이고, reporting 패치는 드라이버가 ECC 상태와 오류 카운터를 다루는 호환 경로를 보완합니다. 세 패치가 한 번에 소개되더라도 실제 기능 변경과 표시 호환성은 구분해서 읽어야 해요.
maintainer가 공개한 615.71.09 시험에서는 ECC_CTRL 값이 0x41, 메모리 레지스터 MR4가 0x33, readout이 0x00010233였고, nvidia-smi에 ECC Enabled가 표시됐어요. 이 구성은 64GB 메모리도 유지했습니다. 이 기록은 v0.5의 작동 경로를 보여 주지만, 다른 드라이버·카드·커널 조합의 결과까지 보장하지는 않아요.
| 패치·표시 | 역할 | 사용자가 확인할 점 |
|---|---|---|
| ecc-enable / ecc-fbpa-static | 메모리 경로에서 ECC 동작을 활성화 | 적용한 소스와 드라이버 조합 기록 |
| ecc-reporting | 드라이버 상태·카운터 표시 호환 보완 | Enabled와 0 카운터를 단독 증거로 취급하지 않기 |
| 메모리 부하·작업 결과 | 장시간 사용 중 안정성 확인 | 오류·중단·답변 안정성을 버전과 함께 기록 |
ECC reporting 호환 패치는 Enabled와 Supported, scrubComplete, InfoROM 6.16 같은 상태를 합성하고 일부 카운터를 0으로 초기화해요. 따라서 nvidia-smi의 Enabled 표시와 0 카운터만으로 실제로 오류가 발생했을 때 수정했는지, 오랜 부하 뒤에도 메모리가 안정적인지 확인할 수는 없어요. 패치 버전을 기록하고 메모리 부하 시험과 실제 작업 결과를 함께 살펴보는 이유예요.
설치 전에는 드라이버와 커널 조건을 맞춰요
cmpunlocker v0.5는 Linux x86-64에서 NVIDIA open driver 610.xx.xx 이상 계열을 요구해요. 드라이버 라이브러리와 펌웨어, 실행 중인 커널에 맞는 커널 헤더가 필요하고 Secure Boot는 꺼야 합니다. 첫 빌드에는 네트워크 연결도 필요해요. 저장소의 현재 지원 목록에는 615.78.08도 포함되므로, 임의로 가장 새 버전을 고르기보다 저장소가 지원한다고 적은 드라이버 계열을 기준으로 맞추세요.
설치는 저장소를 내려받은 뒤 sudo ./install.sh를 실행하고 재부팅하는 흐름이에요. 기본 프로필은 카드 구성을 감지하며, 명시적으로 바꿔야 한다면 실제 하드웨어를 확인한 다음 sudo ./install.sh --profile=8gb 또는 sudo ./install.sh --profile=10gb를 사용해요. 8GB 프로필은 듀얼랭크 카드에서 64GB, 일부 싱글랭크 카드에서 32GB를 열 수 있고 10GB 프로필은 40GB 구성을 대상으로 해요. 프로필은 ECC만 바꾸는 옵션이 아니라 메모리 잠금 해제 구성도 선택하므로 카드에 맞춰야 해요.
설치 스크립트는 Linux 커널 모듈을 패치하고 서명되지 않은 모듈을 사용할 수 있어요. 커널이 바뀌면 맞는 모듈을 다시 빌드해야 할 수 있고, 변경 사항은 카드의 펌웨어를 영구적으로 플래시하는 방식이 아닙니다. 문제가 생겨 원복할 때 저장소 안내대로 sudo ./remove.sh --yes를 실행한 뒤 재부팅합니다. GPU를 실제로 사용하는 PC에서 작업하고, 설치 전 운영체제와 드라이버를 복구할 경로를 준비하세요.

설치 뒤에는 표시와 실제 작업을 따로 확인해요
재부팅한 뒤 nvidia-smi에서 ECC 상태가 Enabled인지 확인하고, 적용한 cmpunlocker와 드라이버 버전을 기록하세요. 카드가 정상적으로 인식되고 메모리 용량이 선택한 프로필과 맞는지도 봅니다.
다음에는 메모리를 많이 쓰는 고정 입력 작업이나 알려진 정답이 있는 수치 계산을 실행하고, 결과와 CUDA2·커널 오류 로그를 기록하세요. 모델 답변을 확인한다면 temperature를 0으로 두고 같은 질문과 설정을 사용합니다. 긴 작업 중 오류나 중단이 생기는지도 살펴보세요.
오류가 계속되면 기록한 드라이버·커널 조합과 로그를 확인하고, 패치 제거가 필요하면 저장소의 제거 절차를 따르세요. 실제 운영에 쓸 모델과 문맥, 동시 작업을 포함해 다시 확인하면 적용 여부를 판단하기 쉽어요.

용어 각주
자주 묻는 질문
- 이 글에서 가장 먼저 확인할 것은 무엇인가요?
- ECC는 GPU 메모리의 일부 데이터 오류를 감지하고 수정해요. cmpunlocker v0.5에는 CMP 170HX의 DRAM과 SRAM에서 ECC를 활성화하는 패치가 추가됐어요.
- 필요한 메모리는 어느 정도인가요?
- maintainer가 공개한 615.71.09 시험에서는 ECC_CTRL 값이 0x41, 메모리 레지스터 MR4가 0x33, readout이 0x00010233였고, nvidia-smi에 ECC Enabled가 표시됐어요. 이 구성은 64GB 메모리도 유지했습니다. 이 기록은 v0.5의 작동 경로를 보여 주지만, 다른 드라이버·카드·커널 조합의 결과까지 보장하지는 않아요.
