Skip to main content

lib for pms nvidia processors

Project description

PMS NVIDIA Processor: High-Performance GPU Inference Backend

pms-nvidia-processor는 고해상도 비디오 및 이미지 복원 AI 모델들을 NVIDIA GPU 및 TensorRT 환경에서 초고속으로 추론(Inference)하기 위해 설계된 백엔드 프로세서 패키지입니다.

이 라이브러리는 사내 표준 추론 프레임워크인 pms-inference-engine의 규격을 완벽히 준수하는 플러그인 형태로 동작합니다. 이를 통해 상위 오케스트레이터의 코드 변경 없이, 다양한 비전(Vision) 모델의 I/O 텐서 매핑, 메모리 관리, 그리고 전/후처리를 하드웨어에 최적화된 방식으로 수행합니다.

🚀 Key Engineering Features

  • Advanced Patch-Based Inference Engine
    • 4K, 8K와 같은 초고해상도 미디어 처리 시 발생하는 GPU VRAM 부족(OOM) 현상을 방지하기 위해, 자체 구현한 고도화된 패치 분할 및 병합(Patcher) 알고리즘(utility/patcher)을 적용했습니다.
    • 오버랩(Overlap) 블렌딩 기법을 통해 패치 경계선의 아티팩트(Seam)를 완벽하게 제거하여, 메모리 제약 없이 원본 화질의 무손실 추론을 보장합니다.
  • Dynamic Normalization & Tensor IO Pipeline
    • 모델마다 상이한 입력 정규화(Normalization) 방식과 채널 순서를 유연하게 처리하기 위해, 팩토리 패턴 기반의 Normalizer 및 데이터 타입 변환(Caster) 유틸리티를 추상화했습니다.
  • Extensive Model Support & Modularity
    • DPIR, DRU-RBPN (Deinterlacing, Super Resolution), FISF, Color ResNet 등 수십 가지의 복잡한 딥러닝 모델들을 각각 독립적인 Processor 모듈로 캡슐화(Encapsulation)했습니다.
    • 새로운 모델이 추가되더라도 기존 코드를 수정할 필요 없이 (Open-Closed Principle 준수) 즉시 파이프라인에 통합할 수 있습니다.
  • Robust Verification Pipeline
    • 프로덕션 배포 전 결함을 원천 차단하기 위해, 지원하는 모든 프로세서와 코어 유틸리티(Patcher, Normalizer)에 대해 방대한 pytest 기반의 유닛 테스트 환경을 구축했습니다.

📁 Architecture & Module Structure

패키지 내부는 공통 추론 유틸리티와 개별 모델별 파이프라인으로 명확하게 분리되어 있습니다.

pms_nvidia_processor/
├── tools/                      # TensorRT Engine (.plan) 빌드 및 패키지 관리 스크립트
├── utility/                    # 공통 유틸리티 모듈
├── processor/                  # 개별 AI 모델 파이프라인 구현체 (Base 상속)
│   ├── base/                   # 프로세서 인터페이스 및 공통 설정 의존성
│   ├── dpir/                   # DPIR (Denoising) 파이프라인
│   ├── dru_rbpn_sr_f3/         # DRU-RBPN Super Resolution (3-Frame)
│   ├── dru_rbpn_deinter_.../   # Deinterlacing 파이프라인 시리즈
│   └── (기타 10+종 모델 프로세서)
└── tests/                      # 모델 및 유틸리티 기능 검증 Unit Test Suite

🛠 Tech Stack

  • Language: Python 3.x
  • Hardware Acceleration: NVIDIA GPU, TensorRT
  • Core Abstraction: pms-inference-engine Interface
  • Dependency Management: Poetry
  • Testing & CI/CD: Pytest, GitHub Actions

📦 Getting Started

Installation

본 모듈은 pms-inference-engine 환경의 NVIDIA 백엔드로 동작합니다. GPU 드라이버 및 TensorRT가 호스트 환경에 구성되어 있어야 합니다.

pip install pms-nvidia-processor

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pms_nvidia_processor-2.16.0.tar.gz (23.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pms_nvidia_processor-2.16.0-py3-none-any.whl (68.1 kB view details)

Uploaded Python 3

File details

Details for the file pms_nvidia_processor-2.16.0.tar.gz.

File metadata

  • Download URL: pms_nvidia_processor-2.16.0.tar.gz
  • Upload date:
  • Size: 23.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for pms_nvidia_processor-2.16.0.tar.gz
Algorithm Hash digest
SHA256 7111e064ebbb462e1cccdec3ce54fcf400aa60df183823ba6b90ddba06135a26
MD5 b7bbda99b7070956cae06fb17aa92c02
BLAKE2b-256 a2ebffc1fb11cc6a6ad836931fae3f31abe7727fb74388fd72274db68076e455

See more details on using hashes here.

File details

Details for the file pms_nvidia_processor-2.16.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pms_nvidia_processor-2.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 82f1ac20a1e7d1f7e9bca6f502a436c5375d9d262660427a0334e686da44c15e
MD5 f63739fa731da36c1b682dc3c35e8b06
BLAKE2b-256 8f39abb54690eba96460cc5b5ae647ba54882698af6643448f3241ffabf04328

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page