softhdcuvid with hevc and UHD

  • Jetzt habe ich auch mal noch etwas rumprobiert und mit "nvidia-smi -q" ein paar Werte für meine GT1030 ermittelt:

    Ich habe eine MSI GT1030 im VDR stecken mit einem Mainboard, was maximal PCIe gen2 kann, mit meiner Intel i5 2500 CPU.

    Bei mir ruckeln die UHD-Sender auch ziemlich stark (bis auf QVC-UHD).

    Code
    1. nvidia-smi -q
    2. ...
    3. GPU Link Info
    4. PCIe Generation
    5. Max : 2
    6. Current : 2
    7. Link Width
    8. Max : 4x
    9. Current : 4x
    10. ...



    Bei nvidia-smi dmon bekomme ich folgende Werte bei einem HD-Sender (Servus-TV HD)

    Code
    1. nvidia-smi dmon
    2. # gpu pwr gtemp mtemp sm mem enc dec mclk pclk
    3. # Idx W C C % % % % MHz MHz
    4. 0 - 51 - 33 20 - 6 3003 1759
    5. 0 - 51 - 35 22 - 7 3003 1759
    6. 0 - 51 - 36 22 - 7 3003 1759
    7. 0 - 51 - 36 21 - 6 3003 1759
    8. 0 - 51 - 34 20 - 6 3003 1759


    Wenn ich auf Astra UHD1 schalte sieht es dann so aus:

    Code
    1. nvidia-smi dmon
    2. # gpu pwr gtemp mtemp sm mem enc dec mclk pclk
    3. # Idx W C C % % % % MHz MHz
    4. 0 - 52 - 100 44 - 30 3003 1759
    5. 0 - 52 - 100 36 - 25 3003 1759
    6. 0 - 52 - 100 29 - 8 3003 1759
    7. 0 - 52 - 100 39 - 26 3003 1759



    Und wenn ich das Ganze dann nochmal mit nvidia-smi -q mache und mir dann ein paar Werte genauer ansehe, dann kann man erkennen, was der Wert "sm" bedeuten kann: GPU Utilization. Die Werte hier entsprechen nämlich genau den Werten von "sm".

    Hier mal die Ausschnitte aus der Anzeige bei HDTV (Servus-TV HD):

    Code
    1. ...
    2. Utilization
    3. Gpu : 35 %
    4. Memory : 21 %
    5. Encoder : N/A
    6. Decoder : 6 %
    7. ...


    Und hier das gleiche beim Astra UHD1 Sender:

    Code
    1. ...
    2. Utilization
    3. Gpu : 100 %
    4. Memory : 46 %
    5. Encoder : N/A
    6. Decoder : 36 %
    7. ...


    Das bedeutet für mich, dass bei der GT1030 die GPU am Anschlag ist, was auch immer die Ursache dafür ist.

    Ob die Ursache dafür der nvidia-Treiber oder das Mainboard ist, kann ich nicht sagen.


    Paul

  • Welche GT 1030 habt ihr denn genau?

    Es gibt ja Modelle mit GDDR5 und welche mit DDR4 VRAM. Erstere machen 48GB/s und letztere nur 16.8GB/s was für UHD wohl zu langsam sein könnte.


    Hier ist eine Übersicht welche GPU was kann:

    https://developer.nvidia.com/v…decode-gpu-support-matrix


    Für UHD mit H265/HEVC sind die GPUs ab der Maxwell 2.0 Gen relevant, also ab GTX 950 und den wenigen GTX 750 die es mit einer GM206 GPU gab.


    GTX 950 -> 2GB GDDR5, 1650MHz, 128bit, 106GB/s - PCIe 3.0 x16

    P400 -> 2GB GDDR5, 1000MHz, 64bit, 32GB/s - PCIe 3.0 x16

    GT 1030 DDR4 -> 2GB DDR4, 1050MHz, 64bit, 16.8GB/s - PCIe 3.0 x16 (x4)

    GT 1030 GDDR5 -> 2GB GDDR5, 1500MHz, 64bit, 48GB/s - PCIe 3.0 x16 (x4)

    GTX 1050 2G -> 2GB GDDR5, 1750MHz, 128bit, 112GB/s - PCIe 3.0 x16

    GTX 1050 3G -> 3GB GDDR5, 1750MHz, 96bit, 84GB/s - PCIe 3.0 x16

    GTX 1050 Ti -> 4GB GDDR5, 1750MHz, 128bit, 112GB/s - PCIe 3.0 x16

    Die GT 1030 ist das einzige Modell mit nur 4 PCIe Lanes. Hier könnte es durchaus sein, dass das Board PCIe 3.0 haben muss. Bei den anderen mit vollen 16 Lanes sollte PCIe 2.0 eigentlich bereits völlig ausreichend sein.

    Das DDR4 Modell der GT 1030 ist mit den mageren 16.8GB/s Speicherbandbreite mit hoher Wahrscheinlichkeit zu langsam für UHD.

  • Nach dieser Tabelle kann meine GTX 950 kein hevc_nvenc, sie macht das aber problemlos in guter Geschwindigkeit.


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Nach dieser Tabelle kann meine GTX 950 kein hevc_nvenc, sie macht das aber problemlos in guter Geschwindigkeit.

    Encodieren? NVDEC ja, aber nicht NVENC bei HEVC.



    Und wenn ich das Ganze dann nochmal mit nvidia-smi -q mache und mir dann ein paar Werte genauer ansehe, dann kann man erkennen, was der Wert "sm" bedeuten kann: GPU Utilization. Die Werte hier entsprechen nämlich genau den Werten von "sm".

    "sm" steht meines Wissens nach für "Streaming Multiprocessor".

  • Ich hab so eine in einem PCIe Gen1 (16x) stecken, das "nvidia-smi" Tool zeigt 4x an. Für UHD langt das augenscheinlich nicht.


    GT 1030 GDDR5 -> 2GB GDDR5, 1500MHz, 64bit, 48GB/s - PCIe 3.0 x16 (x4)

  • Für UHD langt das augenscheinlich nicht.

    https://en.wikipedia.org/wiki/…ess#History_and_revisions

    Das ist jetzt die Frage wieso die 1GB/s hier nicht ausreichen wenn der Datenstrom noch encodiert in den VRAM wandert und laut jojo61 bis zur Ausgabe auf dem Bildschirm dort verbleibt.


    Oder es hat damit überhaupt nichts zu tun und die Ursache ist in eurem Fall eine andere. Die GPU/SM Last von 100% bei den GT 1030 würde eigentlich bedeuten, dass die GPU einfach zu langsam ist und nicht hinterher kommt. Die ältere GTX 950 z.B. ist da schon deutlich performanter.


    https://browser.geekbench.com/cuda-benchmarks


    Irgendeine Form von PostProcessing ist bei auch aber nicht aktiv, oder?

  • jsffm

    Mit der P400 laufen bei dir alle UHD Sender ohne Ruckler?

    Denn die GPU der P400 ist nochmal deutlich schwächer als die der GT 1030 und ebenso ist der VRAM deutlich langsamer mit 32GB/s. Einzig der PCIe Bus ist hier voll ausgebaut mit 16 Lanes satt nur mit 4 wie bei der GT 1030.


    Ist hier überhaupt irgendjemand bei dem die GT 1030 ohne Ruckler läuft bzw. jemand der diese Karte über PCIe Gen3 anbindet?

  • Ich habe eine MSI GT1030 LowProfile die hat auch GDDR5-Speicher.


    Paul

  • Kannst du da bei den nvidia-settings auch YCrCb als Format auswählen oder ist da fest RGB eingestellt ?

    Man kann umschalten.


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Irgendeine Form von PostProcessing ist bei auch aber nicht aktiv, oder?

    Nö. Nicht das ich wüsste. Es läuft nur der vdr mit softhdcuvid.

  • iNOB

    Ich meinte sowas wie deinterlacing, denoise, sharpen usw. in den plugin settings.


    Paulaner

    Für PCIe Gen3 müsstest du bei dir nur die CPU tauschen gegen eine i5 34xx wenn es denn am Linkspeed/Durchsatz liegt.

  • Hi,

    Ihr habt auch alle UHD-fähige TVs? Also X auf UHD laufen? Ob der TV das dann runterscaled ist ja der Graka egal. Nicht dass die das auch noch mit machen muß bei einigen?

    Mfg Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • Ihr habt auch alle UHD-fähige TVs?

    Ich jedenfalls nicht. X läuft mit 1920x1080_50.

  • Ihr habt auch alle UHD-fähige TVs?

    Yepp, einen 65" Philips 65PUS7601.

    Ich gebe direkt 3840x2160 von der Graka GT1030 aus. Das klappt soweit gut.

    Deshalb bin ich ja auch so scharf auf eine gute UHD-Ausgabe vom VDR! ;)


    Paul

  • Paulaner

    Für PCIe Gen3 müsstest du bei dir nur die CPU tauschen gegen eine i5 34xx wenn es denn am Linkspeed/Durchsatz liegt.

    Würde dann ein i5 3470 ausreichen? Oder was müsste ich mindestens nehmen?

    Ich kenne mich leider mit so etwas überhaupt nicht aus!


    Paul

  • Würde dann ein i5 3470 ausreichen? Oder was müsste ich mindestens nehmen?

    Ja, im Prinzip jeder i5 aus der dritten Generation, also i5 33xx, 34xx oder 35xx. Die i3 haben leider nur einen PCIe 2.0 Controller. Erst in der nachfolgenden Generation hatten die i3 auch PCIe 3.0, aber da müsstest du schon Mainboard und RAM tauschen.


    Würde mit dem Kauf aber auf jeden Fall noch warten bis jemand bestätigt, dass ein PCIe 3.0 Interface auch wirklich Abhilfe schafft.

  • Schaut doch mal mit nvidia-smi dmon -s t wie der Durchsatz auf dem PCIe in wirklichkeit ist. Ich kann die 100% GPU Last auf der 1030 nicht verstehen.

    Ob das mit dem langsamen PCIe zu hat bin ich mir noch unsicher. Ich suche gerade warum und ob das ganze nochmal zurück ins Memory kopiert wird.

    Wenn ich mir das hier bei mir so ansehe dann kommt es mir so vor. Ich habe immer den gleichen Transfer wie Receive Traffic zur Karte. und das sollte so nicht sein. Da muss ich nochmal bei opengl schauen ob i es da noch was einzustellen gibt.


    jojo61

  • Schaut doch mal mit nvidia-smi dmon -s t wie der Durchsatz auf dem PCIe in wirklichkeit ist. Ich kann die 100% GPU Last auf der 1030 nicht verstehen.

    Hier mal die Werte bei nvidia-smi dmon -s t von mir mit GT1030 mit GDDR5-Speicher.

    Zuerst ein HDTV-Sender (ServusTV HD), danach Astra UHD1

    Man sieht deutlich, dass beim HD-Semder der Wert stark schwankt, aber nicht so hoch ist.

    Nach dem Umschalten auf den UHD-Sender sind scheinbar die Werte immer am Anschlag!


    Paul

  • Bei mir sind die Werte mit UHD auch nicht so viel höher.

    Scheint also knapp zu sein. Aber immer noch die Frage warum überhaupt. Habe den vdr mal mit nvprof laufen lassen, aber da sieht man keine Kopiervorgänge von der Karte zum PC. Da wird alles innerhalb der Karte kopiert.