안녕하세요.
Qwen3-VL-2B-Instruct를 Mobilint ARIES2 NPU에서 실행하기 위해
VLM compilation 및 runtime inference를 진행하고 있습니다.
■ 완료된 단계
Calibration data 생성
Vision / Language MBLT compilation 성공
MXQ compilation 성공
Runtime model preparation 성공
생성된 MXQ:
Qwen3-VL-2B-Instruct_text_model.mxq (1.7G)
Qwen3-VL-2B-Instruct_vision_transformer.mxq (422M)
■ 문제 상황
Inference 실행 시 프로세스가 aries_cdev_open 단계에서
D-state (uninterruptible sleep)로 멈춥니다.
$ python inference_mblt_model_zoo.py
–model-folder ./qwen3-vl-mxq
–model-id mobilint/Qwen3-VL-2B-Instruct
$ ps -o pid,ppid,stat,wchan:32,etime,time,cmd -p 50
PID PPID STAT WCHAN
50 1 D+ aries_cdev_open
약 7시간 동안 CPU TIME은 9초에서 거의 증가하지 않았으며,
kill -9로도 종료되지 않았습니다.
특히 다음 결과가 확인됩니다.
$ mobilint-cli status -q
Driver Version (Aries) : N/A
Driver Version (Regulus) : N/A
Connected NPUs : 0
반면 host/container 양쪽에서 /dev/aries0는 존재합니다.
$ ls -l /dev/aries0
crw-rw-rw- 1 root root 237, 0 /dev/aries0
또한:
lsmod에서 aries 커널 모듈은 로드되어 있음
qbruntime import 정상
Accelerator import 정상
fuser /dev/aries0 → 사용 중인 프로세스 없음
다른 qbruntime 테스트 프로세스에서도 D-state 프로세스 확인
dmesg는 일반 사용자 권한으로 접근할 수 없어 확인하지 못했습니다.
현재 상황에서 Connected NPUs: 0 및 aries_cdev_open D-state가
NPU 드라이버/하드웨어 인식 문제와 관련되어
Host의 ARIES2 NPU가 정상적으로 인식되고 있는지
dmesg에서 ARIES 드라이버 관련 오류가 있는지
현재 D-state 상태에서 필요한 드라이버 재로드 또는 복구 방법이 있는지
이 중에서 저희가 확인하거나 취해아하는 방법이 있을까요?
우선 증상 공유해주셔서 감사드리며 문의하신 내용에 대해 아래 답변드립니다.
확인 이후 추가 문의사항이 있다면 회신 부탁드립니다.
Host의 ARIES2 NPU가 정상적으로 인식되고 있는지
아래 두단계를 순차적으로 확인해서 어느 단계에서 인식을 못했는지 확인을 하실 수 있습니다
1-1)Host PC가 PCIe 장치로 Aries를 인식했는지 여부 => HW 인식 불가 sudo lspci -vd 209f:를 입력했을때 출력이 나온다면 HW 인식은 완료된 상황입니다.
1-2) Driver에서 Aries File을 정상 생성했는지 여부 => Driver 인식 불가 ls /dev/aries* 에서 출력이있다면 driver가 정상 인식되었음을 확인할 수 있습니다.
다만, 현재 Skynet 님의 경우 Driver node 까지는 생성되었으나 Driver Open이후에 모종의 이유로 hang이 걸린 상태로 보입니다.
dmesg에서 ARIES 드라이버 관련 오류가 있는지
커널 드라이버 함수 호출을 ftrace로 수집하는 리눅스용 로깅 패키지를 전달드립니다.
해당 패키지를 사용하여 function에 aries가 포함된 에러 로그를 확인하실 수 있습니다.
아래의 install_aries_log를 설치하신 후 시스템 재부팅을 하게되면 로그가 저장이 시작됩니다.
파일 세트: 매분 로테이션(-f) + rotate 4 + delaycompress
/var/log/ftrace.log ← 현재 최신로그 (수집 중)
/var/log/ftrace.log.1 ← 직전 , 비압축
/var/log/ftrace.log.2.gz ← 이후 , 압축
/var/log/ftrace.log.3.gz
/var/log/ftrace.log.4.gz
현재 D-state 상태에서 필요한 드라이버 재로드 또는 복구 방법이 있는지
이 중에서 저희가 확인하거나 취해아하는 방법이 있을까요?
커널 드라이버 내부적으로 mutex lock같은게 꼬인상태로 추정되기에 드라이버를 내렸다가 다시 올릴 수도 없을 것으로 보여, 재부팅밖에 방법이 없을 것 으로 보입니다.