Czy Karty graficzne mają własne zestawy instrukcji?

Czy Karty graficzne mają własne zestawy instrukcji? Zakładam, że tak, ale zastanawiałem się, czy jest zastrzeżony, czy istnieje jakiś otwarty standard.

Czy każda instrukcja GPU poprzedzona jest instrukcją procesora czy jest bezproblemowa? Oznacza to, że OpenGL lub DirectX wywołują warstwę sterownika za pośrednictwem PROCESORA, który następnie wysyła instrukcję GPU w dół magistrali lub jest bardziej rozbudowany.

Author: Jed Smith, 2009-11-08

6 answers

Tak. AMD zapewnia nawet specyfikację do serii HD4000 w tej chwili.

Spójrz tutaj: http://developer.amd.com/wordpress/media/2012/10/R700-Family_Instruction_Set_Architecture.pdf

Istnieje również projekt open source o nazwie Nouveau, który zajmuje się inżynierią odwrotną zestawów instrukcji NV.

Zauważ, że NVIDIA ma nieco inną architekturę niż AMD, ponieważ nie korzysta z VLIW, ale z wykonywania skalarnego (choć wiele wątki są dodatkowo pogrupowane w tzw. osnowę lub falę).

Również nie każde wywołanie OpenGL / Direct3D mapuje do "instrukcji GPU". Na przykład podczas wiązania tekstury sterownik ustawia tylko odpowiednie rejestry sprzętowe, które informują GPU, której pamięci tekstur użyć do próbkowania.

Rzeczywiste programy są uruchamiane tylko podczas wykonywania shaderów lub przetwarzania strumieni jądra na GPU.

 39
Author: Axel Gneiting,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-27 07:25:58

Tak, GPU ma własne odpowiednie zestawy instrukcji. Instrukcje GPU są wykonywane niezależnie od instrukcji procesora.

 7
Author: swegi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-08 20:38:42

Obecnie karty NVIDIA używają pewnego rodzaju pośredniego ISA o nazwie PTX. Możesz przeczytać o tym w tym dokumencie:

PTX ISA 1.1

Programy PTX są tłumaczone podczas instalacji na docelowy zestaw instrukcji sprzętowych.

 6
Author: Locke,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-09 16:39:45

AMD Graphics Core Next (GCN)

Https://en.wikipedia.org/wiki/Graphics_Core_Next

Pierwsza generacja nazywa się "Southern Islands".

Strona wiki odsyła do specyfikacji AMD dokumentujących ISA, np.: http://developer.amd.com/wordpress/media/2012/12/AMD_Southern_Islands_Instruction_Set_Architecture.pdf

Istnieje nawet otwarta implementacja RTL o nazwie MIAOW https://github.com/VerticalResearchGroup/miaow , chociaż prawdopodobnie narusza to niektóre IP, które AMD jedynie zdecydowało się tolerować w milczeniu na razie (źródło ).

SPIR-V

Https://en.wikipedia.org/wiki/Standard_Portable_Intermediate_Representation jest standardowym językiem pośrednim Krhonos.

Jest prawdopodobnie zaprojektowany tak, aby był podobny do istniejących GPU Isa, dzięki czemu będzie bardziej implementowalny i lepiej przyjęty, więc powinien dać dobre wyobrażenie o rzeczywistych Isa GPU.

I jeśli ten standard nie łapie się, jak się wydaje, ze względu na przyjęcie w Vulkan i OpenCL 2.1, przyszłe implementacje są prawdopodobnie zaprojektowane do wdrożenia jest ściśle mieć lepszą wydajność.

Jak uzyskać i zmodyfikować PTX

Jak tworzyć lub manipulować asemblerem GPU?

Related

Https://computergraphics.stackexchange.com/questions/7809/what-does-gpu-assembly-look-like

 4
Author: Ciro Santilli TRUMP BAN IS BAD,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-10-02 13:17:10
 3
Author: George HTz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-22 19:42:53

Zobacz: CUDA Programming Guide Version 3.0

Zdolność obliczeniowa urządzenia jest zdefiniowana przez duży numer wersji i mały numer rewizji.

Urządzenia z tym samym numerem wersji głównej mają tę samą architekturę rdzenia. Na duża liczba urządzeń bazujących na architekturze Fermi to 2. Wcześniejsze urządzenia są wszystkie możliwości obliczeniowe 1.x (ich główny numer rewizji to 1).

Liczba drobnych zmian odpowiada stopniowej poprawie rdzeń Architektura, ewentualnie z nowymi funkcjami.

Dodatek A zawiera listę wszystkich urządzeń obsługujących CUDA wraz z ich możliwościami obliczeniowymi. W dodatku G podano specyfikacje techniczne każdej możliwości obliczeniowej.

 2
Author: TI.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-24 01:33:50