Microsoft Shader Model 6.10 та AgilitySDK 720: нові DX12-можливості для нейронного рендерингу вже тут

Microsoft Shader Model 6.10 та AgilitySDK 720: нові DX12-можливості для нейронного рендерингу вже тут 1

Microsoft випустила оновлення Shader Model 6.10 та AgilitySDK 1.720 у попередньому доступі, розширюючи можливості DX12 API новими функціями.

Microsoft DX12 Linear Algebra “Matrix” APIs, Group Wave Index, Raytracing Intrinsics та інше у попередньому релізі Shader Model 6.10 та AgilitySDK 720

Сьогоднішнім запуском розширюється попередній випуск Shader Model 6.9, DXR 1.2 та інших покращень, які були частиною AgilitySDK 1.619. З виходом попередньої версії AgilitySDK 1.720 до DX12 API додаються Shader Model 6.10 та кілька інших функцій, перелічених нижче:

  • Shader Model 6.10 (через DXC 1.10.2605.2):
    • linalg::Matrix
    • Group Wave Index
    • Variable Group Shared Memory
    • Raytracing intrinsics
      • TriangleObjectPositions
      • ClusterID

linalg::Matrix

Shader Model 6.10 представляє набір Matrix API, що охоплюють широкий спектр випадків використання. Вся ця функціональність називається LinAlg (скорочено від Linear Algebra). Завдяки цій новині Microsoft дозволяє розробникам ефективно використовувати техніки нейронного рендерингу безпосередньо з окремих шейдерних потоків у конвеєрах реального часу, а також використовувати матричні MMA операції з вищою пропускною здатністю для додатків машинного навчання та обробки зображень, все це в межах одного уніфікованого API.

Microsoft Shader Model 6.10 та AgilitySDK 720: нові DX12-можливості для нейронного рендерингу вже тут 2

Group Wave Index

Shader Model 6.10 вводить дві нові вбудовані функції, GetGroupWaveIndex() та GetGroupWaveCount(), які надають compute, mesh, amplification та node шейдерам прямий доступ до структури хвильового рівня в межах групи потоків. GetGroupWaveIndex() повертає індекс поточної хвилі (від 0 до N-1), а GetGroupWaveCount() повертає загальну кількість хвиль, що виконуються в групі. Це дозволяє спеціалізувати та координувати роботу на рівні хвилі без використання ненадійних обхідних шляхів, таких як ділення SV_GroupIndex на WaveGetLaneCount(), що не гарантує коректність на будь-якому обладнанні. Єдиний шлях коду тепер портативно працює на всіх розмірах хвиль.

Variable Group Shared Memory

Shader Model 6.10 знімає давнє обмеження у 32 КБ (28 КБ для mesh шейдерів) для спільної пам’яті групи (groupshared memory), надаючи доступ до фактичного апаратного ліміту через новий запит у реальному часі — MaxGroupSharedMemoryPerGroup. Автори шейдерів можуть використовувати новий атрибут точки входу [GroupSharedLimit(<bytes>)] для декларування максимального обсягу спільної пам’яті, необхідного їхньому шейдеру, що забезпечує компілятору перевірку портативності на етапі компіляції, зберігаючи при цьому доступ до повної потужності сучасних GPU. Шейдери, які не вказують атрибут, продовжують валідуватися за застарілими лімітами, тому наявний код не зазнає впливу. Це відкриває можливості для таких алгоритмів, як велика тайлова фільтрація, батчі програмної растеризації та робота з великими матрицями, які раніше обмежувалися специфікацією, а не апаратним забезпеченням.

Функції D3D12:

Batched Asynchronous Command List APIs

Застарілі команди D3D12, такі як CopyBufferRegion, ClearUnorderedAccessViewFloat/Uint, ResolveSubresource та подібні, виконуються строго послідовно, оскільки стара модель ResourceBarrier не мала способу виразити залежність між двома операціями одного типу (наприклад, копіювання до копіювання). Це призводить до зупинки GPU між кожним послідовним копіюванням або очищенням, навіть коли операції стосуються повністю незалежних ділянок пам’яті. Функція Batched Async Commands вирішує цю проблему, вводячи нові методи списку команд, які усувають неявний контракт серіалізації, дозволяючи драйверу та апаратному забезпеченню перекривати незалежну роботу в межах одного виклику батчу. Розробники вмикають явну синхронізацію за допомогою вдосконалених бар’єрів лише там, де існують справжні небезпеки даних — наприклад, коли два копіювання записують у зони, що перекриваються, одного буфера — а все інше виконується паралельно.

Усі основні виробники обладнання, включаючи NVIDIA, AMD та Intel, надають підтримку цих нових попередніх релізів:

IHV Driver Link(s)
AMD AMD Software: AgilitySDK Developer Preview Edition 25.30.41.02
Intel Intel Arc Graphics – Windows
NVIDIA Зверніться до свого представника з розробників для доступу до драйверів, що розробляються.

Щодо підтримки обладнання, NVIDIA підтримує більшість функцій на всьому своєму стеку GPU RTX, тоді як AMD та Intel обмежують підтримку певних функцій останнім обладнанням, таким як Arc B-Series та RDNA 4 (Radeon RX 9000). Group Wave Index наразі підтримується як на GPU RX 7000 (RDNA 3), так і на RX 9000 (RDNA 4), тоді як для NVIDIA планується випуск у майбутньому. Intel також додасть підтримку нового Linear Algebra API у майбутньому випуску.

AMD Intel NVIDIA
linAlg::Matrix Підтримується на графічних продуктах AMD Radeon RX 9000 серії. Планується для майбутнього випуску. Підтримується на всьому обладнанні RTX.
Group Wave Index Підтримується на графічних продуктах AMD Radeon RX 7000 та 9000 серії. Підтримується на Intel Arc B-Series Graphics. Планується для майбутнього випуску.
Variable Group Shared Memory Підтримується на графічних продуктах AMD Radeon RX 7000 та 9000 серії. Підтримує лише стандартний розмір ліміту пам’яті. Більші ліміти пам’яті плануються для майбутніх випусків драйверів. Підтримується на Intel Arc B-Series Graphics. Підтримується на всьому обладнанні RTX. Значення відрізняються залежно від обладнання.
Raytracing intrinsics: TriangleObjectPositions/ClusterID Підтримується на графічних продуктах AMD Radeon RX 7000 та 9000 серії. Підтримується на Intel Arc B-Series Graphics. Підтримується на всьому обладнанні RTX.
Batched Asynchronous Command List APIs Підтримується на графічних продуктах AMD Radeon RX 7000 та 9000 серії. Підтримується на Intel Arc B-Series Graphics. Підтримується на всьому обладнанні RTX.

Microsoft Shader Model 6.10 та AgilitySDK 720: нові DX12-можливості для нейронного рендерингу вже тут 3

Про автора: Інженер-програміст за освітою та ентузіаст ПК за покликанням, Хассан Муджтаба є головним редактором розділу апаратного забезпечення Wccftech. Маючи багаторічний досвід у галузі, він спеціалізується на глибокому технічному аналізі процесорних та графічних архітектур нового покоління, материнських плат та систем охолодження. Його робота включає не лише актуальні новини про майбутні технології, але й ґрунтовні огляди та тестування.

Слідкуйте за Wccftech на Google, щоб отримувати більше новин у своїх стрічках.

Deal of the Day

Microsoft Shader Model 6.10 та AgilitySDK 720: нові DX12-можливості для нейронного рендерингу вже тут 4Microsoft Shader Model 6.10 та AgilitySDK 720: нові DX12-можливості для нейронного рендерингу вже тут 5

Further Reading

Microsoft Shader Model 6.10 та AgilitySDK 720: нові DX12-можливості для нейронного рендерингу вже тут 6

Цей повністю рей-маршований DX12 GPU бенчмарк знищить вашу RTX 5090 навіть при 480p: базується виключно на FP32 обчисленнях, і ви можете його спробувати

Hassan MujtabaMicrosoft Shader Model 6.10 та AgilitySDK 720: нові DX12-можливості для нейронного рендерингу вже тут 7

AMD FSR Redstone SDK доступний для завантаження, також доступний плагін Unreal Engine “Redstone”, натяки на функції FSR наступного покоління

Hassan MujtabaMicrosoft Shader Model 6.10 та AgilitySDK 720: нові DX12-можливості для нейронного рендерингу вже тут 8

Китайський виробник GPU, Innosilicon, представляє Fantasy 3 GPU з величезним обсягом VRAM 112 ГБ, підтримкою DX12, CUDA та апаратного трасування променів

Hassan MujtabaMicrosoft Shader Model 6.10 та AgilitySDK 720: нові DX12-можливості для нейронного рендерингу вже тут 9

Дивіться презентацію GPU AMD Radeon RX 9000 “RDNA 4” наживо — RX 9070 XT та RX 9070 з FSR 4 для геймерів

Hassan Mujtaba

Чи варто купувати? (Порада ІТ-Блогу): Ці оновлення DX12 API, хоч і знаходяться в попередньому доступі, є величезним кроком для розробників, особливо тих, хто працює з машинним навчанням та оптимізацією продуктивності. Для ентузіастів це означає потенційно кращу продуктивність та нові можливості рендерингу у майбутніх іграх та додатках. Хоча пряма купівля “цієї технології” неможлива, оновлення драйверів та підтримка нового обладнання від AMD, Intel та NVIDIA свідчать про майбутній розвиток, який, ймовірно, буде добре інтегрований у нові відеокарти. Тому, якщо ви плануєте оновлення апаратного забезпечення, зверніть увагу на моделі, що підтримують ці нові функції, адже вони обіцяють значне покращення.

Подробиці можна знайти на сайті: wccftech.com

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *