Mit dem Aufstieg der unteren Grafik-APIs wie DirectX 12, Mantle und Vulkan, frage ich mich, wie diese (wenn überhaupt) mit einer heterogenen Systemarchitektur (HSA) interagieren?DirectX 12/Mantle/Vulkan und HSA
Wie ich es verstehe, erforderte die Unterstützung von HSA einige Entwicklerbeteiligung, aber ich bin neugierig, ob irgendwelche der Low-Level-Grafik-APIs jetzt selbst damit umgehen, oder ob die Last auf dem Entwickler bleibt, ihn voll auszunutzen?
HSA ist besonders interessant für Funktionen wie die vereinfachte gemeinsame Nutzung von Daten zwischen Systemspeicher und Grafikspeicher, insbesondere wenn diese den gleichen physischen Arbeitsspeicher verwenden.
Da diese Frage wahrscheinlich spezifisch für den aktuellen Stand der Dinge ist, bin ich gut mit dieser Art von Überblick (obwohl Informationen über zukünftige Roadmaps wäre nett), und ich werde eine Antwort akzeptieren, die nur eine einzige Grafik-API umfasst (da ich viele bezweifle, wenn überhaupt, sind die Leute mit allen drei plus HSA vertraut). Auch wenn ich völlig missverstanden habe, wie es funktioniert, dann kannst du das auch darauf hinweisen; Ich bin mit beiden Technologien nicht besonders vertraut, würde aber gerne wissen, wie sie derzeit interagieren.
Große Antwort, aber wie denken Sie, dass dies für andere Funktionen von HSA gilt, wie in der Lage, den gleichen Speicher zwischen einer CPU und einer iGPU zu teilen? Kann DirectX 12 etc. dasselbe tun, ohne Dinge kopieren zu müssen, die bereits im Hauptspeicher (auf der CPU-Seite) geladen sind? – Haravikk
@Haravikk hängt davon ab, wie die Hardware ausgelegt ist, integrierte GPUs verfügen oft nicht über dedizierten Speicher, so dass sie den physischen RAM verwenden. Und das kann wie von der CPU zugegriffen werden. Caching bedeutet zwar, dass die Zugriffe synchronisiert und überwacht werden müssen. –