A TensorRT eltérő fordítási beállításokat próbál ki
Az NVIDIA bemutatja, hogyan irányítja a teljes motor mérése és a számszerű eltérések tűréshatára a teljesítményhangolást.
Az NVIDIA október 23-i magyarázata a TensorRT 11.1-ben bevezetett hangolót mutatja be. A TensorRT a neurális hálóból végrehajtható futtatómotort fordít, közben megválasztja a műveletek összevonását, megvalósítását és memóriabeli elhelyezését. Ezek a döntések hatnak egymásra: egy önmagában gyorsabb számítás nem feltétlenül eredményez gyorsabb teljes motort. Az eltérő fordítási beállítások kipróbálása ezt a modellfüggő problémát kezeli, miközben a számszerű eltérések elfogadható határa korlátozza, mely eredmények fogadhatók el.
A hangolási útmutató a trtexec parancssori eszköz keresését írja le, amely elkészíti a jelölt motorokat és megméri a futásidejüket. A pontosságellenőrzés választható: bemeneti adatokat, referencia-kimeneteket és hibaküszöböt kell megadni; ehhez a módhoz a motor mentési célja is kötelező. A küszöböt meghaladó jelöltek kiesnek a kiválasztásból. Az alapértelmezett fordítási út már eleve optimális lehet. Ugyanannak az útnak az ismétlése sem feltétlenül hoz létre azonos bájtokat, ezért magát az elmentett motort őrizd meg, ne csak a beállításait. Az NVIDIA a célhardver, illetve a TensorRT vagy a hangoló verziójának változásakor új hangolást is előír.
A mérési útmutató megmagyarázza, miért számítanak a mérés körülményei. Különálló GPU esetén rögzítsd és figyeld az órajelet, a fogyasztást és a hőmérsékletet a modell futtatása mellett; az ottani nvidia-smi megfigyelési parancsok Jetsonra és integrált GPU-ra nem alkalmazhatók. A bemenetek tükrözzék a valódi adatok eloszlását. A trtexec alapértelmezésben kihagyja a gazdagép és az eszköz közötti adatátvitel idejét mindkét irányban. Az includeDataTransfers kapcsoló ezeket is beleszámítja annak vizsgálatakor, hogy az adatmozgatás korlátozza-e a terhelést.
Források(3)
- Compiler choicesEllenőrizve:
- Tuning manualEllenőrizve:
- Measurement guideEllenőrizve:
