Новий open-source проєкт CUDA-for-AMD-Windows, створений розробником Speedstu, дає змогу власникам відеокарт AMD запускати частину програм, які раніше працювали лише в екосистемі NVIDIA CUDA. Про це повідомили у ITHome.
CUDA (Compute Unified Device Architecture) від NVIDIA – це платформа для паралельних обчислень, що включає компілятори, середовища виконання, інструменти для налагодження та аналізу продуктивності, а також оптимізовані бібліотеки для GPU-прискорення. Завдяки глибокій інтеграції з апаратним забезпеченням NVIDIA та широкій підтримці розробників, CUDA вважається ключовим «захисним ровом» компанії на ринку GPU-обчислень.
Проєкт CUDA-for-AMD-Windows реалізований як автоматизований скрипт на PowerShell, який у поєднанні з перекладачем ZLUDA та нативними бібліотеками AMD ROCm/HIP створює «перекладацький шар» у Windows. Цей шар дає змогу програмам, що вимагають CUDA, взаємодіяти з відеокартами AMD. Скрипт автоматично визначає архітектуру GPU, завантажує потрібну версію ZLUDA (v6-preview.69) і транслює виклики CUDA до відповідних математичних бібліотек AMD ROCm, встановлених у системі.
Розробникам вдалося перехопити CUDA Driver API, а також компоненти cuBLAS, cuSPARSE та cuFFT і зіставити їх з аналогічними бібліотеками AMD. Це дозволило запускати окремі програми, створені виключно для CUDA, на відеокартах AMD під керуванням Windows. Як демонстрацію можливостей, на відеокарті AMD Radeon RX 9060 XT було проведено тренування 2,2-мільйонної моделі глибокого навчання PPO (Proximal Policy Optimization) з використанням немодифікованих CUDA-бібліотек.
Під час тестування Radeon RX 9060 XT порівнювали два варіанти: стандартний шлях (офіційний ZLUDA та AMD HIP SDK 6.4) і відновлений кастомний шлях зі старішими компонентами ZLUDA. За загальною пропускною здатністю (SPS, Steps Per Second) середнє значення становило 13172,49 SPS для стандартного шляху проти 12649,83 SPS для кастомного, що означає зниження на 3,97%. Медіанна пропускна здатність зменшилася з 13278,46 до 12875,80 SPS, тобто на 3,03%.
За швидкістю обробки даних (SPS) медіана збору даних становила 63306,00 SPS для стандартного варіанту та 59360,67 SPS для кастомного (мінус 6,23%), тоді як медіана споживання даних знизилася з 16806,36 до 16445,66 SPS (мінус 2,15%). Час висновку (медіана) зріс з 0,5863 до 0,6293 секунди (плюс 7,33%), а час навчання PPO – з 3,2076 до 3,2958 секунди (плюс 2,75%.
Попри деяке падіння продуктивності, кастомний шлях демонструє працездатність CUDA-залежних програм на відеокартах AMD. Автори проєкту вважають, що подальші оптимізації можуть помітно покращити ці показники та розширити можливості використання програм для глибокого навчання й інших GPU-інтенсивних завдань на апаратному забезпеченні різних виробників.
Джерело: Expert
