Skip to content

jugfk/NVIDIA_VPI-1.0-samples

Repository files navigation

NVIDIA VPI-1.0 samples

NVIDIA® 비전 프로그래밍 인터페이스(VPI) 는 NVIDIA 임베디드 및 개별 장치에서 사용할 수있는 여러 컴퓨팅 하드웨어 플랫폼에서 컴퓨터 비전(CV) 및 이미지 처리(IP) 알고리즘을 구현하는 소프트웨어 라이브러리입니다.

아키텍쳐

VPI는 백엔드라고하는 다양한 하드웨어 가속기에서 원활하게 실행할 수있는 컴퓨터비전 및 이미지처리 알고리즘 모음을 제공하는 소프트웨어 라이브러리입니다. VPI의 목표는 고성능을 유지하면서 컴퓨팅 백엔드에 균일 한 인터페이스를 제공하는 것입니다. 이는 기본 하드웨어와 그것이 조작하는 데이터의 얇고 성능이 뛰어난 소프트웨어 추상화를 노출함으로써 달성됩니다. 이 다이어그램은 VPI의 아키텍처를 보여줍니다. API는 초기화 단계에서 개체 할당 및 설정이 이루어지는 패러다임을 따릅니다. 다음은 초기화 중에 생성 된 객체를 사용하여 주요 처리가 발생하는 애플리케이션 루프입니다. 주 처리가 완료되면 생성 된 개체가 파괴되고 환경이 정리됩니다. 시간과 공간 모두에서 메모리 할당이 제한되는 임베디드 리소스 제약 환경에서는 VPI에서 제공하는 메모리 할당 및 수명에 대한 제어가 유용합니다.

VPI의 핵심 구성 요소는 다음과 같습니다.

  • 알고리즘 : 분리할수 없는 컴퓨팅 작업을 말합니다.
  • 백엔드 : 실제 계산을 담당하는 하드웨어 엔진입니다.
  • 스트림 : 알고리즘이 실행되어지고 궁극적으로 주어진 백엔드에서 순차적으로 실행되는 비동기 대기열 역할을합니다. 스트림과 이벤트는 컴퓨팅 파이프 라인의 구성 요소입니다.
  • 버퍼 : 입력과 출력 데이터를 저장합니다.
  • 이벤트 : 스트림 또는 애플리케이션 스레드간에 동기화 기본 요소를 제공합니다.
  • 컨텍스트 : VPI 및 생성 된 개체의 상태를 유지합니다.

Architecture

샘플 프로그램

제공된 샘플 애플리케이션과 실행 방법에 대한 지침은 다음과 같습니다.

  1. 2D 이미지 컨볼 루션

References

About

NVIDA VPI(Vision Programming Interface) 1.0 Samples

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published