ProIT: медіа для профі в IT
2 хв

NVIDIA додала повноцінну підтримку Python у CUDA

author avatar ProIT NEWS

У 2024 році Python офіційно став найпопулярнішою мовою програмування у світі, обійшовши JavaScript, згідно з опитуванням GitHub про відкриті проєкти. Втім, протягом багатьох років у CUDA — інструментарію NVIDIA для розроблення GPU-прискорених програм — не було повноцінної підтримки Python.

Як повідомляє The New Stack, NVIDIA оголосила про нативну підтримку Python у стеку CUDA. Розробники тепер можуть писати та запускати високорівневі обчислення на GPU без потреби у C або C++.

«Ми довго працювали над тим, щоб повноцінна підтримка прискореного Python з’явилася у стеку CUDA», — заявив архітектор CUDA Стівен Джонс під час презентації.

Програмування GPU без C++: що змінюється

Для програмістів це означає радикальні зміни. Історично CUDA вимагала знання C/C++, але тепер можна використовувати «чистий» Python зі знайомим інтерфейсом функцій і бібліотек.

«Python для CUDA не має виглядати як C. Він має виглядати як Python», — наголосив Джонс.

Що нового в Python-стеку CUDA

До цього моменту Python-розробники мали лише обмежені засоби взаємодії з CUDA. Тепер компанія реалізувала повну нативну підтримку на всіх рівнях:

1. cuPyNumeric — бібліотека, яка повністю замінює NumPy і працює на GPU після простої зміни імпорту.

2. CUDA Core — реорганізована у стилі Python версія середовища виконання CUDA з підтримкою JIT-компіляції.

3. NVMath Python — універсальна бібліотека з єдиним інтерфейсом для викликів з CPU та GPU, яка інтегрується з оптимізованим C++ кодом.

4. Інструменти профілювання й аналізу коду — нові утиліти для дебагу та оптимізації.

Вся архітектура збудована так, щоб не виходити за межі Python — без командного рядка, зовнішніх компіляторів чи додаткових залежностей.

Новий програмний рівень: CuTile

CUDA розподіляє завдання на тисячі потоків. Проте нова модель CuTile дає можливість працювати не на рівні потоків, а на рівні тайлів (tiles) — менших обчислювальних блоків. Це наближує модель до мислення Python-розробників, які працюють із масивами, а не потоками.

CuTile дає змогу легко картографувати вектори, тензори або масиви на GPU, залишаючи високу продуктивність.

«Компілятор часто робить це краще, ніж я міг би вручну, адже він глибше розуміє, як працює GPU», — пояснив Джонс.

Чому це важливо для NVIDIA та ринку

Згідно з даними The Futurum Group, кількість користувачів CUDA зросла з 2 мільйонів у 2020 році до 4 мільйонів  у 2023-му, але Python-спільнота — в рази більша. Адаптація під Python дасть можливість NVIDIA охопити мільйони нових розробників, зокрема в Індії, Бразилії та інших країнах, де Python домінує в навчанні й Open source.

Підтримка Python також робить екосистему NVIDIA готовою до масштабування в нових регіонах, де зростають GPU-інфраструктури, зокрема в телекомі. NVIDIA працює і над підтримкою інших мов, зокрема Rust і Julia.

Раніше ми повідомляли, що NVIDIA припиняє підтримку CUDA для старих архітектур.

Читайте також на ProIT: у Python з’явився єдиний формат lock-файлів: що передбачає PEP 751.

Підписуйтеся на ProIT у Telegram, щоб не пропустити жодної публікації!

Приєднатися до company logo
Продовжуючи, ти погоджуєшся з умовами Публічної оферти та Політикою конфіденційності.