Autor Beitrag
j.klugmann
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 12.01.10 13:27 
Zitat:
Darauf warte ich schon seit knapp 6 Jahren, dass sich in diese Richtung mal was tut. Bisher aber vergebens. Und meine Schätzung sieht so aus, dass das Thema auch wirklich nur für DX11+ Spiele interessant werden wird. Für die meisten anderen Fälle ist diese Technik zu speziell oder schlicht nicht sinnvoll. Ist also derzeit überhaupt kein Kriterium. Kann aber später durch ein Grafikkarten Update noch eingeschlossen werden.

Es tut sich schon eine lange Zeit in diese Richtung was.NVidia hat eine eigene API names 'CUDA' rausgebracht.CUDA lagert Berechnungen , die man normalerweise auf der CPU macht auf die GPU aus.Von ATI gab es auch mal was in der Richtung , aber das haben dir afaik aufgegeben.CUDA ist sehr nützlich , besonders im Bereich der Server hat das wohl großes Potenzial.So schnell konnte man noch nie verschlüsseln. ;)

MfG
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Di 12.01.10 13:38 
user profile iconj.klugmann hat folgendes geschrieben Zum zitierten Posting springen:
Von ATI gab es auch mal was in der Richtung , aber das haben dir afaik aufgegeben.

Nö, Stream gibts immer noch. Wobei das dank OpenCL wohl in naher Zukunft eh egal ist. Hofft man mal ;)

Was sowohl NVidia als auch ATI haben: Beschleunigung von h.246-Wiedergabe, teilweise auch vom Encoding. Das ganze formiert überwiegend noch unter DXVA, DirectX Video Acceleration.

1080p ohne PureVideoHD/AvivoHD//UVD gucken macht keinen Spaß. Und das tolle: beides können auch aktuelle Onboard-Chipsatzgrafiken ;)

Generell würde ich heute zu ATI raten. Die Hardware ist einfach besser... wenn man mal nen Funktionierenden Treiber findet. Das ist viel Trial&Error, aber danach gehts.
nVidia war mal toll(hier rennt auch noch eine GeForce), aber das ist Geschichte.

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Lossy eX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1048
Erhaltene Danke: 4



BeitragVerfasst: Di 12.01.10 14:12 
Wie Martok schon sagte. Für die Wiedergabe brauch es nicht viel und dazu reicht selbst ein simpler OnBoard Chip aus. Sofern er nicht gänzlich totgestutzt wurde. Zusätzlich dazu benötigt man dann auch noch einen passenden Player. Weiß nicht wie das bei vlc ist aber sonst dürften das nur Kostenpflichtige richtig unterstützen.

CUDA/Stream/GPGPU/OpenCL/DirectCompute sind Lösungen um etwas auf der Grafikkarte berechnen zu können ja. Das habe ich auch nicht in Frage gestellt. Sondern ich habe das aus Sicht des Endanwenders in Frage gestellt. Die Hardware ist seit ca 6 Jahren technisch dazu in der Lage. Und dieses Gerede mit auf der Grafikkarte Berechnungen durchführen lassen ist mindestens genau so alt. Allerdings für den Endanwender sinnvolle oder brauchbare Anwendungen gibt es keine bzw. wirklich nur sehr sehr wenige und sehr spezielle. Und selbst dann ist der Vorteil nicht so berauschend wie man das theoretisch immer vorgerechnet hat.

Zum Beispiel hat ATI/AMD in seinen Treibern auch direkt schon einen Videocodierer eingebaut mit dem man auf der Grafikkarte Videos kodieren kann. Aber dessen Qualität ist unterirdisch und anhand der Belastung der Karte kann man nicht sehen, dass die wirklich was tut. Außerdem sollze man Hardwarebeschleunigte Videowiedergabe und grafikkartengestütze Berechnungen auch nicht in einen Topf werfen. Für Videos gibt es meines Wissens nach eine kleine extra Einheit (war zu mindest mal früher so). Da will ich meine Hand aber auch nicht für ins Feuer legen. Wobei ich da die Wiedergabe auf einem dedizierten Gerät, einem entsprechenden Fernseher und einer passenden Soundanlage jederzeit vorziehe.

Nichts desto trotz sind die Berechnungen auf der Grafikkarte für die meisten Fälle wohl auch nicht praktikabel. Denn der Grafikprozessor ist ein Prozessor der eher nur sehr kleine Programme ausführt. Davon aber 300-500 gleichzeitig. Das heißt um die Grafikkarte sinnvoll nutzen zu können benötigt man Anwendungsfälle die extrem parallel ablaufen können. Und für alle anderen Fälle ist das ziemlich belanglos. Der Trend wird da sicher irgendwann hingehen. Aber nicht in den nächsten 2 Monaten. Und wenn dann wird das dank DirectCompute zu erst in DX11 Spielen genutzt werden können. der Aufwand wird da dann wohl auch so groß sein, dass man dafür einen zusätzlichen Thread lostreten könnte der auf der 4ten CPU läuft. Bestes Beispiel sind auch die PhysX Versuche für einen dedizierten Physik Prozessor.

_________________
Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Di 12.01.10 15:57 
user profile iconLossy eX hat folgendes geschrieben Zum zitierten Posting springen:
Zusätzlich dazu benötigt man dann auch noch einen passenden Player. Weiß nicht wie das bei vlc ist aber sonst dürften das nur Kostenpflichtige richtig unterstützen.

Geht mit Media Player Classic - Home Cinema recht gut. Siehe auch hier.

user profile iconLossy eX hat folgendes geschrieben Zum zitierten Posting springen:
Und selbst dann ist der Vorteil nicht so berauschend wie man das theoretisch immer vorgerechnet hat.

Och, 2 Kerne vom Dualcore auf je 40% ohne gegenüber <2% mit bei Videowiedergabe find ich schon bemerkbar ;)

Der Trick ist ja eben, dass man im Grunde alles, was man normalerweise mit SSE-Instruktionen macht, auch auf der Graka machen könne. Man nehme z.B. Filter in Grafikanwendungen oder viele Kompressionsalgorithmen, DCT macht sich auf Grafikkarten seeehr schnell ;)

user profile iconLossy eX hat folgendes geschrieben Zum zitierten Posting springen:
Zum Beispiel hat ATI/AMD in seinen Treibern auch direkt schon einen Videocodierer eingebaut mit dem man auf der Grafikkarte Videos kodieren kann. Aber dessen Qualität ist unterirdisch

Gut, da kann jetzt die Technologie nix dafür. Aber dass man den nicht so verwenden kann, sondern nur mit den wirklich grausamen Standardprofilen aus dem Assistenten raus ist wirklich eine Sauerei. Dass bei den defaultmäßig eingestellten IPod-Kleinstbildern mit 70% Qualität nix brauchbares rauskommt, ist klar.

user profile iconLossy eX hat folgendes geschrieben Zum zitierten Posting springen:
und anhand der Belastung der Karte kann man nicht sehen, dass die wirklich was tut.

Naja, wenn ein 200MB-Video innerhalb von Sekunden ohne CPU-Last auf ein Zehntel eingedampft wird, dann muss das ja irgendwo passiert sein...

user profile iconLossy eX hat folgendes geschrieben Zum zitierten Posting springen:
Außerdem sollze man Hardwarebeschleunigte Videowiedergabe und grafikkartengestütze Berechnungen auch nicht in einen Topf werfen.

NOCH nicht, ATI schrieb mal irgendwo, dass in der Zukunft nur noch die normalen Shaderpipelines und eine allgemein Programmierbare Einheit drauf sollen. Selbige soll dann dynamisch eben das Programm zum Video decodieren geladen kriegen. IIRC war doch das auch mal für CUDA geplant?
Ist allerdings schon ein paar Tage her, kann ich gar nicht sagen ob das noch aktuell ist.

user profile iconLossy eX hat folgendes geschrieben Zum zitierten Posting springen:
Denn der Grafikprozessor ist ein Prozessor der eher nur sehr kleine Programme ausführt. Davon aber 300-500 gleichzeitig.

Naja, eher ein paar hundert Fließkommaoperationen gleichzeitig. Eben Vektorarithmetik.
Programme können mittlerweile ganz schön groß sein.. müsstest du doch eigentlich wissen, Shaderprogramme sind ja auch nix anderes...

user profile iconLossy eX hat folgendes geschrieben Zum zitierten Posting springen:
Das heißt um die Grafikkarte sinnvoll nutzen zu können benötigt man Anwendungsfälle die extrem parallel ablaufen können.

Naja, Mergesort klappt trotzdem nicht. Und der skaliert massiv. Aber macht eben kaum Mathematik...

user profile iconLossy eX hat folgendes geschrieben Zum zitierten Posting springen:
Bestes Beispiel sind auch die PhysX Versuche für einen dedizierten Physik Prozessor.

Die NVidia seit dem Kauf von Ageia direkt mit in die GPU gießt.

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Lossy eX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1048
Erhaltene Danke: 4



BeitragVerfasst: Di 12.01.10 17:03 
Ich werde versuchen mich kurz zu fassen, denn a) geht das gerade in eine echt absurde Richtung und hat mit dem eigentlich Thema nicht mehr viel zu tun. Und b) reist du die Zitate von mir gerade vollkommen aus dem Zusammenhang und siehst sie in einem falschen Thema. Eigentlich hätte ich dazu jetzt nichts gesagt aber einige Sachen kann ich so nicht stehen lassen.

MPC: Das ist doch alles andere als benutzerfreundlich. Benutze selber MPC aber ohne da rumzufrickeln.

2 Kerne auf 40% gegenüber von 2%: Meine Aussage bezog sich auf Programm die damit geworben haben, dass sie Berechnungen auf der GPU durchführen. Die haben auch damit geworben fast doppelt so schnell zu sein wie blank auf der CPU. Das steht aber trotzdem noch weit hinter dem was immer wieder versprochen wird (überspitzt: Unendliche Geschwindigkeit und noch mehr).

Shader: Okay. Das sind Anhäufungen von Befehlen. Spezielle Befehle für eine spezielle PU. Sehr kleine Programmen sind aber auch nur Anhäufungen von Befehlen. Wollte es nicht zu technisch ausarten lassen. Aber wenn man unbedingt spalten will kann man das natürlich gerne sehen wie man will. Wie man es nennt ändert aber nichts an dem Prinzip, dass die GPU extrem parallelisiert arbeitet und sie genau daher die Geschwindigkeit bezieht. Und das läst sich nicht überall hin übertragen, sondern sind immer sehr spezielle Anwendungsfälle.

ATI Video Kodierung: Ob der so schnell ist wie du sagst kann ich nicht nachvollziehen. Was ich getestet hatte war deutlich langsamer und die GPU Last Anzeige lag überall bei 1-2%. Hatte auch Heise in einem Artikel geschrieben.

Dein Beispiel mit Mergesort und die Erwiederung zu PhysX passen mal überhaupt nicht zu dem wovon ich gesprochen habe. Aber hauptsache du weißt was du damit sagen willst. ;)

PS: Klar entwickeln sich die GPUs weiter. Dass sich CPUs und GPUs immer weiter annähern ist auch klar. Aber das wird nicht in den nächsten 2 Monaten oder Jahren passieren. Das ist ein schleichender Prozess. Und für einen normalen Desktop PC ist das aktuell überhaupt noch nicht von belang. Wenn dann ist das nett zu haben aber Kriterium nachdem man sich einen PC aussucht. Meine Meinung.

_________________
Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.
guinnes
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 182
Erhaltene Danke: 14



BeitragVerfasst: Di 12.01.10 17:07 
user profile iconLossy eX hat folgendes geschrieben Zum zitierten Posting springen:
ATI Video Kodierung: Ob der so schnell ist wie du sagst kann ich nicht nachvollziehen. Was ich getestet hatte war deutlich langsamer und die GPU Last Anzeige lag überall bei 1-2%. Hatte auch Heise in einem Artikel geschrieben.
Kommt aber auf die Software an, ob die die GPU überhaupt nutzt. Wenn ich eine Blue-Ray kucke, habe ich ca. 2 % CPU-Last ( AMD X2 mit 2200 MHz ) und eine GPU-Last von ca 25 % ( ATI Radeon 4670 )
Lossy eX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1048
Erhaltene Danke: 4



BeitragVerfasst: Di 12.01.10 17:51 
user profile iconguinnes hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconLossy eX hat folgendes geschrieben Zum zitierten Posting springen:
ATI Video Kodierung: Ob der so schnell ist wie du sagst kann ich nicht nachvollziehen. Was ich getestet hatte war deutlich langsamer und die GPU Last Anzeige lag überall bei 1-2%. Hatte auch Heise in einem Artikel geschrieben.
Kommt aber auf die Software an, ob die die GPU überhaupt nutzt. Wenn ich eine Blue-Ray kucke, habe ich ca. 2 % CPU-Last ( AMD X2 mit 2200 MHz ) und eine GPU-Last von ca 25 % ( ATI Radeon 4670 )

Da hast du recht. Das hatte ja Martok schon gesagt und habe ich auch nicht in Frage gestellt. Das ist aber nicht das worum es mir ging. Ich mache einen deutlichen Unterschied zwischen "Videos anschauen" und "irgendwelche Dinge berechnen". Frühere Karten wie die Radeon 9x00 (6 Jahre alt) hatten bereits eine spezielle Einheit auf der GPU die zum Beschleunigen der Videodekodierung gedacht war. (Weiß nicht ob es heute immernoch eine getrennte Einheit ist). Allerdings gab es dort Programmseitig kaum sinnvolle Unterstützung. Seit Blue-Ray hat sich das verändert. Das betrifft aber überwiegend auch nur das Abspielen von Videos. Das stellt aber selbst für halbwegs aktuelle Notebook chips kaum ein Problem dar. Bzw. dürften auch gelegentlich spezielisierte Player in den Wohnzimmern stehen.

Alles Andere wird nach wie eher stiefmütterlich behandelt. Was aufgrund der Architektur von GPUs aber auch nicht so einfach ist (Muss man der Fairnis auch sagen). Es gibt nur ziemlich wenige Anwendungen (außer Player) die von der GPU beschleunigt werden und bei denen hält sich der Geschwindigkeitsvorteil überall noch in Grenzen. Normale Desktopanwendungen können davon auch nur sehr schwer bis gar nicht profitieren.

_________________
Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Di 12.01.10 18:26 
Für den letzten Post gibts mal ein gesamt-ACK.

Hinsichtlich Player: kannst auch PowerDVD nehmen, aber den find ich noch schlimmer. Aber ich ersetz auch überall den WMP durch SMPlayer...

GIMP soll wohl "demnächst" die Grafikkarte nutzen. Mal sehen was draus wird.

Hatte das grad vorhin mal rausgesucht: was die richtig gut nutzt ist BarsWF, die Unterschiede sind wohl recht gewaltig. Stand mal in ner c't, kann ich mangels passender Graka nicht überprüfen.

Und mit dem Mergesort wollte ich eigentlich nur sagen, dass sich die Aufgabe nicht nur gut parallelisieren lassen muss (im Grunde eigentlich gar nicht), sondern nur dass möglichst viele parallele Berechnungen drin vorkommen müssen, die möglichst unabhängig von äußeren Faktoren sind. Die GPU macht ja nicht eine Art Multi-Threading, sondern ist eben ein Vektorrechner.

Durfte mich nur grade in die gesamte Geschichte und den aktuellen Stand davon einlesen, deswegen reite ich da jetzt drauf rum.
Ist aber hier gar nicht Thema, also Ende :mrgreen:

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Niko S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 566
Erhaltene Danke: 10

Win 7, Ubuntu
Lazarus, Turbo Delphi, Delphu 7 PE
BeitragVerfasst: Di 12.01.10 19:09 
zu Bars_SW, das ding scheint ganz schön übel zu sein.
Testcode: k38ahfs3
Zitat:

C:\Users\Kami\Desktop>barswf_cuda_x64.exe -h 48fbbd7b1c3f047ed9998df38019ca01 -c
0a -min_len 3

Das sind die Settings und raus kam folgendes...
Es dauert um alle 8 zeichencodes mit Zahlen und kleinbuchstaben durchzugucken knapp 6 Stunden.
Das geht wenn man bedenkt wieviel das sind.
Derzeit siehts so aus:
Zitat:

╔═══════════════════════════════════════════════════════════╗
║ BarsWF MD5 bruteforcer v0.8 ¨ 3.14.by/en/md5
║ by Svarychevski Michail 3.14.by/ru/md5
Ã───────────────────────────────────────────────────────────Â
║ GPU0: 102.52 MHash/sec CPU0: 14.87 MHash/sec ║
║ CPU1: 14.30 MHash/sec ║
║ ║
║ GPU*: 102.52 MHash/sec CPU*: 29.16 MHash/sec ║
Ã───────────────────────────────────────────────────────────Â
║ Key: 7404gvoc Avg.Total: 131.10 MHash/sec ║
║ Hash:48fbbd7b1c3f047ed9998df38019ca01 ║
║ Progress: 0.340% ETC 0 days 5 hours 57 min 24 sec ║
╚═══════════════════════════════════════════════════════════╝

Und das mit meiner gerade mal Geforce 8600 GT (von XFX die F4tal!ty version -> 256mb ram)

Sehen ganz ordentlich aus die werte hm?

naja BTT ->
Wenn man wirklich sachen Bruteforcen will, sollte man schon etwas tiefer in die Tasche greifen und aktuelle Grakas holen.
Boldar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1555
Erhaltene Danke: 70

Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
BeitragVerfasst: Di 12.01.10 19:27 
Sehen doch ganz ordentlich aus, die Werte, oder?
Cuda

@Topic:
Im Prinzip muss jeder selber wissen, ob er einen Quadcore braucht. Ich habe jetzt einen und bereue meine Entscheidung nicht, 4x4.5Ghz ist nunmal einfach Geil :wink: :D :D

Edit: Aber der Graka will ich das auch nicht immer zumuten, 130Mhz schneller zu takten. Da geht aber noch einiges mehr...
Einloggen, um Attachments anzusehen!