# Furiosa Device Plugin 버그

**URL:** <https://forums.furiosa.ai/t/furiosa-device-plugin/198>\
**Category:** 일반\
**Created:** [October 30, 2024, 8:50am UTC](https://forums.furiosa.ai/t/furiosa-device-plugin/198 "2024-10-30T08:50:59Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![nopro](https://avatars.discourse-cdn.com/v4/letter/n/3be4f8/32.png) [@nopro](https://forums.furiosa.ai/u/nopro)\
**Post date:** [October 30, 2024, 8:50am UTC](https://forums.furiosa.ai/t/furiosa-device-plugin/198/1 "2024-10-30T08:50:59Z")

</div>

파드에 2개를 할당한 후에 NPU\_DEVNAME을 확인했는데, 하나 밖에 안보입니다. 왜 그런지 알 수 있을까요

 ![스크린샷 2024-10-30 오후 5.50.31](https://canada1.discourse-cdn.com/flex031/uploads/furiosa_ai/original/1X/1957504fb83f76c537cfc1d2eedc795d2bf9964c.png)

---

<div class="post-metadata">

**Author:** ![jongwook.kim](https://avatars.discourse-cdn.com/v4/letter/j/b5a626/32.png) [@jongwook.kim](https://forums.furiosa.ai/u/jongwook.kim)\
**Post date:** [October 31, 2024, 1:48am UTC](https://forums.furiosa.ai/t/furiosa-device-plugin/198/2 "2024-10-31T01:48:48Z")

</div>

안녕하세요, 퓨리오사에이아이 김종욱입니다.

기본적으로 NPU\_DEVNAME 환경변수에 장치가 설정이 안되는 것으로 보입니다.  
혹시 npu2 번 장치를 사용하는데 있어서 문제가 발생하시는지 질문드립니다.

2번 장치 사용을 위해서는 아래와 같이 inference시 runtime 설정에 device="npu2pe0-1"과 같이 파라미터로 주시면 됩니다.

```auto
with create_runner(model_path, device="npu2pe0-1") as runner:
    ....

```

---

<div class="post-metadata">

**Author:** ![nopro](https://avatars.discourse-cdn.com/v4/letter/n/3be4f8/32.png) [@nopro](https://forums.furiosa.ai/u/nopro)\
**Post date:** [October 31, 2024, 4:53am UTC](https://forums.furiosa.ai/t/furiosa-device-plugin/198/3 "2024-10-31T04:53:34Z")

</div>

직접할당해서 사용하면 잘 됩니다  
파드 내부에서도 NPU\_DEVNAME에 없어도 device에 직접 넣어주면 동작합니다

---

<div class="post-metadata">

**Author:** ![jongwook.kim](https://avatars.discourse-cdn.com/v4/letter/j/b5a626/32.png) [@jongwook.kim](https://forums.furiosa.ai/u/jongwook.kim)\
**Post date:** [October 31, 2024, 5:17am UTC](https://forums.furiosa.ai/t/furiosa-device-plugin/198/4 "2024-10-31T05:17:57Z")

</div>

NPU\_DEVNAME에 있는 장치의 경우 실행에 있어 기본적으로 사용할 장치를 표현하게 됩니다.  
따라서 해당 환경 변수를 설정하는 것과 runtime 상에서 device를 지정하는 것과 차이점은 없다고 보시면 됩니다.

---

<div class="post-metadata">

**Author:** ![nopro](https://avatars.discourse-cdn.com/v4/letter/n/3be4f8/32.png) [@nopro](https://forums.furiosa.ai/u/nopro)\
**Post date:** [October 31, 2024, 10:39am UTC](https://forums.furiosa.ai/t/furiosa-device-plugin/198/5 "2024-10-31T10:39:28Z")

</div>

하지만 device=None으로 지정하면 자동으로 사용가능한 장치를 찾는데, NPU\_DEVNAME이 하나만 있다보니, 2개 모델이 한 NPU 칩만 사용하려다 충돌이 발생하고 있습니다

---

<div class="post-metadata">

**Author:** ![jongwook.kim](https://avatars.discourse-cdn.com/v4/letter/j/b5a626/32.png) [@jongwook.kim](https://forums.furiosa.ai/u/jongwook.kim)\
**Post date:** [October 31, 2024, 11:10am UTC](https://forums.furiosa.ai/t/furiosa-device-plugin/198/6 "2024-10-31T11:10:25Z")

</div>

그런 경우에는 오히려 NPU\_DEVNAME 환경변수를 제거하셔야 할 것으로 생각됩니다.

NPU\_DEVNAME 을 두개로 장치를 주는 경우, 예를들어 NPU\_DEVNAME = npu0pe0-1,npu3pe0-1 로 주는 경우에는 하나의 runtime 에서 두개의 warboy장치를 사용하게 됩니다. 따라서 다른 모델을 실행하는 runtime을 시행하는 경우에도 동일하게 충돌하는 현상이 발생하게 될 것으로 예상됩니다.

---

<div class="post-metadata">

**Author:** ![nopro](https://avatars.discourse-cdn.com/v4/letter/n/3be4f8/32.png) [@nopro](https://forums.furiosa.ai/u/nopro)\
**Post date:** [October 31, 2024, 1:52pm UTC](https://forums.furiosa.ai/t/furiosa-device-plugin/198/7 "2024-10-31T13:52:44Z")

</div>

근데 NPU\_DEVNAME 환경변수는 device plugin에서 제대로 세팅해줘야 하는 값 아닌가요? 물론 임의로 환경변수 지워서 할 순 있지만, 원래는 환경변수 값이 제대로 설정이 되어야 하는게 맞지 않나 싶어서요

---

<div class="post-metadata">

**Author:** ![jongwook.kim](https://avatars.discourse-cdn.com/v4/letter/j/b5a626/32.png) [@jongwook.kim](https://forums.furiosa.ai/u/jongwook.kim)\
**Post date:** [October 31, 2024, 2:51pm UTC](https://forums.furiosa.ai/t/furiosa-device-plugin/198/8 "2024-10-31T14:51:02Z")

</div>

말씀 주신 대로 furiosa-npu-device-plugin 에서 NPU\_DEVNAME이 제대로 세팅이 되어야 합니다.

다만, 현재 runtime에서 device-api 를 통해 사용자가 사용 가능한 장치를 지정해서 또는 자동으로 runtime에서 device를 할당해 사용하도록 api가 제공이 되고 있습니다.

따라서 해당 환경 변수가 쓰이지 않아 NPU\_DEVNAME 이 문제가 되는 경우 container의 entry하는 스크립트에서 unset 으로 환경변수 지우는 것을 추천 드리고 있습니다.

아니면 아래와 같이 pod manifest에서 NPU\_DEVNAME 보다 높은 우선 순위의 환경 변수인 FURIOSA\_DEVICES 를 설정하여 해결할 수 도 있어 보입니다.

```auto
spec:
  containers:
  - name: ubuntu
    image: ubuntu:focal
    resources:
      limits:
        ...
    env:
    - name: FURIOSA_DEVICES
      value: "warboy(2)*1"

```
