Dann sag uns doch mal, was du darüber weißt. Würde mich nämlich auch interessieren :-D
Das ist hier doch nun schon x-mal durchgekaut worden. Wer das Geld hat und entsprechende Daten bearbeiten will, der soll sich 2GB kaufen. Wer sie nicht braucht oder nicht weiss was er damit anfangen soll, der spart eben etwas Geld, so einfach ist das.
Ich beziehe mich auf Benchmarks von Hardware Magazinen. Wenn die GPU die Daten nicht schnell genug verarbeiten kann, kann der Speicher noch so groß sein. Ist doch eigentlich klar.
Das einzige was klar ist, ist dass solche Benchmarks oder in Magazinen abgedruckte Zahlen, die Leute verwirren die keine Ahnung von der Materie haben und genau dann kommt so ein Humbug raus wie hier.
Nach deiner Logik behaupte ich jetzt mal, dass eine Grafikkarte sowieso nur 64MB Speicher braucht, alles andere ist zu viel und man braucht den Speicher sowieso nicht. Auf der GPU berechnen wir Faktorisierungsprobleme, große Fakultäten und komplexe Nullstellen der Riemann'schen Zeta-Funktion. Also brauchen wir so viel Speicher im Leben nicht und alle Grafikkarten mit 128MB oder mehr sind überflüssig. Ist doch eigentlich klar... oder doch nicht?
Dass du nur eine einzige Operation auf der Grafikkarte machst, ist relativ unwahrscheinlich. Diese Operationen sind i.d.R. unterschiedlich Komplex bzgl. ihrer Laufzeit. Natürlich sind da Algorithmen dabei mit O(n^3), aber sicherlich auch solche mit O(log n), die deutlich schneller sind. Vielleicht versucht auch jemand NP-vollständige Probleme auf der GPU zu lösen... das mag alles sein. Fakt ist aber, die GPU ist ideal als MIMD Architektur, wo tausende oder zehntausende Operationen gleichzeitig ausgeführt werden. Ab der 6-er Serie von NVIDIA unterstützt der Vertex Prozessor der GPU MIMD-Branching. Soll heissen, ein Teil deiner Karte auf den gewartet wird, lässt du einfach laufen, andere Teile führen kleinere Operationen durch, sind früher fertig und benötigen nun neue Daten. Du kannst davon ausgehen dass IO-Operationen (von/zu RAM, CPU, Festplatte, etc.) deutlich langsamer sind, als solche in der Grafik-Pipeline. Du kannst also Daten schon nachladen (oder schreiben), während ein Teil der GPU noch fleissig rechnet, statt zu warten bis di Rechnung fertig ist und dann anzufangen deinen Speicher zu füllen. Je mehr Speicher du zur Verfügung hast, desto weniger muss nachgeladen werden. Die einzige Bedingung ist, dass sich die Input-/Output-Arrays nicht überlappen.
Für einen Benchmark will ich das gar nicht, da ich wegen dem Branching so gar keinen idealen Messwert bzgl. der Performance bekomme. Hier will ich idealerweise eine definierte Operation auf einen Datensatz oder eine definierte Anzahl von Datensätzen. Dann kann ich wunderbar die Performance von Karten unter identischen Bedingungen vergleichen. Somit erhalte ich Messwerte, die nicht der Realität entsprechen, mir aber eine Aussage über Performance liefert und ganz eingeschränkten Bedingungen. So ähnlich funktioniert das auch beim Auto, wenn die Hersteller den Verbrauch angeben.
Wenn meine Software nicht parallelisiert ist, brauche ich mir darüber keine Gedanken zu machen. Wenn sie die GPU nicht unterstützt, auch nicht. Wenn ich nur 10MB große Bilder habe und schlechte Parallelisierung, dann juckt mich das auch nicht. Wenn meine Folgeoperation auf der GPU beinhaltet, dass ich die 10MB wieder rausschreiben und damit der CPU geben muss, bevor ich wieder eine GPU-Operation (oder mehrere) durchführen kann, dann stört mich das alles ebenfalls nicht.
Je nachdem was gemacht werden soll, haben 2GB schon eine Daseinsberechtigung und das nicht erst mit neuen und deutlich schnelleren Karten, sondern auch schon bei alten Karten wie etwa der 48xx Serie.