[GPU] Phantom GPU Utilization 사례 분석: CUDA Context 잔류 가설과 그 한계
NCCL 분산학습 종료 후 14/32 GPU가 Util 100%·메모리 0·프로세스 없음 상태에 빠졌다. CUDA context 잔류를 유력 가설로 두되, 직접 증거를 확보하지 못한 한계까지 함께 살펴보자.
NCCL 분산학습 종료 후 14/32 GPU가 Util 100%·메모리 0·프로세스 없음 상태에 빠졌다. CUDA context 잔류를 유력 가설로 두되, 직접 증거를 확보하지 못한 한계까지 함께 살펴보자.
CloudFormation 삭제 실패를 모른 채 5일간 요금이 새어나가고, AWS Support에 부분 환불을 요청하기까지의 기록.
cuobjdump로 NCCL 바이너리의 SASS/PTX 아키텍처를 분석하고, CI와 init container에서 GPU 호환성을 자동 검증하는 패턴을 정리해 보자.
선언형 도구가 어디까지 ML 워크로드를 다룰 수 있는지 고민한 기록.
같은 VPN SSL Inspection인데 kubectl과는 해결이 정반대다. Node.js의 trust 모델과 NODE_EXTRA_CA_CERTS 해법을 정리해 보자.
TLS handshake에서 SNI와 SAN이 각각 어떤 역할을 하는지, 그리고 openssl s_client로 인증서를 디버깅할 때 servername을 신경써야 하는 이유에 대해 알아 보자.
VPN 환경에서 회사 방화벽이 kube-apiserver TLS를 가로채 재서명하며 발생한 인증서 검증 실패에 대해 알아 보자.
kubelet이 노드 상태를 API server에 보고하는 원리에 대해 알아보자.
워커 노드에 docker/crictl/ctr이 없어도 kubectl API로 이미지를 조회할 수 있다. kubelet의 노드 상태 보고를 활용하는 방법을 정리해 보자.
같은 root cause가 Ray와 torchrun에서 다른 증상으로 나타난 이유에 대해 알아보자.
매번 아무렇지 않게 접속하던 SSH의 동작 원리를 알아보자.
EKS GPU 트러블슈팅 시리즈를 마무리하며, 실습에서 도출한 운영 체크리스트와 회고를 정리한다.