Nowa wersja Vulkan 1.3 została już wydana i to są jej nowości

Po dwóch latach pracy Khronos ogłosił wydanie nowej wersji specyfikacji Vulkan 1.3. Nowa specyfikacja zawiera poprawki i uzupełnienia nagromadzone przez dwa lata.

poza tym przedłożono plan wdrożenia wsparcia dla nowej specyfikacji oraz dodatkowe rozszerzenia w kartach graficznych i sterownikach urządzeń. Intel, AMD, ARM i NVIDIA przygotowują produkty kompatybilne z Vulkan 1.3.

Np. AMD ogłosiło, że wkrótce będzie dostępne wsparcie dla Vulkan 1.3 na serii kart graficznych AMD Radeon RX Vega, a także na wszystkich kartach opartych na architekturze AMD RDNA. NVIDIA przygotowuje się do wydania sterowników zgodnych z Vulkan 1.3 dla systemów Linux i Windows, a ARM doda obsługę Vulkan 1.3 do procesorów graficznych Mali.

Dla nieświadomych Vulkan, powinni wiedzieć, że to to API wyróżniające się kardynalnym uproszczeniem kontrolerów, usunięcie generowania poleceń GPU po stronie aplikacji, możliwość podłączenia warstw debugowania, ujednolicenie interfejsów API dla różnych platform oraz użycie prekompilowanego renderowania kodu pośredniego do wykonywania po stronie GPU.

Aby zapewnić wysoką wydajność i przewidywalność, Vulkan zapewnia aplikacjom bezpośrednią kontrolę nad operacjami GPU i wbudowaną obsługę wielowątkowości GPU., co minimalizuje obciążenie kontrolera i sprawia, że ​​funkcje po stronie kontrolera są znacznie prostsze i bardziej przewidywalne. Na przykład operacje takie jak zarządzanie pamięcią i obsługa błędów zaimplementowane w OpenGL po stronie sterownika są przenoszone do warstwy aplikacji w Vulkan.

Vulkan obejmuje wszystkie dostępne platformy i zapewnia pojedynczy interfejs API dla komputerów stacjonarnych, urządzeń mobilnych i sieci, umożliwiając korzystanie ze wspólnego interfejsu API w wielu procesorach graficznych i aplikacjach. Dzięki wielowarstwowej architekturze Vulkan do tworzenia narzędzi, które współpracują z dowolnym procesorem graficznym, producenci OEM mogą używać ogólnych narzędzi do przeglądania kodu, debugowania i profilowania podczas opracowywania.

Główne nowe funkcje Vulkan 1.3

W tej nowej wersji Vulkan 1.3, która jest prezentowana, podkreślono, żeZaktualizowano specyfikację SPIR-V 1.6 zdefiniować pośrednią reprezentację shaderów, która jest uniwersalna dla wszystkich platform i może być używany zarówno do obliczeń graficznych, jak i równoległych. SPIR-V obejmuje rozdzielenie oddzielnej fazy kompilacji modułu cieniującego na reprezentację pośrednią, umożliwiając tworzenie interfejsów dla różnych języków wysokiego poziomu. W oparciu o kilka implementacji wysokiego poziomu, pojedynczy kod pośredni jest generowany oddzielnie, który może być używany przez sterowniki OpenGL, Vulkan i OpenCL bez użycia wbudowanego kompilatora modułu cieniującego.

Kolejną wyróżniającą się zmianą jest to, że se proponuje koncepcję profili kompatybilności. Google jako pierwszy opracował podstawowy profil na platformę Android co ułatwi określenie poziomu obsługi zaawansowanych funkcji Vulkan na urządzeniu wykraczającym poza specyfikację Vulkan 1.0. W przypadku większości urządzeń obsługa profili może być zapewniona bez instalowania aktualizacji OTA.

Plik wdrożona obsługa uproszczonych przejść renderowania (Udoskonalanie przebiegów renderowania , VK_KHR_dynamic_rendering), które umożliwiają rozpoczęcie renderowania bez tworzenia przebiegów renderowania i obiektów bufora ramki.

Ponadto dodano nowe rozszerzenia ułatwiające zarządzanie kompilacją potoku wykresu:

  • VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2 – dodaje dodatkowe stany dynamiczne, aby zmniejszyć liczbę skompilowanych i dołączonych obiektów stanu.
  • VK_EXT_pipeline_creation_cache_control : Zapewnia rozszerzoną kontrolę nad tym, kiedy i jak budować potoki.
  • VK_EXT_pipeline_creation_feedback : zawiera informacje o skompilowanych potokach w celu ułatwienia profilowania i debugowania.

Z drugiej strony wyróżniono również kilka funkcji, które zostały przeniesione z opcjonalnych do obowiązkowych. Na przykład jest teraz obowiązkowe zaimplementowanie odwołań do buforów (VK_KHR_buffer_device_address) i modelu pamięci Vulkan, który definiuje, w jaki sposób równoległe wątki mogą uzyskiwać dostęp do współdzielonych danych i operacji synchronizacji.

poza tym zapewniona jest szczegółowa kontrola podgrupy (VK_EXT_subgroup_size_control), gdzie dostawcy mogą obsługiwać wiele rozmiarów podgrup, a programiści mogą wybrać dowolny rozmiar.

Dostarczono rozszerzenie VK_KHR_shader_integer_dot_product oferuje nasz konfigurator może być używany do optymalizacji wydajności frameworków uczenia maszynowego poprzez operacje produktów punktowych z akceleracją sprzętową.

Na koniec należy zauważyć, że wymagania specyfikacji Vulkan 1.3 są przeznaczone dla sprzętu graficznego klasy OpenGL ES 3.1, co zapewni obsługę nowego graficznego API na wszystkich procesorach graficznych obsługujących Vulkan 1.2.

Zestaw narzędzi Vulkan SDK ma zostać wydany w połowie lutego. Oprócz podstawowej specyfikacji, w ramach Vulkan Milestone Edition mają być obsługiwane dodatkowe rozszerzenia dla średniej i wysokiej klasy komputerów stacjonarnych i urządzeń mobilnych.

Wreszcie, jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami w następujący link.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.