# VisionPro Deep Learning Server의 GPU 모드

클라이언트/서버 기능을 이용하면 트레이닝 및 프로세싱 두 가지 모두를 위해 8대까지의 클라이언트 PC가 단일 서버를 이용할 수 있습니다. 이렇게 하면, 클라이언트는 서버에 설치된 하나 이상의 GPU 사용을 공유할 수 있습니다.

Deep Learning server는 다수의 GPU를 이용한다는 점에서 로컬로 실행되는 Deep Learning GUI와 완전히 동일한 기능과 구성 옵션을 제공합니다.

- 다수 GPU를 공유하려면, GPU는 모두 같은 유형이고 메모리 용량이 같아야 합니다.
- 서버 한 대가 사용할 수 있는 최대 GPU 수는 4입니다.
- 개별 클라이언트는 스트림 프로세싱 시 특정 GPU 장치를 요청할 수 있습니다.
- 단일 서버는 트레이닝 서비스(Deep Learning GUI를 실행하는 클라이언트 지원) 또는 런타임 서비스(런타임 인터페이스를 이용해 스트림으로 이미지를 프로세싱하는 클라이언트 지원)을 개별적으로 제공하거나, 트레이닝과 런타임 서비스를 모두 제공하도록 구성할 수 있습니다. 요청의 원천(트레이닝 또는 런타임 서비스)과 무관하게, 해당 요청은 단일의 FIFO 큐에 놓여지며 최초로 사용 가능해지는 GPU 장치를 이용해 순서대로 처리됩니다.

서버의 GPU 모드는 Deep Learning Service가 시작되면 설정되며, 명령줄 인수를 이용해 GPU 모드를 지정할 수 있습니다.

SingleDevicePerTool GPU 모드

기본값으로, 서비스는 SingleDevicePerTool GPU 모드를 이용하도록 구성됩니다. 이 모드에서는, 도구가 프로세싱될 때마다, 도구 프로세싱 시간 동안 GPU가 잠깁니다. 도구 프로세싱이 끝나면 GPU가 해제됩니다.

다수의 도구로 된 스트림을 프로세싱할 때는, 각 도구가 연속으로 프로세싱됩니다. 스트림의 다음 도구를 실행할 때 사용 가능한 GPU가 없다면, 사용 가능한 GPU가 생길 때까지 스트림이 정지합니다. 큐에 이미 다른 프로세싱 요청이 있는 경우, 해당 도구는 큐의 마지막에 추가됩니다.

동일한 업스트림 도구를 입력으로 이용하는 도구 두 개로 스트림이 구성된 경우, 이 도구들은 병행 처리가 아니라 연속 처리되며, 두 개의 도구가 모두 처리될 때까지 스트림 처리가 다른 도구를 차단합니다.

Note: GPU 수에 관계 없이 여러 Green 분류 도구의 High Detail 모드를 트레이닝하거나 프로세싱하려고 할 때 동시에 그 중 하나만 트레이닝하거나 프로세싱 할 수 ​​있습니다.