🟢 🔧 Hardware Objavljeno: · 4 min čitanja ·

AMD ROCm: GPU-rezidentni YOLO26 pipeline drži video okvire u VRAM-u od dekodiranja do detekcije

Editorial ilustracija: AMD Radeon GPU detekcija objekata u videu s YOLO26 pipelineom

AMD je objavio GPU-rezidentni pipeline za detekciju objekata koji koristi rocDecode, DLPack, PyTorch i MIGraphX kako bi video okviri nikad ne napustili VRAM — sve do trenutka kad su poznate završne detekcije.

🤖

Ovaj članak generiran je uz pomoć umjetne inteligencije na temelju primarnih izvora.

AMD je u svom ROCm blogu detaljno opisao četverostupanjski GPU-rezidentni pipeline za detekciju objekata koji kombinira rocDecode, DLPack, PyTorch i MIGraphX — i time demonstrira kako video okviri mogu proći cijeli put od komprimiranog bitstreama do bounding boxova bez ijedne suvišne kopije podataka.

Zašto je “GPU-rezidentnost” bitna za real-time detekciju?

Klasični pristup obradi videa za detekciju objekata oslanja se na CPU dekodiranje, premještanje okvira u RAM, pa onda prijenos u GPU memoriju. Svaki taj prijelaz košta: PCIe sabirnica postaje usko grlo, latencija raste, a CPU je zauzet jednostavnim kopiranjem podataka umjesto pametnim radom.

AMD-ov pristup eliminira te prijelaze. Komprimirani H.264 ili H.265 bitstream prelazi PCIe sabirnicu samo jednom — ostatak se odvija isključivo unutar GPU-a. Okviri dekodiraju direktno u VRAM putem rocDecode biblioteke, ostaju tamo kroz predobradu i inferenciju, a u host memoriju dolaze tek završne detekcije: bounding boxovi s confidence scorovima i class ID-evima.

Četiri faze pipeline-a

Prva faza je hardversko dekodiranje videa. Video Core Next (VCN) — namjenski blok unutar AMD GPU-a — dekodira H.264 i H.265 nativno, bez angažiranja GFX compute jezgri. Mjerenja na AMD Radeon AI PRO R9700 uz ROCm 7.2.2 i 1920×1080 H.264 ulaz pokazuju VCN iskorištenost od svega ~10%, dok compute jezgre paralelno rade na ~21% iskorištenosti. Oba engina rade simultano i neovisno jedan o drugom.

Druga faza je zero-copy prijenos između frameradowna. Biblioteka DLPack definira standardni izgled tenzora u memoriji koji razumiju svi popularni okviri. Dekodirana površina okvira ne kopira se u novi buffer — DLPack omotač (wrapper) referencira postojeću VRAM lokaciju i predaje je PyTorchu bez alokacije. Izlazni tenzori se alociraju jednom i ponovo koriste za svaki okvir.

Treća faza je inferencija. MIGraphX — AMD-ov graf-inferencijski engine — kompajlira YOLO26 model s FP16 kvantizacijom i izvodi ga nativno na AMD GPU-u bez potrebe za posrednim software slojevima.

Četvrta faza je filtriranje detekcija. Model YOLO26 od Ultralyticsa ima ugrađen NMS (Non-Maximum Suppression) end-to-end: izlaz je tenzor dimenzija [1, 300, 6] po okviru — svaki redak sadrži koordinate bounding boxa (x1, y1, x2, y2), confidence score i class ID. Stariji modeli poput YOLO11 zahtijevali su zasebnu NMS fazu nakon inferencije; YOLO26 to eliminira.

Što prelazi PCIe sabirnicu — i što ne prelazi

Ovo je ključna razlika u odnosu na CPU-dekodiranje. PCIe sabirnicu prelazi jedino komprimirani video bitstream na ulazu. Sirovi dekodirani okviri (1920×1080, svaki ~6 MB za YUV420) nikad ne napuštaju VRAM. U host memoriju dolaze samo završne detekcije — uobičajeno nekoliko stotina bajtova po okviru — što je zanemariva propusnost.

Referentni hardware i softverski stack

Pipeline je demonstriran na AMD Radeon AI PRO R9700, workstation GPU-u s namjenskim VCN engineom. Isti stack funkcionira i na data-center karticama iz obitelji AMD Instinct MI300X, MI325X, MI350X i MI355X. Softverski sloj temelji se na ROCm 7.2 / ROCm 7.2.2.

Testni ulaz bio je 15-sekundni AI-generirani video biciklizma u rezoluciji 1920×1080 pri 16 fps u H.264 kodeku. Usporedba s OpenCV baseline-om (CPU dekodiranje) pokazuje viši VCN i GFX aktivitet kod rocDecode patha — što znači veće iskorištenost GPU resursa — ali s bitno manjim CPU angažmanom i nultim PCIe prometom za okvire. Podržani kodeci uključuju H.264 i H.265, a na novijim generacijama GPU-a VCN engine podržava i AV1 te VP9.

Što se tiče memorijskog modela, rocDecode koristi „device-copied” izlazni način koji producira DLPack-kompatibilne površine. To znači da izlazni tenzori po okviru ne zahtijevaju alokaciju pri svakom okviru — jednom alocirani bufferovi se ponovo koriste kroz cijelo trajanje sesije, što eliminira pritisak na GPU alokator.

Implikacije za produkcijsku detekciju objekata

Pristup koji AMD demonstrira nije akademski eksperiment — radi se o konkretnoj integraciji javno dostupnih komponenti (rocDecode, PyTorch, MIGraphX) s modelom koji je u produkcijskoj upotrebi (Ultralytics YOLO26). Za svaku aplikaciju koja procesira video u realnom vremenu — nadzorne kamere, industrijska inspekcija, autonomna vozila — ovakav pipeline znači manji CPU overhead, manju latenciju i bolju skalabilnost na multi-stream scenarijima. CPU, oslobođen od dekodiranja i kopiranja, može paralelno raditi na downstream zadacima poput praćenja objekata ili serijalizacije rezultata.

Česta pitanja

Što je GPU-rezidentni pipeline i zašto je to važno?
GPU-rezidentni pipeline znači da video okviri ostaju u VRAM-u kroz sve faze obrade — dekodiranje, predobradu, inferenciju i filtriranje — bez kopiranja u host memoriju. Time se eliminira usko grlo PCIe sabirnice i CPU se oslobađa za druge zadatke.
Što je VCN i kako pomaže u dekodiranju videa?
Video Core Next (VCN) je namjenski hardverski blok unutar AMD GPU-a koji dekodira H.264 i H.265 video bez angažiranja compute jezgri (GFX). Dok VCN radi na ~10% iskorištenosti, GFX compute paralelno izvodi inferenciju na ~21% — dva specijalizirana engina rade istovremeno.
Kakav je izlazni tenzor modela YOLO26 i što donosi novo?
YOLO26 od Ultralyticsa producira tenzor oblika [1, 300, 6] po okviru — koordinate bounding boxa, confidence score i class ID — i u njega je ugrađen NMS korak end-to-end, za razliku od starijih modela poput YOLO11 koji su zahtijevali zasebnu NMS fazu.