cuda-core 1.0 — пишем CUDA-ядра на Python без C++ (ну почти)
ha7y 41 минуту назад cuda-core 1.0 — пишем CUDA-ядра на Python без C++ (ну почти) Сложный 7 мин 1.4K Машинное обучение * Обзор 11 мая 2026 года NVIDIA выпустила cuda-core v1.0.0 — первый стабильный релиз библиотеки,...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. ha7y 41 минуту назад cuda-core 1. 0 — пишем CUDA-ядра на Python без C++ (ну почти) Сложный 7 мин 1. 4K Машинное обучение * Обзор 11 мая 2026 года NVIDIA выпустила cuda-core v1.
0 — первый стабильный релиз библиотеки, которая даёт Python-разработчикам прямой доступ к CUDA Runtime без тяжелых C++ обвязок. Мы взяли 3 видеокарты (4090, 3090, A100 80Gb) и протестировали работу библиотеки на каждой. cuda-core — это Pythonic-обёртка над CUDA Runtime.
Технические детали
Она закрывает ту нишу, которую раньше занимали pycuda или ручные вызовы через ctypes (компиляция ядер прямо из Python, управление памятью на GPU, запуск ядер без C++ расширений). 0 фиксирует публичный API — теперь можно применять библиотеку в продакшн-зависимостях. В экосистеме CUDA Python два слоя:СлойПакетЧто делаетНизкийcuda-bindings1:1 маппинг C-API (cudaMemcpy и пр.
)Высокийcuda-corePythonic API: Device, Stream, Program, BufferДля кого полезно:Исследователи, прототипирующие нестандартные операции для обучения моделейИнференс-инженеры, оптимизирующие горячие пути под конкретное железоАвторы ML-библиотек, которым нужен GPU-доступ без C++ build systemЧто нового в v1. 0Кэш компиляции ядерКомпиляция CUDA-ядра через NVRTC занимает 10–50 мс. При каждом старте приложения это складывается в секунды.
0 добавляет два класса:InMemoryProgramCache — in-process LRU-кэш на время жизни процессаFileStreamProgramCache — персистентный кэш на диске между запускамиfrom cuda. core import Device, Program, ProgramOptions, ObjectCode from cuda. utils import InMemoryProgramCache d = Device(0) d.
Отраслевые последствия
set_current() cuda_src = r""" extern "C" __global__ void saxpy( float alpha, const float* __restrict__ x, const float* __restrict__ y, float* out, int n ) { int idx = blockIdx. x; if (idx < n) out = alpha * x + y; } """ arch = f' {d. minor}' cache = InMemoryProgramCache() cache_key = f' ' # Первый запуск — компилируем и кладём в кэш (~15 мс) if cache.
get(cache_key) is None: prog = Program(cuda_src, 'c++', options=ProgramOptions(arch=arch)) cache = prog. compile('cubin # Все последующие — мгновенно (~0. 05 мс, 300× быстрее) kernel = ObjectCode.
get_kernel('saxpy Green Contexts: делим GPU между задачамиGreen Contexts — механизм разделения SM-ресурсов GPU между задачами без физической изоляции. RTX 4090 имеет 128 SM; можно нарезать их на партиции и запускать задачи параллельно с гарантированными ресурсами для каждой. Типичный сценарий: два независимых инференс-запроса должны работать на одном GPU без взаимного вытеснения за SM.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





