Archiv verlassen und diese Seite im Standarddesign anzeigen : AMD Boltzmann Initiative
Nakai
2015-11-16, 17:17:52
http://semiaccurate.com/2015/11/16/amd-presses-the-reset-button-in-hpc/
https://community.amd.com/community/amd-business/blog/2015/11/16/a-defining-moment-for-heterogeneous-computing
http://www.anandtech.com/show/9792/amd-sc15-boltzmann-initiative-announced-c-and-cuda-compilers-for-amd-gpus
Was hat AMD hierbei getan:
- Portierung von CUDA auf C++ Programmiermodell mittels Heterogeneous-compute Interface for Portability (HIP).
- Der generierte Code kann mit Nvidias NVCC oder AMDs HCC auf die jeweilige Architektur kompiliert werden.
- OpenMP4.0-Support sowie Support für neue ISO C++ Standards (11/14/17), auch mittels STL.
- Entwicklung in C++ und nicht mehr mit OpenCL oder CUDA notwendig.
- Headless Linux
Was wird es für Auswirkungen haben?
- Einfacher Wechsel von CUDA auf offenen Standard für eine Vielzahl von Geräten möglich.
- keine Einschränkung mehr auf CUDA
- einfachere Entwicklung mit nur noch einer API anstatt OpenCL, CUDA oder anderer HLSL
Ich bin davon schon sehr begeistert, da es womöglich die Dominanz von CUDA entgültig brechen würde. Ebenso werden damit verschiedene Hardware und Systeme auf einer offenen Basis endlich vergleichbar. Im Endeffekt unterstützt man offene Standards, welche die IHVs mit ihren eigenen Compilers auf die jeweilige zugrundeliegende GPU-Architektur bringen können.
PDF:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0069r0.pdf
HarryHirsch
2015-11-16, 18:11:39
wie sieht es mit der performance aus? gibt es da schon vergleiche?
Kartenlehrling
2015-11-16, 18:39:59
Ich denke mal das soll nur die Ausrede der Firmen entgegenwirken:"..., wir können keine AMD Hardware verbauen, unsere alte Software ist voll auf Cuda ausgelegt."
Witzig finde ich in diesem Zusammenhang die Geschichte mit dem Win3.1 (http://winfuture.de/news,89825.html)
Nakai
2015-11-17, 18:34:37
https://forum.beyond3d.com/posts/1881945/
HCC Open Alpha. So wie es aussieht.:)
sloth9
2015-11-19, 01:42:54
Ich denke, es wird sich direkt nach Mantle u. TrueAudio einreihen.
AMD hat einfach keine Relevanz.
3dnow, anyone?
Ganon
2015-11-19, 09:22:15
Naja, irgendwas muss AMD ja tun, um in dem Bereich irgendwie CUDA anzugreifen. Und direkt mal eben ermöglichen, dass man einfach seine CUDA-Programme compilieren bzw. leicht portieren kann, ist da schon ein guter Anfang.
Da die Khronos Group ja mit SPIR-V ja sowas wie eine ISA für GPUs geschaffen hat, wird sich das mit dem GPGPU APIs eh verwässern.
Genau, Mantle ist so irrelevant, dass es nicht nur nVidia zu den bekannten DX11-Overhead-Optimierungen genötigt hat, sondern die 3D-API-Welt von "möglichst abstrahiert" in Richtung "möglichst direkte Kontrolle" gedreht hat.
So oder so: "Boltzmann" ist ja keine einzelne AMD Technologie in dem Sinn von TrueAudio (wobei: Tensilica, nicht AMD) oder Mantle, sondern ein Set an Tools, das es HPC-lern erleichtert, von CUDA auf etwas allgemein Benutzbares umzusteigen. Dass beim HCC auch ein weiterer vom Compiler verstandener C++ Dialekt namens hc mit dabei ist, ist eigentlich der weniger interessante Teil der Geschichte. Spannender für mich ist, dass OpenMP, C++ AMP und Teile Parallel STL und C++17 mit dabei sind und CPU und GPU-Code vom selben Compiler generiert wird. Auch hier rechne ich eher damit, dass die Initiative die Verwendung dieser Features in bestehenden etablierten Compilern kickstarten wird, als dass HCC selbst ein häufig verwendeter Compiler wird.
sloth9
2015-11-19, 13:17:45
Genau, Mantle ist so irrelevant, dass es nicht nur nVidia zu den bekannten DX11-Overhead-Optimierungen genötigt hat, sondern die 3D-API-Welt von "möglichst abstrahiert" in Richtung "möglichst direkte Kontrolle" gedreht hat.
So oder so: "Boltzmann" ist ja keine einzelne AMD Technologie in dem Sinn von TrueAudio (wobei: Tensilica, nicht AMD) oder Mantle, sondern ein Set an Tools, das es HPC-lern erleichtert, von CUDA auf etwas allgemein Benutzbares umzusteigen. Dass beim HCC auch ein weiterer vom Compiler verstandener C++ Dialekt namens hc mit dabei ist, ist eigentlich der weniger interessante Teil der Geschichte. Spannender für mich ist, dass OpenMP, C++ AMP und Teile Parallel STL und C++17 mit dabei sind und CPU und GPU-Code vom selben Compiler generiert wird. Auch hier rechne ich eher damit, dass die Initiative die Verwendung dieser Features in bestehenden etablierten Compilern kickstarten wird, als dass HCC selbst ein häufig verwendeter Compiler wird.
Frage ist nur, wer sich diese Mühe macht.
Nakai
2015-11-19, 13:24:35
Mit OpenMP4.0 und C++17 ist das ja sogar sehr nett. Man hat alles in einem Code-Block und nicht mehr aufgeteilt in extra Code-Blöcke (Cuda, OpenCL). Das ist sehr angenehm und deutlich handlicher. Und natürlich muss man auf die jeweilige Architektur optimieren.
Ganon
2015-11-19, 13:51:32
Vom Vorteil ist das hauptsächlich ja nur, wenn man so Sachen wie HSA hat, wo man der GPU nicht groß was schicken muss, sondern einfach sagen kann: Hier rechne mal das Array da durch.
Für externe Beschleuniger wird man sicherlich etwas mehr Intelligenz in die Datenbewegungen stecken müssen, was dann mittels OpenMP und Co. etwas komplizierter wird.
Skysnake
2015-11-20, 00:21:19
Mit OpenMP4.0 und C++17 ist das ja sogar sehr nett. Man hat alles in einem Code-Block und nicht mehr aufgeteilt in extra Code-Blöcke (Cuda, OpenCL). Das ist sehr angenehm und deutlich handlicher. Und natürlich muss man auf die jeweilige Architektur optimieren.
Wobei das an sich eher mehr auf Parametertuning raus laufen sollte, wenn man sich mal am Anfang vernünftig hinsetzt und einen gescheiten Algorithmus hat.... Die Betonung liegt auf WENN. Die Verfahren für die Optimierungen sind ja an sich in vielen Bereichen recht ähnlich, und selbst das CPUs=berechnete Daten lieber wiederverwenden und GPUs=berechnete Daten lieber nochmals berechnen als speichern, gilt wohl auch nicht mehr so wirklich....
Vom Vorteil ist das hauptsächlich ja nur, wenn man so Sachen wie HSA hat, wo man der GPU nicht groß was schicken muss, sondern einfach sagen kann: Hier rechne mal das Array da durch.
Für externe Beschleuniger wird man sicherlich etwas mehr Intelligenz in die Datenbewegungen stecken müssen, was dann mittels OpenMP und Co. etwas komplizierter wird.
Bei externen Beschleunigern sind die Anforderungen bezüglich Datenreuse und Latenz verstecken halt höher, aber am Prinzip ändert sich jetzt auch nicht sooo viel.
Aber ja, das mit HSA ist schon richtig, und wer hat HSA? ;)
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.