-
Hardware 설치
$ sudo update-pciids $ lspci | grep accelerators 1a:00.0 Processing accelerators: FuriosaAI, Inc. Warboy (rev 01) 1b:00.0 Processing accelerators: FuriosaAI, Inc. Warboy (rev 01) 1c:00.0 Processing accelerators: FuriosaAI, Inc. Warboy (rev 01) 1d:00.0 Processing accelerators: FuriosaAI, Inc. Warboy (rev 01) 1e:00.0 Processing accelerators: FuriosaAI, Inc. Warboy (rev 01) 3d:00.0 Processing accelerators: FuriosaAI, Inc. Warboy (rev 01) 3e:00.0 Processing accelerators: FuriosaAI, Inc. Warboy (rev 01) 3f:00.0 Processing accelerators: FuriosaAI, Inc. Warboy (rev 01) 41:00.0 Processing accelerators: FuriosaAI, Inc. Warboy (rev 01) 88:00.0 Processing accelerators: FuriosaAI, Inc. Warboy (rev 01) 89:00.0 Processing accelerators: FuriosaAI, Inc. Warboy (rev 01) 8a:00.0 Processing accelerators: FuriosaAI, Inc. Warboy (rev 01) 8c:00.0 Processing accelerators: FuriosaAI, Inc. Warboy (rev 01) b1:00.0 Processing accelerators: FuriosaAI, Inc. Warboy (rev 01) b2:00.0 Processing accelerators: FuriosaAI, Inc. Warboy (rev 01) b3:00.0 Processing accelerators: FuriosaAI, Inc. Warboy (rev 01) b4:00.0 Processing accelerators: FuriosaAI, Inc. Warboy (rev 01) b5:00.0 Processing accelerators: FuriosaAI, Inc. Warboy (rev 01)
물리적으로 장착에 문제가 있는 경우 PCIe Level에서 장치가 검색이 되지 않음.
이 경우 재장착을 진행해야함.Processing accelerators: FuriosaAI, Inc. Warboy (rev 01)
가 장치 정상 상태.Processing accelerators: FuriosaAI, Inc. Warboy (rev ff)
로 표기되면 장치 비정상 상태로 점검이 필요함. -
Software 설치
[드라이버, 펌웨어, 런타임(public)] (드라이버, 펌웨어, 런타임 설치 가이드 — FuriosaAI NPU 및 Software 문서 0.9.0 문서)
apt search
명령어를 통해서 목록을 확인 할 수 있다.(repo 설정이 정상적으로 이뤄졌다면)$ apt search furiosa furiosa-compiler/focal-nightly 0.8.0-2+nightly-221022 amd64 furiosa-driver-pdma/focal-nightly 1.3.0-2+nightly-220523 amd64 [upgradable from: 1.3.0] furiosa-libcompiler/focal-nightly 0.8.0-2+nightly-221022 amd64 furiosa-libhal-sim/focal-nightly 0.8.0-2+nightly-221022 amd64 furiosa-libhal-warboy/focal-nightly 0.9.0-2+nightly-221022 amd64 [upgradable from: 0.9.0-2+nightly-221019] furiosa-libhal-xrt/focal-nightly 0.9.0-2+nightly-221022 amd64 furiosa-libnpu-sim/focal-nightly 0.8.0-2+nightly-221022 amd64 furiosa-libnpu-warboy/focal,focal-nightly 0.5.2-2+nightly-220221 all furiosa-libnux-dev/focal-nightly 0.8.0-2+nightly-221022 amd64 furiosa-libnux-extrinsic/focal-nightly 0.8.0-2+nightly-221022 amd64 furiosa-libnux/focal-nightly 0.8.0-2+nightly-221022 amd64 furiosa-toolkit/focal 0.9.1-2 amd64
SDK를 사용하기 위해서 필요한 설치사항은 아래와 같다.
$ apt-get update && apt-get install -y furiosa-libhal-warboy furiosa-libnux furiosa-driver-pdma
(optional) furiosactl
$ apt-get install furiosa-toolkit
npu의 정보, 할당 된 프로세스 등을 간단하게 검색 가능함.
npu에 프로세스가 할당 되어 작업중인 경우 드라이버 최신화 및 재설치가 정상적으로 이뤄지지 않음
이런 경우 해당 기능을 통해서 필요한 내용을 수집 가능함. -
Driver 검사 방법
드라이버가 정상 설치 되었는지 아닌지 다음과 같은 Step으로 확인 가능함.
a.lsmod | grep npu
$ lsmod | grep npu npu_pdma 81920 8 npu_mgmt 81920 5 npu_pdma input_leds 16384 0
npu가 정상적으로 설치 되었다면 다음과 같이 드라이버가 정상 인식 되는것을 볼수 있다.
b.
ls /dev/npu*
$ ls /dev/npu* /dev/npu0 /dev/npu10ch2 /dev/npu11pe0 /dev/npu13ch0 /dev/npu14ch7 /dev/npu16_bar2 /dev/npu17ch5 /dev/npu2_bar0 /dev/npu3ch4 /dev/npu4pe1 /dev/npu6ch2 /dev/npu7pe0 /dev/npu9ch0 /dev/npu0_bar0 /dev/npu10ch3 /dev/npu11pe0-1 /dev/npu13ch1 /dev/npu14_mgmt /dev/npu16_bar4 /dev/npu17ch6 /dev/npu2_bar2 /dev/npu3ch5 /dev/npu5 /dev/npu6ch3 /dev/npu7pe0-1 /dev/npu9ch1 /dev/npu0_bar2 /dev/npu10ch4 /dev/npu11pe1 /dev/npu13ch2 /dev/npu14pe0 /dev/npu16ch0 /dev/npu17ch7 /dev/npu2_bar4 /dev/npu3ch6 /dev/npu5_bar0 /dev/npu6ch4 /dev/npu7pe1 /dev/npu9ch2 /dev/npu0_bar4 /dev/npu10ch5 /dev/npu12 /dev/npu13ch3 /dev/npu14pe0-1 /dev/npu16ch1 /dev/npu17_mgmt /dev/npu2ch0 /dev/npu3ch7 /dev/npu5_bar2 /dev/npu6ch5 /dev/npu8 /dev/npu9ch3 /dev/npu0ch0 /dev/npu10ch6 /dev/npu12_bar0 /dev/npu13ch4 /dev/npu14pe1 /dev/npu16ch2 /dev/npu17pe0 /dev/npu2ch1 /dev/npu3_mgmt /dev/npu5_bar4 /dev/npu6ch6 /dev/npu8_bar0 /dev/npu9ch4 /dev/npu0ch1 /dev/npu10ch7 /dev/npu12_bar2 /dev/npu13ch5 /dev/npu15 /dev/npu16ch3 /dev/npu17pe0-1 /dev/npu2ch2 /dev/npu3pe0 /dev/npu5ch0 /dev/npu6ch7 /dev/npu8_bar2 /dev/npu9ch5 /dev/npu0ch2 /dev/npu10_mgmt /dev/npu12_bar4 /dev/npu13ch6 /dev/npu15_bar0 /dev/npu16ch4 /dev/npu17pe1 /dev/npu2ch3 /dev/npu3pe0-1 /dev/npu5ch1 /dev/npu6_mgmt /dev/npu8_bar4 /dev/npu9ch6 /dev/npu0ch3 /dev/npu10pe0 /dev/npu12ch0 /dev/npu13ch7 /dev/npu15_bar2 /dev/npu16ch5 /dev/npu1_bar0 /dev/npu2ch4 /dev/npu3pe1 /dev/npu5ch2 /dev/npu6pe0 /dev/npu8ch0 /dev/npu9ch7 /dev/npu0ch4 /dev/npu10pe0-1 /dev/npu12ch1 /dev/npu13_mgmt /dev/npu15_bar4 /dev/npu16ch6 /dev/npu1_bar2 /dev/npu2ch5 /dev/npu4 /dev/npu5ch3 /dev/npu6pe0-1 /dev/npu8ch1 /dev/npu9_mgmt /dev/npu0ch5 /dev/npu10pe1 /dev/npu12ch2 /dev/npu13pe0 /dev/npu15ch0 /dev/npu16ch7 /dev/npu1_bar4 /dev/npu2ch6 /dev/npu4_bar0 /dev/npu5ch4 /dev/npu6pe1 /dev/npu8ch2 /dev/npu9pe0 /dev/npu0ch6 /dev/npu11 /dev/npu12ch3 /dev/npu13pe0-1 /dev/npu15ch1 /dev/npu16_mgmt /dev/npu1ch0 /dev/npu2ch7 /dev/npu4_bar2 /dev/npu5ch5 /dev/npu7 /dev/npu8ch3 /dev/npu9pe0-1 /dev/npu0ch7 /dev/npu11_bar0 /dev/npu12ch4 /dev/npu13pe1 /dev/npu15ch2 /dev/npu16pe0 /dev/npu1ch1 /dev/npu2_mgmt /dev/npu4_bar4 /dev/npu5ch6 /dev/npu7_bar0 /dev/npu8ch4 /dev/npu9pe1 /dev/npu0_mgmt /dev/npu11_bar2 /dev/npu12ch5 /dev/npu14 /dev/npu15ch3 /dev/npu16pe0-1 /dev/npu1ch2 /dev/npu2pe0 /dev/npu4ch0 /dev/npu5ch7 /dev/npu7_bar2 /dev/npu8ch5 /dev/npu0pe0 /dev/npu11_bar4 /dev/npu12ch6 /dev/npu14_bar0 /dev/npu15ch4 /dev/npu16pe1 /dev/npu1ch3 /dev/npu2pe0-1 /dev/npu4ch1 /dev/npu5_mgmt /dev/npu7_bar4 /dev/npu8ch6 /dev/npu0pe0-1 /dev/npu11ch0 /dev/npu12ch7 /dev/npu14_bar2 /dev/npu15ch5 /dev/npu17 /dev/npu1ch4 /dev/npu2pe1 /dev/npu4ch2 /dev/npu5pe0 /dev/npu7ch0 /dev/npu8ch7 /dev/npu0pe1 /dev/npu11ch1 /dev/npu12_mgmt /dev/npu14_bar4 /dev/npu15ch6 /dev/npu17_bar0 /dev/npu1ch5 /dev/npu3 /dev/npu4ch3 /dev/npu5pe0-1 /dev/npu7ch1 /dev/npu8_mgmt /dev/npu1 /dev/npu11ch2 /dev/npu12pe0 /dev/npu14ch0 /dev/npu15ch7 /dev/npu17_bar2 /dev/npu1ch6 /dev/npu3_bar0 /dev/npu4ch4 /dev/npu5pe1 /dev/npu7ch2 /dev/npu8pe0 /dev/npu10 /dev/npu11ch3 /dev/npu12pe0-1 /dev/npu14ch1 /dev/npu15_mgmt /dev/npu17_bar4 /dev/npu1ch7 /dev/npu3_bar2 /dev/npu4ch5 /dev/npu6 /dev/npu7ch3 /dev/npu8pe0-1 /dev/npu10_bar0 /dev/npu11ch4 /dev/npu12pe1 /dev/npu14ch2 /dev/npu15pe0 /dev/npu17ch0 /dev/npu1_mgmt /dev/npu3_bar4 /dev/npu4ch6 /dev/npu6_bar0 /dev/npu7ch4 /dev/npu8pe1 /dev/npu10_bar2 /dev/npu11ch5 /dev/npu13 /dev/npu14ch3 /dev/npu15pe0-1 /dev/npu17ch1 /dev/npu1pe0 /dev/npu3ch0 /dev/npu4ch7 /dev/npu6_bar2 /dev/npu7ch5 /dev/npu9 /dev/npu10_bar4 /dev/npu11ch6 /dev/npu13_bar0 /dev/npu14ch4 /dev/npu15pe1 /dev/npu17ch2 /dev/npu1pe0-1 /dev/npu3ch1 /dev/npu4_mgmt /dev/npu6_bar4 /dev/npu7ch6 /dev/npu9_bar0 /dev/npu10ch0 /dev/npu11ch7 /dev/npu13_bar2 /dev/npu14ch5 /dev/npu16 /dev/npu17ch3 /dev/npu1pe1 /dev/npu3ch2 /dev/npu4pe0 /dev/npu6ch0 /dev/npu7ch7 /dev/npu9_bar2 /dev/npu10ch1 /dev/npu11_mgmt /dev/npu13_bar4 /dev/npu14ch6 /dev/npu16_bar0 /dev/npu17ch4 /dev/npu2 /dev/npu3ch3 /dev/npu4pe0-1 /dev/npu6ch1 /dev/npu7_mgmt /dev/npu9_bar4
드라이버가 정상적이라면 위와 같이 npu의 채널등을 확인 할 수 있으나
비정상적인 상태라면/dev/
하단에npu
와 관련한 채널 및pe
를 확인 할 수 없음.