GTX 1070 vs. GTX 1080: GPU- & RAM-Performance?

ascer

Captain
Registriert
Juni 2008
Beiträge
3.704
Hallo Community,


in Kürze steht eine Aufrüstung der Grafikkarte an (GTX 1070 oder GTX 1080) und ich würde dafür gerne den Erfahrungsschatz der Community anzapfen, da per DuckDuckGo & Google leider kaum fündig geworden bin.

Mich würde interessieren, wie stark sich der Rohleistungsunterschied einer GTX 1070 (~7 TFLOPs) im Vergleich zu einer GTX 1080 (~9 TFLOPs) in der Praxis bemerkbar macht? Und ob dort auch der Unterschied der CUDA-Cores (1920 bei der GTX 1070 vs. 2560 bei der GTX 1080) relevant ist?

Weiterhin wüsste ich gerne, ob sich der Unterschied in der RAM-Bandbreite (GTX 1070 mit GDDR5 ~250 GB/s vs. ~330 GB/s mit GDDR5X bei der 1080) in der Praxis bemerkbar macht?

Falls jemand hier persönliche Erfahrungen oder Benchmarks mit OpenCV, TensorFlow, CUDA, cuDNN, cuFFT oder cuBLAS hat, wäre das sehr interessant für mich.
Generell wäre ich aber schon zufrieden, wenn jemand überhaupt irgendwelche Anhaltspunkte bezüglich GPGPU-Computing / theoretischer Performance liefern könnte.

Gamingperformance und Stromverbrauch ist für mich vollkommen uninteressant.

Da ich speziell in den Bereichen Artificial Intelligence / Machine Learning und mitunter generell in GPGPU-Computing (besonders CUDA, cuDNN, cuFFT, cuBLAS, ...) unterwegs bin, ist für mich ausschließlich die Performance der Karten in theoretischen Anwendungen interessant.

Hat da jemand vielleicht irgendwelche Daten zu?


viele Grüße & danke für jeden Tipp

ascer


PS: Falls sich jemand fragt warum bei diesen Anwendungsszenarien keine Titan oder Quadro-/Tesla-Karte zum Einsatz kommt: Preis-/Leistungsverhältnis. Treibersupport ist für mich nicht relevant und die Szenarien, in denen ich mal viel INT8-Leistung benötige sind auch abzählbar. In den allermeisten Fällen benötige ich ausschließlich massig Single-Precision-Leistung, was auch die eigentlichen Gamingkarten bieten und damit vom Preis-/Leistungsverhältnis her für mich viel interessanter sind.
 
Zuletzt bearbeitet:
@Xploder270: Super, vielen Dank. Das ist schon mal ein Anhaltspunkt! Die Seite kannte ich noch gar nicht, war ich beim Suchen wohl zu blind...
 
@emeraldmine: Nein, DP ist egal. I.d.R. ist 64bit-Genauigkeit für Experimente überflüssig, es gibt sogar nicht wenige Szenarien, wo tendenziell gar 16bit-Genauigkeit (also half-precision) ausreicht.

Wenn ich das *unbedingt* brauche, habe ich auch Zugriff auf einen Cluster mit Tesla-Karten. Allerdings gibt es da natürlich immer gewisse Wartezeiten, weshalb für eine Workstation zu Hause eine ordentliche GPU mit viel SP-Leistung schon recht schön ist. Dann kann man das meiste nämlich direkt dort erledigen ^^
 
16Bit ist auch abartig niedrig: 1/64, also genau gleich wie DP. Nur GP100 ist unbeschnitten, alle anderen Chips sind praktisch unbenutzbar.

The theoretical single-precision processing power of a Pascal GPU in GFLOPS is computed as 2 (operations per FMA instruction per CUDA core per cycle) × number of CUDA cores × core clock speed (in GHz).

The theoretical double-precision processing power of a Pascal GPU is 1/2 of the single precision performance on GP100, and 1/32 on GP102 and GP104.

The theoretical half-precision processing power of a Pascal GPU is 2× of the single precision performance on GP100[10] and 1/64 on GP104.[17]


Wird OpenCL oder CUDA genutzt?
 
@HominiLupus: Mit OpenCL hab ich bis jetzt nur wenig "gespielt". Produktiv nutze ich nur CUDA, wegen cuDNN, cuBLAS, cuFFT, ...

Hmm, die FP16-Geschichte habe ich auch gerade jetzt erst gesehen...nicht so schön, aber verkraftbar...grob geschätzt sind etwa 3/4 aller Experimente immer FP32.

@emeraldmine: Deep Learning & Co @Home. Am Supercomputer meiner Uni z.B. kann ich häufig nur am WE direkt arbeiten. Gerade unter der Woche hat man Stunden, manchmal gar Tage Wartezeit.

Deshalb ist eine flotte Grafikkarte daheim nicht schlecht. Dann kann ich viele kleine Tests vollkommen ohne Wartezeit jederzeit durchführen...und muss nur für größere Experimente mal den Cluster bemühen.

EDIT: Ist ECC-RAM tatsächlich so interessant? Sollte Fehlerkorrektur eigentlich nicht nur für Server (sprich z.B. große Supercomputer) wirklich notwendig sein?
 
Zuletzt bearbeitet:
ascer schrieb:
Ist ECC-RAM tatsächlich so interessant? Sollte Fehlerkorrektur eigentlich nicht nur für Server (sprich z.B. große Supercomputer) wirklich notwendig sein?

Kommt drauf an was die Daten wert sind. Oder ob deine Existenz dran hängt, privat/beruflich.
 
Sofern du nicht übertaktest, kostet die ECC so ca. 40-50€ Aufpreis für Board+RAM. Das wäre es mir die Berechnungen wert. Die Teslas haben natürlich auch ECC, die Geforce nicht.
 
...also tendenziell ist z.B. ein AI-Modell ja nur dann wirklich ordentlich entworfen worden, wenn die Resultate robust sind, also wirklich eine Generalisierung der Problemstellung geschaffen wurde, die wertvolle Invarianten zur Problemlösung darstellt.

Wenn eine AI schon bei wenigen gekippten Bits "aus der Reihe tanzt", hätte ich mit der Erstellung des mathematischen Modells wohl eher etwas für die Mülltonne geschaffen. Schließlich soll eine AI z.B. auch für neuen Input hinterher sinnvollen Output generieren, sprich da sind deutlich mehr Bits unterschiedlich, als möglicherweise mal welche in normalem RAM kippen.

Einzig ein fertig gelerntes Modell sollte natürlich möglichst persistent gespeichert werden können...aber normaler RAM ist ja nun auch nicht vollkommen fehlerbehaftet und bei einem wirklich robusten AI-Modell könnte ich gar 10 bis 20% der Neuronen "abschalten", ohne wirklich große Performanceeinbrüche zu haben.


EDIT: Ich werde mir das mal durch den Kopf gehen lassen. Werde mal recherchieren, wie "fehlerbelastet" normaler RAM ist. Dazu wird es ja sicherlich einiges an Informationen geben.
 
Zuletzt bearbeitet:
Ja, gute Idee, recheriere mal. Aber gegen äußere "Umwelteinflüsse" kann man nicht viel machen , ESD, Handystrahlung,Temperaturen, nur mal ein paar zu nennen, kennt noch jemand weitere ?

Also wenn ne AI (künstliche elektronische Intelligenz) OHNE ECC Speicher ausgerüstet würde, würde ich "rebellieren".
 
Zuletzt bearbeitet von einem Moderator:
ja, zuviel zu mich, aber eines ist WICHTIG die Fehlerkorrektur, sonst ist man jedem unterlaufenen Bit-Datenfehler ausgeliefert.

Meine Empfehlung: Sobald die eigene berufliche/private Existent dran hängt, ist ECC unerläßlich. man sollte sich eine Workstation mit ECC Speicherunterstützung zulegen. Und so teuer sind die wieder auch nicht.
 
Zuletzt bearbeitet von einem Moderator:
...im Prinzip kann man es darauf reduzieren, dass bei Google in der Langzeitstudie ewig viele DIMMs getestet wurden und das finale Fazit ist, dass mehr als 8% der DIMMs min. 1 Fehler pro Jahr hatten. Bei längerer Laufzeit haben sie Durchschnittswerte von 25,000–75,000 FIT (failures in time per billion hours of operation) per Mbit ermittelt, die noch in die Kategorie der korrigierbaren Fehler kommen - es wurde ausschließlich ECC-RAM untersucht.

Selbst bei 75.000 FIT liegt dann aber im Durchschnitt pro Mbit die Fehlerrate "nur" bei 7.5e-5 pro Stunde. Selbst bei 1 GB an Daten ist also die durchschnittliche Fehllerrate bei denen "nur" 0.6.

Gut, da derartige Experimente i.d.R. immer mehrstündig sind, ist es also recht wahrscheinlich, dass ich immer wieder mal 2, 3, 4, 5... gekippte Bits pro Experiment haben werde. Das erscheint mir aber bei der riesigen Datenmenge immer noch ziemlich wenig.
...wenig genug für mich als Student ohne gesondertes finanzielles Back-Up, dass ich bei Tests@Home auf ECC-RAM verzichten kann.

Obwohl normaler RAM natürlich möglicherweise höhere Fehlerraten aufweist. Mal schauen....groß war der Preisunterschied laut euch ja nicht. Eventuell werde ich dann doch eher zu ECC-RAM greifen.
 
Dein Mainboard unterstützt ja leider kein ECC RAM (das in deiner Signatur), höffentlich meinst du ein anderes System !?
 
Jein - Grafikkarte kommt jetzt zuerst. Mainboard+CPU+RAM folgt sobald Zen da ist. Ob ich dann AMD kaufe oder Intel hängt vom PL ab, aber die Hoffnung stirbt ja zuletzt, dass Zen das Geschäft belebt ^^

EDIT: Meine aktuelle Kiste muss bis dahin durchhalten. Die stammt noch von vor dem Studium, wo der Fokus natürlich eher auf Gaming lag. Mittlerweile boote ich Windows kaum noch; missbrauche den Rechner fast seit Anfang des Studiums als Linux-Workstation. Anfangs Debian, mittlerweile Manjaro/Arch.
 
Zuletzt bearbeitet:
ja, alle hoffen auf Zen, nicht zuletzt das Intel dann "gezwungen" ist die Preisschraube nach unten zu drehen, hoffentlich. Aber alles Wunschhoffen, die wollen immer nur unser "Bestes"...
 
Zur Grafikkartenwahl: Da Du CUDA brauchst, kommen AMD-Karten für Dich nicht in Frage, oder? Ich weiß ja nicht, wie Deine Kernels aussehen, die Du schreibst, aber letztlich würde ich nicht nur auf Anzahl der Recheneinheiten einer GPU sehen, sondern auch deren Organisation. Bei AMD heißen die CU (Compute Unit) und bei Nvidia SMM (oder so ähnlich). Letztlich hat diese Organisation auch Einfluß auf die Performance, da hier Sachen wie ein L2-Cache sitzen und auch die Anbindung an das VRAM stattfindet. Du kannst ja mal mit Analysetools schauen, ob Deine Kernel letztlich VRAM-access-bound sind oder doch rein von den TFLOPs limitiert sind.

Zur Fehlerkorrektur: In der c't war mal vor längerer Zeit ein Report über dieses Thema drin und es wurde die Notwendigkeit für den Alltagsbetrieb beleuchtet. Falls das interessant für Dich ist, kann ich gerne den Artikel mal recherchieren.
 
@Faust2011: CUDA ist ein Faktor, die wirklich entscheidenden Libraries sind aber Sachen wie cuDNN, cuBLAS, cuFFT usw. Müsste man das alles von Hand coden (und die NVIDIA libraries sind zum Leidwesen von AMD wirklich, wirklich gut & effizient) wäre das schon ziemlich viel Arbeit. Deshalb kommt aktuell (leider) nur NVIDIA in Frage, ja. Ich hoffe das wird in 1-2 Jahren anders.

Wenn die Recherche für den Artikel in deinen Zeitplan passt, gerne ;)
 
Zurück
Oben