PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Grafikkartenpower intelligent nutzen


(del676)
2002-12-12, 20:21:41
nur mal so eine theorie

wäre es möglich Rechenoperationen auf die GPU einer Grafikkarte auszulagern (was weiss ich - Winamp für nv25 oder so :D - oder Seti :D )

und wäre es möglich eine RamdiskDriver für Grafikkartenram zu schreiben (das wollten ein paar Typen vor Monaten mal anfangen)

Demirug
2002-12-12, 20:38:41
Theoretisch alles machbar jeweils mit mehr oder weniger aufwand. Wobei man derzeit noch ein kleines Problem hat die Daten von der Karte wieder zurück zu bekommen. Die meinsten Treiber haben eine sehr mässige Übertragunsgeschwindigkeit von der Grafikkarte in den Hauptspeicher. Die neusten NVIDIA Treiber sollen dort aber erhebliche Verbesserung bringen.

P.S: Das mit Seti wird aber kompliziert da das Rechenverfahren nicht offengelegt ist.

(del676)
2002-12-12, 20:49:56
Originally posted by Demirug
Theoretisch alles machbar jeweils mit mehr oder weniger aufwand. Wobei man derzeit noch ein kleines Problem hat die Daten von der Karte wieder zurück zu bekommen. Die meinsten Treiber haben eine sehr mässige Übertragunsgeschwindigkeit von der Grafikkarte in den Hauptspeicher. Die neusten NVIDIA Treiber sollen dort aber erhebliche Verbesserung bringen.

P.S: Das mit Seti wird aber kompliziert da das Rechenverfahren nicht offengelegt ist.

d.h. für Ramdisk zu langsam

für seti:
einen x86 emulator für den nv25 schreiben und dahin gehts :D

BlueI
2002-12-12, 20:50:26
Dann hätte AGP 3.0 oder auch AGP8x endlich einen Sinn!!:O

Demirug
2002-12-12, 21:00:38
BlueI, das Problem ist dabei weniger die Geschwindigkeit von AGP als solches sonder das in den Treiber (oder der Hardware) das rückkopiern von Daten von der Grafikkarte zum Speicher einfach nur so eingebaut wurde das es geht. Der Preformance ist aber grausam. Nun sollen aber die neuen NVIDIA Treiber diesed Problem gelöst haben, was ja auch Sinn macht da NVIDIA mit dem NV30 in den offline rendering Bereich möchte. Das schöne ist nur das diese Performance Verbesserung scheinbsr auf allen NVIDIA Chips welche der Detonator unterstützt funktioniert.

Ulukay, mit den neunen Treiber könnte es gehen. Der Speicher ist dann aber fürs spielen nicht mehr da :D

(del676)
2002-12-12, 21:03:07
Originally posted by Demirug
BlueI, das Problem ist dabei weniger die Geschwindigkeit von AGP als solches sonder das in den Treiber (oder der Hardware) das rückkopiern von Daten von der Grafikkarte zum Speicher einfach nur so eingebaut wurde das es geht. Der Preformance ist aber grausam. Nun sollen aber die neuen NVIDIA Treiber diesed Problem gelöst haben, was ja auch Sinn macht da NVIDIA mit dem NV30 in den offline rendering Bereich möchte. Das schöne ist nur das diese Performance Verbesserung scheinbsr auf allen NVIDIA Chips welche der Detonator unterstützt funktioniert.

Ulukay, mit den neunen Treiber könnte es gehen. Der Speicher ist dann aber fürs spielen nicht mehr da :D

hmmm

ich will Seti :D

PhoenixFG
2002-12-12, 22:10:55
Hi!

Die Frage ist nur, ob Grafikchips in Sachen Seti unbedingt schneller wären, als "herkömmliche" CPU's. Vorstellen könnte ich mir beispielsweise, dass die Fourier-Transformation teilweise auf den Grafikchip ausgelagert werden könnte. Soweit ich weiß, nimmt sich Seti aus dem gesamten Datenpaket immer erstmal einen größeren Happen und macht damit eine Fouriertransformation. Findet Seti bei einer bestimmten Frequenz ein Signal, so wird der Happen in kleinere Teile unterteilt, um die "Form" des Signals zu untersuchen.
Nun stellt sich die Frage ob es sinnvoll ist, vom Grafikchip die erste Transformation (großer Happen) zu machen, und die CPU nur mit den kleinen Teilen zu beschäftigen. Dann würde aber der Grafikchip auch recht schnell leer laufen, da er er ja jeweils auf die CPU warten müsste, falls sich mal ein sinnvolles Signal findet, und der Happen genauer untersucht werden muss. Ich denke, das wäre wenig sinnvoll, da sich mit diesem Verfahren recht wenig Zeit gewinnen lässt.
Sinnvoll wäre eine Arbeitsteilung wohl nur dann, wenn CPU und Grafikchip in der Bearbeitung der SETI-Daten mind. gleichschnell sind.
Die nächste Frage wäre vielleicht die Rechengenauigkeit. Die Fouriertransformation wird mit Fließkommadaten bearbeitet, da Integer viel zu ungenau sein dürfte.
Aber mit Fließkomma arbeiten doch derzeit nur R300 und NV30, oder? Und zudem noch mit unterschiedlicher Genauigkeit.
C++ schreibt z.b. Datentypen bis 80bit vor (soweit ich weiß). ATI besitzt nun einen 96bit Modus und Nvidia einen mit 128bit, welche die Forderung nach mind. 80bit Genauigkeit erfüllen würden. Trotzdem könnte es jedoch passieren, dass bei gleichen Eingangsvariablen ein NV-Chip ein anderes Ergebnis erhält als ein ATI-Chip, da dieser genauer gerechnet hat. Unterschiedliche Ergebnisse bei gleichen Eingangsdaten dürften aber kaum im Sinne von Seti sein.

MfG

PS:Ich hoffe, ich bin nicht von zu vielen falschen Voraussetzungen ausgegangen.

Pussycat
2002-12-12, 22:16:14
Nur mal ne blöde Frage, aber als Ramdisk muss der Rückkanal dich gar nicht schnell sein? 50 MB/s wäre doch schon prima.

Demirug
2002-12-12, 22:23:31
PhoenixFG, die 96 bzw 128 Bit bei den neuen Chips müssen aber noch durch 4 geteilt weil eine Farbe ja aus Rot, Grün, Blau uhnd Alpha besteht. Aber 32 Bit Genauigkeit reicht für das meiste wohl aus.

Auch eine GF 4 kann diese Fliesspunktgenauigkeit schon liefern allerdings nur in den VertexShadern was das zurückliefern der ergenisse etwas kompliziert machen dürfte.

Pussycat, wenn es den 50MB/s wären. Ich habe die Daten jetzt nicht zur Hand aber wir hatte schon einen Thread deswegen hier. Ich gehe mal suchen.

Das ganze war dort: http://www.forum-3dcenter.net/vbulletin/showthread.php?s=&threadid=33360

TNT2 mit 440BX und Celeron:
Alter Treiber: 9MB/s bei 100% CPU auslastung
40.71 : 135MB/s bei minimaler CPU auslastung

TI4200 mit I815:
Alter Treiber: 9MB/s bei 100% CPU auslastung
40.71 : 175MB/s bei minimaler CPU auslastung

Wie gesagt mit neunen Treiber geht es mit NVIDIA Karten. Ob ATI inzwischen auch einen schnellen Rückkanal hat ist mir nicht bekannt.

PhoenixFG
2002-12-12, 22:56:35
Hi!

Wozu den Grafikram auch als RAMDisk nutzen? Wenn man das RAMDisk-Laufwerk nicht vor jedem Spiel löschen will, dürfte man es ja nicht sehr groß machen. Und diese bescheidene Menge RAM ist doch in den meisten PC-Systemen noch übrig.
Was soll überhaupt auf die RAMDisk? Als Speicherplatz für Auslagerungsdateien dürfte sie in jedem Falle zu klein sein, oder?

MfG

zeckensack
2002-12-13, 04:30:39
Originally posted by Demirug
Ob ATI inzwischen auch einen schnellen Rückkanal hat ist mir nicht bekannt. Leider nein ;)

"Catalyst 2.5":
1)58,5MB/s = 14,6M BGRA-Pixel/s
2)39,6MB/s = 9,9M RGBA-Pixel/s

#1 scheint das native Framebuffer-Layout ganz gut zu treffen, es ist auch (ganz knapp) der schnellste Schreibmodus.

Pixel-Uploads scheinen leider auf PCI-Bandbreite begrenzt zu sein. Jedenfalls sehen die Zahlen so aus:
1)105,0MB/s = 26,3M BGRA-Pixel/s
2)103,3MB/s = 25,8M RGBA-Pixel/s
(KT266A)

Warum AGP-Transfers am PCI-Limit scheitern können, ist mir auch nicht ganz klar, Matt Craighead (c/o NV; OpenGL-Treiberguru) schreibt aber im Kontext der NV_pixel_data_range Extension dieses:
Klick mich (http://www.opengl.org/discussion_boards/ubb/Forum3/HTML/008155.html)<...>
In other words, malloc() will guarantee that you will never get faster than PCI readback speeds.

Demnach können auch NV-Karten dieses Limit nur durchbrechen, wenn das Ziel der Leseaktionen kein stinknormaler Systemspeicher ist, wie ihn 'normale' Applikationen nutzen (malloc eben). Für mehr Speed muß man mit Hilfe das Graka-Treibers AGP-Speicher oä anfordern.

Demirug
2002-12-13, 07:35:52
zeckensack, die Zahlen oben sind nicht von mir deswegen weis ich auch nicht genau wie die Messung durchgeführt wurde. AFAIK mit D3D und dort läuft ja im Bezug auf die benutzung von AGP-Speicher vieles automatisch ab.

zeckensack
2002-12-13, 08:20:51
Originally posted by Demirug
zeckensack, die Zahlen oben sind nicht von mir deswegen weis ich auch nicht genau wie die Messung durchgeführt wurde. AFAIK mit D3D und dort läuft ja im Bezug auf die benutzung von AGP-Speicher vieles automatisch ab. Jau :)
Also ich kenne das ja nur so vom Hörensagen (:D)), aber wenn mich nicht alles täuscht, dann belegt man den Speicher für 'Surfaces' unter D3D nicht selbst, sondern kriegt ihn von D3D/vom Treiber. Was dann auf das gleiche hinausläuft wie die Benutzung der Extension aus dem Thread den ich verlinkt habe.

Aaber NV scheint ATI in dem Bereich definitiv voraus zu sein. Die Leserate (glReadPixels) auf 'ner NV-Karte ist laut Tom Nuydens (Maintainer von delphi3d.net übrigens) ohne Extension 138MB/s (+/- Meßfehler die exakte PCI-Bandbreite auf sehr guten Chipsätzen). Das aber wohl auch erst seit dem 40.72er Deto. Ich gehe davon aus, daß da ein DMA-Transfer am Werk ist, und bei ATI nicht.

Mit der Extension steigt das ganze auf 745MB/s. Da frißt die ATI dann nur noch Staub ...

... ich warte schon lange auf einen brauchbaren Rückkanal.
Mindestens die 100MB/s hätte ich schon gern :idea:

*dev relations einschalt*

EDIT: Sinn des Postings vergessen. Und zwar: genaues über D3D weiß ich nicht, aber die Relationen unter GL sprechen eine deutliche Sprache und sollten IMO übertragbar sein.

Demirug
2002-12-13, 08:45:56
zeckensack, ja bei D3D wird die Entscheidung wo man die Speicher für etwas anlegt von D3D (der Treiber ist da wohl auch beteiligt) getroffen. Man gibt dem System aber Hinweise was man mit dem Speicher vorhat.

Bisher waren die Anwendungsgebiete für einen schnellen Rückkanal auch eher beschrängt. Da aber NV ja wohl in den Offline Render Bereich möchte müssen die Daten ja wieder zurück auf die Platte und dafür braucht man den Kanal. Da es ja scheinbar sogar noch mit den alten TNTs was bringt scheint der AGP-Kontroller auf allen NVIDIA Karten wohl recht ähnlich zu sein.

Was ATI angeht must du halt Druck machen und hoffen das es keine Hardwarelimitierung gibt.

(del676)
2002-12-13, 10:19:48
naja, 110MB/S Read bekomm ich auch so von meinem Raid Array (über die gesamten 480GB) :D

wegen Seti
ich will gar nix auslagern, man könnte ein normales Seti auf der CPU laufen lassen, und ein komplett eigenes Seti auf der GPU (auch wenns auf der z.b. 12 Stundne dauern würde) - immerhin 2 WUs pro Tag mehr :D

x-dragon
2002-12-13, 10:25:42
Originally posted by Ulukay
naja, 110MB/S Read bekomm ich auch so von meinem Raid Array (über die gesamten 480GB) :D

wegen Seti
ich will gar nix auslagern, man könnte ein normales Seti auf der CPU laufen lassen, und ein komplett eigenes Seti auf der GPU (auch wenns auf der z.b. 12 Stundne dauern würde) - immerhin 2 WUs pro Tag mehr :D Willst du jetzt ein normales 1-CPU-System in ein Multiprozessor-System umwandeln? Hört sich interessant an ... :).

Demirug
2002-12-13, 10:40:27
Das Problem mit Seti ist das niemand genau weis wie da gerechnet wird. Ein Programm welches WUs auf der Grafikkarte berechnet müsste also von den Seti-Leuten selbst kommen.

(del676)
2002-12-13, 11:05:27
Originally posted by Demirug
Das Problem mit Seti ist das niemand genau weis wie da gerechnet wird. Ein Programm welches WUs auf der Grafikkarte berechnet müsste also von den Seti-Leuten selbst kommen.

jap

ok es würde schon mal reichen wenn man irgend ein prog schreiben könnte das z.b. eine Primzahl berechnet, wenn das funzt - dann müssten sich die Seti Typen mal dran setzten und ihren Client ein bisschen umschreiben :D

noch besser wär ja wenn Windoof plötzlich eine 2. CPU erkennt *träum*

Dual CPU dank GF4 - is im Prinzip sicher nix schlechtes, auch wenn die 2. CPU ein 300Mhz GPU is :D

MeLLe
2002-12-13, 20:59:32
Stellt sich nur die Frage, ob Du dann auch noch was (und wenn ja, WAS?) am Monitor siehst, wenn GPU+VRAM für Non-Grafik-Anwendung benutzt werden ...

Mehrpack
2002-12-13, 22:38:37
hi,
naja bei 128 mb monster mal eben 70 mb für andere dinge nutzen sollte schon drin sein.
ausserdem solange die berechnungen nur die pixel und vertex-shader machen, welche ja im 2d sowieso nicht genutzt werden, sollte man das gewöhnliche bild sehn.

Mehrpack

betasilie
2002-12-14, 00:40:37
Mich wundert es das der Rückkanal von ATI so langsam ist. Vor dem Release des R300 hieß es ja, dass der R300 später auch für Videoschnitt/Videobearbeitung eigesetzt werden wird. Ein Rückkanal mit mäßigen Werten bremst da glaube ich ziemlich aus! ??? *grübel*

Unregistered
2002-12-16, 00:15:14
auf slashdot war mal ein artikel über ramdisk auf graka-ram, hat funktioniert, allerdings unter linux.
für "ramdisk" ists flott genug, schneller als eine disk ist es ja. für "ram-erweiterung" ists zu langsam.

betasilie
2002-12-16, 17:42:06
Originally posted by betareverse
Mich wundert es das der Rückkanal von ATI so langsam ist. Vor dem Release des R300 hieß es ja, dass der R300 später auch für Videoschnitt/Videobearbeitung eigesetzt werden wird. Ein Rückkanal mit mäßigen Werten bremst da glaube ich ziemlich aus! ??? *grübel*
Ist klar das ich die VS des R300 meine.

Unregistered
2002-12-17, 22:50:27
*in die Vergangenheit versetz*

Von Heise gibt es ein Ram Testprogramm, das aus dem Grafikkartenspeicher ausgeführt wird. Läuft unter Dos und funktioniert mit meiner Matrox Mystic