DGX Spark 대쉬보드는 처음 볼때는 그럴싸해 보이나 거의 기능이 없어서 대쉬보드의 역할을 하지 못한다. 너무 성의 없다. ㅜㅜ

cpu 사용량도 없고, disk io도 없어서 학습 하면서 모니터링 하기엔 쓸모가 없는 수준이다.
또한 nvidia-smi는 어떤가?

대쉬보드 정보에서 메모리 사용량이 빠지고 소비 전력과 온도 정도가 추가가 되어 있다. 역시 반쪽짜리다.
LLM 학습을 하면서 가장 많이 활용하는게 btop 인데, DGX Spark에 설치해보니 GPU 정보가 누락되어 나오는 상황에 결국 소스 코드를 들여 다보기 시작했다.
btop 동작 방식은 실행 시점에 시스템에 여러 라이브러리가 있는지 확인하고 각 라이브러리에서 필요한 함수 포인터를 연동하는 방식이다. (src/linux/btop_collect.cpp)
당연히 DGX Spark에서는 nvidia driver가 설치 되어 있을거라서 이 부분이 정상 동작하던가 혹은 “”Failed to load libnvidia-ml.so, NVIDIA GPUs will not be detected:..” 라는 메시지가 코드에 기반해서 출력 되어야 된다. 하지만 아무런 에러 메시지가 출력 되지 않아서 확인해보니 86_64 상에서만 GPU 체크를 하게끔 Makefile에 정의되어 있다는 것을 확인 했다.
해당 Makefile 부분과 몇몇 gcc 버전 이슈 관련 코드 부분을 수정 했다.
짜짠!

DGX Spark 용 btop 설치 방법은 아래와 같다.
# Clone
git clone https://github.com/haven-jeon/btop.git
cd btop
# sudo apt install lowdown
# Build (Automatically detects aarch64 and enables GPU support)
gmake -j$(nproc)
# Install
sudo gmake install
생각해보니 이 수정으로 NVIDIA Jetson AGX Thor 에서도 btop을 쓸 수 있을거라는 생각도 들었다.
btop과 함께 즐거운 시스템 모니터링 되길 바란다.
ps. NVIDIA DGX Spark 포럼에 올린 글