TECH 으로 돌아가기
TECH HACKER NEWS 오늘 6분 읽기 26 READS

NVIDIA의 미니 AI 슈퍼컴퓨터 DGX Spark에 NixOS를 올린 사람이 나타났어요

NVIDIA의 미니 AI 슈퍼컴퓨터 DGX Spark에 NixOS를 올린 사람이 나타났어요
SOURCE IMAGE · HACKER NEWS
NVIDIA의 미니 AI 슈퍼컴퓨터 DGX Spark에 NixOS를 올린 사람이 나타났어요

책상 위 슈퍼컴퓨터에 다른 OS를 올린다고요?

DGX Spark 기억하시나요? NVIDIA가 내놓은 손바닥보다 조금 큰 데스크톱 AI 컴퓨터인데요. ARM 기반 Grace CPU와 Blackwell GPU를 한 칩에 담은 GB10 슈퍼칩에, CPU와 GPU가 함께 쓰는 128GB 통합 메모리를 얹어서 FP4 기준 페타플롭급 연산을 책상 위에서 뽑아내는 물건이에요. 큰 GPU 서버 없이도 상당한 크기의 모델을 로컬에서 돌려볼 수 있어서 개인 연구자들 사이에서 인기가 많죠. 이 기기는 원래 우분투를 기반으로 NVIDIA가 손질한 DGX OS라는 전용 운영체제로만 쓰게 되어 있는데요. 여기에 NixOS를 올리는 오픈소스 프로젝트 'nixos-dgx-spark'가 공개됐어요.

NixOS가 뭐냐면요

생소한 분을 위해 설명하면, NixOS는 시스템 전체를 '선언형'으로 관리하는 리눅스 배포판이에요. 이게 뭐냐면, 보통 리눅스는 apt install을 하나씩 실행하면서 시스템 상태를 조금씩 바꿔가잖아요. 몇 달 지나면 이 서버에 뭘 깔았는지 아무도 모르는 상태가 되고요. NixOS는 반대로 '이 시스템에는 이 패키지들과 이 설정이 있어야 한다'를 설정 파일 하나에 전부 적어두면, 시스템이 그 선언에 맞게 만들어져요. 모든 패키지는 내용의 해시값이 붙은 격리된 경로에 설치돼서 의존성끼리 충돌하지 않고, 설정을 바꿔서 뭔가 망가지면 이전 세대로 한 번에 롤백할 수 있어요. 설정 파일만 있으면 다른 기기에서도 완전히 같은 시스템을 재현할 수 있는 거죠.

이게 왜 AI 기기에 매력적이냐면, ML 환경 관리가 그 악명 높은 'CUDA 지옥'이기 때문이에요. CUDA 버전, 드라이버 버전, 파이토치 버전, 파이썬 버전이 전부 서로 맞물려 있어서 하나만 어긋나도 안 돌아가잖아요. '내 컴에서는 되는데요'가 가장 자주 나오는 동네가 바로 여기죠. 시스템 전체를 코드로 고정하는 NixOS 방식과 궁합이 좋을 수밖에 없어요.

물론 쉬운 작업은 아니에요

이 이식이 만만치 않은 이유가 있어요. DGX Spark는 aarch64, 그러니까 ARM 아키텍처인 데다 NVIDIA의 독점 드라이버와 전용 커널 패치, 펌웨어에 의존하거든요. 우분투 기반 DGX OS에는 NVIDIA가 미리 다 맞춰놨지만, NixOS에서는 이걸 전부 Nix 방식으로 다시 패키징해야 해요. 이 프로젝트는 그 작업, 그러니까 하드웨어 지원 모듈과 드라이버 구성을 정리해서 누구나 자기 Spark에 NixOS를 올릴 수 있게 해주는 거예요. 사실 선례가 있는데, NVIDIA의 엣지 보드인 Jetson용으로 jetpack-nixos라는 커뮤니티 프로젝트가 비슷한 길을 먼저 닦았거든요. NVIDIA의 ARM 하드웨어에 Nix 생태계가 꾸준히 영역을 넓혀가는 흐름이에요.

도커면 충분하지 않냐고요?

좋은 질문이에요. 재현성 하면 보통 도커를 떠올리잖아요. 그런데 둘은 층위가 달라요. 도커는 이미 빌드된 결과물의 스냅샷을 배포하는 거라, 정작 그 이미지를 만드는 과정은 재현이 안 되는 경우가 많아요. Dockerfile의 apt-get update가 오늘과 내일 다른 패키지를 받아오니까요. Nix는 빌드 과정 자체를 입력값까지 고정해서, 1년 뒤에 빌드해도 같은 결과가 나오는 걸 지향해요. 게다가 도커는 컨테이너 안만 책임지지만, GPU 드라이버처럼 호스트에 깔려야 하는 것들은 결국 호스트 관리 문제로 남거든요. NixOS는 그 호스트 전체를 코드로 관리하는 거고요.

한국 개발자에게 주는 시사점

DGX Spark 같은 로컬 AI 머신으로 홈랩을 꾸리거나 회사에서 GPU 서버를 관리하는 분이라면, '환경을 코드로 고정한다'는 이 접근은 눈여겨볼 가치가 충분해요. 팀원마다 미묘하게 다른 CUDA 환경 때문에 시간을 태워본 경험이 있다면 더더욱요. 다만 Nix는 학습 곡선이 가파르기로 유명하니까, 처음부터 서버 전체를 갈아엎기보다 개발 환경 하나를 Nix로 관리해 보는 것부터 시작하는 걸 추천해요.

정리하면, 이 프로젝트는 'AI 하드웨어의 환경 지옥을 선언형 시스템으로 길들이자'는 시도예요. 여러분은 ML 환경 재현성을 어떻게 관리하고 계세요? 도커로 충분하다는 쪽인지, Nix 같은 접근이 필요하다고 보는지 궁금해요.


🔗 출처: Hacker News

SOURCE · HACKER NEWS
원문 전체 보기 → https://github.com/graham33/nixos-dgx-spark
SHARE
처리 중...