Das Upgrade von Nvidia GTX 960 auf Grid M40 funktioniert nicht

1

Ich habe eine GTX960 auf eine Grid M40 aufgerüstet, um FFMPEG-Codierungen zu beschleunigen. Ich hatte alles mit der alten GTX960 unter CentOS 7 zu tun und war von den Ergebnissen beeindruckt genug, um eine M40 zu bekommen. Das Betriebssystem scheint die Karte in Ordnung zu sehen, wie Sie sehen können:

[root@localhost]~# nvidia-smi
Mon Nov 14 17:59:15 2016       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.48                 Driver Version: 367.48                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GRID M40            Off  | 0000:44:00.0     Off |                  N/A |
| 60%   60C    P0    17W /  53W |      0MiB /  4041MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  GRID M40            Off  | 0000:45:00.0     Off |                  N/A |
| 59%   59C    P0    17W /  53W |      0MiB /  4041MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   2  GRID M40            Off  | 0000:46:00.0     Off |                  N/A |
| 40%   41C    P0    16W /  53W |      0MiB /  4041MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   3  GRID M40            Off  | 0000:47:00.0     Off |                  N/A |
|  0%   49C    P0    10W /  53W |      0MiB /  4041MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

Und ich kann einige Beispiele für Nvidia-Apps ausführen:

[root@localhost]~/NVIDIA_CUDA-8.0_Samples/1_Utilities/bandwidthTest# ./bandwidthTest 
[CUDA Bandwidth Test] - Starting...
Running on...

 Device 0: GRID M40
 Quick Mode

 Host to Device Bandwidth, 1 Device(s)
 PINNED Memory Transfers
   Transfer Size (Bytes)        Bandwidth(MB/s)
   33554432                     6286.3

 Device to Host Bandwidth, 1 Device(s)
 PINNED Memory Transfers
   Transfer Size (Bytes)        Bandwidth(MB/s)
   33554432                     6441.0

 Device to Device Bandwidth, 1 Device(s)
 PINNED Memory Transfers
   Transfer Size (Bytes)        Bandwidth(MB/s)
   33554432                     64577.1

Result = PASS

Aber wenn ich versuche, ffmpeg auszuführen, erhalte ich diesen Fehler:

[hevc_nvenc @ 0x290e500] No NVENC capable devices found
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> hevc (hevc_nvenc))
  Stream #0:1 -> #0:1 (copy)
Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

Ich habe versucht, die nvidia-Treiber zu deinstallieren, cuda und neu zu installieren. Ich habe ffmpeg sogar neu kompiliert, aber der Fehler ist nicht verschwunden. Zum Grinsen habe ich auch einen Nvidia Quadro K2200 ausprobiert, den ich mit den gleichen Ergebnissen herumliegen hatte. Irgendwelche Ideen?

Alan
quelle

Antworten:

1

Ich glaube, ich habe deine Antwort. Ich kann hier sehen, Stream #0:0 -> #0:0 (h264 (native) -> hevc (hevc_nvenc))dass Sie versuchen, von einem nativen h.264-Eingang zu einem h.265-Ausgang (hevc) zu wechseln. Ich glaube nicht, dass GM107 (der frühe Maxwell-Chip, auf dem Ihr M40 basiert und der vier Mitglieder enthält) die h.265-Codierung unterstützt . Laut dieser Kompatibilitätsliste sollten Sie in der Lage sein, dies zu überprüfen, indem Sie den Transcode von h.264 auf MPEG-4 versuchen. Wenn dies funktioniert, wissen Sie, dass wahrscheinlich nichts anderes falsch ist. Es liegt lediglich daran, dass Sie nicht die richtige Hardware haben für die Arbeit.

Nach der gleichen Kompatibilitätsliste unterstützt Ihre GTX 960 mit ihrem späten Maxwell-Chip (GM206) auch h.265.

Adam Wykes
quelle
Das ist ein großartiger Gedanke, aber auf Wikipedia heißt es, dass es einen GM200 gibt ( en.wikipedia.org/wiki/… ), aber die Version, die ich bekam, scheint anders zu sein. Servethehome.com/nvidia-grid-m40-4x-maxwell -gpus-16gb-RAM-Karten
Alan
Es ist durchaus möglich, dass es zwei verschiedene Arten gibt. Sie sollten meinen Diagnosecode ausführen und einen Bericht erstellen.
Adam Wykes
Ich sehe den Fehler, den ich jetzt gemacht habe. Mein Verständnis war, dass eine Tesla-Karte in ein Nvidia Grid-System (Server) passt, aber dass die Karten selbst entweder als Grid oder Tesla gekennzeichnet werden können, mit dem Unterschied, dass sie auf einem Server oder als Standalone-Karte verkauft werden. Es stellte sich heraus, dass dies eine falsche Annahme war. Die Grid M40-Karte war eine Entwicklungs- / Prototyp-Karte, die niemals Standardproduktion war und nicht offiziell unterstützt wird. Während es bei h.264 einen tollen Job machen sollte, hatte ich vor, nur h.265 zu machen und muss daher upgraden.
Alan
1
Gut zu wissen! Nebenbei bemerkt, GPUs wie der 960 und der RX 470 für Spiele sind in letzter Zeit in Bezug auf Preis und Stromverbrauch deutlich gesunken. Wenn Sie also über mehrere PCI-E-Steckplätze verfügen, ist dies möglicherweise günstiger.
Adam Wykes
1
Ja, da ich die Einzelheiten der Aufgabe nicht kenne, kann ich das nicht beantworten, aber es gibt definitiv viel zu beachten. Vier Karten sind normalerweise weniger effizient als eine einzelne Platine, unabhängig davon, ob mehr als eine GPU vorhanden ist oder nicht. Einzelkarten erleichtern die Kühlung und Stromversorgung (hat Ihre PSU die richtige Anzahl von 6/8-poligen Stromanschlüssen usw.) ). Die beiden Vorteile für mehrere Karten sind normalerweise die Rohleistung und manchmal die Kosten.
Adam Wykes