YouTube
Wo ist hier der Unterschied zu Hyperthreading?
Der Scheduler packt zusätzliche Tasks in Pausen, in denen die Shader Kerne nicht arbeiten.
Schön das du ein Marketing-Video gefunden hast. Nur im Gegenzug zur CPU wird bei Async Compute ein vollständiger, vom Programm und nicht von der Hardware ausgelöster, Kontext-Wechsel durchgeführt - für den AMD spezielle Caches verbaut hat um diesen Wechsle zu beschleunigen. Dieser Cache ermöglicht das relativ schnelle wechseln der Tasks, ist aber trozdem eine Vollständige unterbrechung des programmablaufes und wirkt noch immer gegen den Scheduler und damit nicht mal ansatzweise wie HT.
Dazu kommt das die Beschleunigung durch einen Cache kommt, der den Wechsel in 2 Stufen Aufteilt von denen nur der Cache schnell ist. Wiederholte Context-switch kosten dann trotzdem Leistung - auch nicht wie HT.
Das AMDs Scheduelr bei den GPUs bei weitem nicht die selbe Qualität hatte (hat sich mittlerweile deutlich gebessert) hat sich ja deutlich in der Auflösungsskallierung der alten AMD Karten gezeigt - die bei 1080p die CUs nicht auslasten konnte und erst bei 4K dann die Leistung zeigen konnten. Wen eine CU frei ist dann kostet der wechsel zu einem Compute-task 0, bei Nvidia wurden die Cuda-cores auch schon bei nierigeren Auflösungen voll ausgelastet.
Nur - was geschieht wenn man bereits 100% der Hardware nutzt jetzt dann aber so fort, ohne Kompromiss, etwas anderes machen will? ja - die bisherige Aufgabe wird unterbrochen und ein neuer Task muss geladen werden.
Das ist ja das "lustige" oder besser gesagt frustrierende an AMDs Werbematerial das du da zeigst: Es geht von der Situation aus das die Hardware nicht genutzt wird und das es mehrere Unabhängige Task gibt die zufälliger weise genau rechtzeitig ankommen.
Wäre natürlich der Idealfall für AC nur das findet man in der Realität nicht. AC wird nicht vom Scheduler gesteuert - der genau weis was gerade geschieht. es wird auch nicht vom Treiber gesteuert der zumindest grob weis was die Hardware macht und kann. Es ist rein Softwareseitig vom Spielentwickler. Es ist als wollte eine fremde Person auf einmal in ein gut eingeübtes Team eingreifen und "helfen" - das ist nur hinderlich außer das Team hatte gerade sowieso zeit.
Logic-Lession: Wenn etwas unterbrochen werden würde, dann wäre es nicht "async", sondern "sync" (neu sortiert ist immernoch sync, jede andere Definition wäre reichlich sinnlos).
Der Sinn der Technik ist ja gerade, dass nichts unterbrochen werden muss und man freie Ressourcen "nebenbei" nutzen kann. GCN kann das auch so. Nvidia halt... not so much.
zeigt nur das du von der Technologie keine Ahnung hast. Gratuliere zu nichts.
Du hast nichtmal die bedeutung des Wortes Synchron richtig hinbekommen.