Програма обчислень, спочатку розроблена для NVIDIA CUDA, майже без змін у коді ядра була запущена на пристрої Apple з процесором M3 Pro.

Це прогрес, який вчора оголосив користувач X @Abhinav. Ще більш неочікувано, що це не просто демонстрація «векторного додавання, віднімання, множення та ділення», а досягнення приблизно 10-кратного прискорення у реальній тривимірній симуляції рідини.

За цим випадком стоїть особливий учасник — GPT-5.6 Sol.
Подія відбулася на відкритій науково-обчислювальній платформі OpenFPM. Дослідники виконували те, що багато хто вважав «неможливим»: запускати високопродуктивні обчислювальні програми, розроблені для CUDA/HIP GPU, через межі платформ, щоб вони працювали на архітектурі Metal GPU від Apple.
Чому це так важко? Протягом останніх десятиліть галузь GPU-обчислень була дуже фрагментованою — NVIDIA має CUDA, AMD — HIP, Apple — Metal. Ці екосистеми подібні до різних мов, які несумісні між собою. Програма, написана за допомогою CUDA, зазвичай вимагає значної переробки, щоб працювати на інших платформах.
Але на цей раз розробники не вирішили створювати нову версію Metal, а замість цього створили канал перетворення: програма спочатку проходить через Clang/HIP, а потім через проміжні рівні SPIR-V, Vulkan і MoltenVK, щоб Apple Metal GPU змогла розуміти та ефективно виконувати її.
Ще важливіше, вони зовсім не додавали жодних частиц API, спеціалізованих для Metal. Рівень застосунку зберігає традиційні виклики ядер стилю CUDA/HIP, забезпечуючи справжню прозорість апаратного забезпечення.
У цьому процесі ключову роль відіграв GPT-5.6 Sol. Він допоміг побудувати розміщення пам’яті на пристрої, за приблизно 6 годин виявив проблеми сумісності між MoltenVK та SPIR-V, і розробив відповідні обхідні рішення.

Посилання на проект: https://github.com/mosaic-group/openfpm/pull/18
Справжнім випробуванням цієї роботи є складний тестовий випадок — тривимірне SPH-моделювання руйнування греблі. Це завдання вимагає одночасної обробки кількох складних модулів: сканування, сортування та перестановки, побудови комірок та списків сусідів, обміну ghost-частинками, операцій зменшення та атомарних операцій. Будь-яка помилка в будь-якому з етапів призведе до зниження продуктивності або відхилення фізичних результатів.
Але результати тестування виявилися неочікуваними. На пристроях Apple з чіпом M3 Pro, використовуючи Metal GPU, обчислення завершилися приблизно за 6 секунд; при послідовних обчисленнях на CPU — приблизно за 60 секунд. Іншими словами, та сама програма, лише шляхом заміни обчислювального апаратного забезпечення, отримала приблизно 10-кратне прискорення, а використання GPU було майже 100% (що свідчить про високу ефективність перетворення).
Ще важливіше, підвищення швидкості не здійснювалося за рахунок точності. Розробники додатково перевірили результати моделювання і виявили, що фізичні результати, отримані за допомогою GPU Apple і оригінальної обчислювальної версії, збігаються: ключові параметри та траєкторії моделювання є дуже близькими. Це означає, що GPU Apple не лише запустився, а й справді виконав наукові обчислення.
Розробники додали, що зберігання частинок зростає лінійно з кількістю частинок N, тоді як обсяг роботи, такий як пошук сусідів, становить приблизно O(N·k) (k — кількість сусідів при фіксованій густині). Поточний показник прискорення в 10 разів отримано шляхом порівняння одиночного серверного бекенду. У майбутньому, завдяки технології RDMA, підтримуваній Apple Thunderbolt, можлива реалізація динамічного балансування навантаження між кількома пристроями, що дозволить масштабувати симуляції на кількох пристроях.
Звичайно, цей прорив ще далеко від зміни всієї галузі GPU. Однією з найбільших обмежень сьогоднішніх GPU Apple Metal є недостатня підтримка обчислень з високою точністю з рухомою комою, оскільки багато професійних наукових галузей залежать від подвійної точності. Тому в суперкомп’ютерних сценаріях, таких як прогнозування погоди та аерокосмічне моделювання, професійні GPU NVIDIA все ще мають перевагу.
Проте деякі люди сумніваються у значущості цього дослідження: «На ринку є стільки більш підходящих систем — навіщо запускати таку маленьку симуляцію на Mac?» Їхній зміст — навіть найшвидший GPU на MacBook все одно не призначений для наукових обчислень, і це звучить як просто демонстрація майстерності.
Розробник відкрито відповів: «Головна користь — це весело та зручно у роботі». Він пояснив, що масштабне моделювання команди вже запущене на кластері, і те, що воно працює на архітектурі Apple, підтверджує правильність дизайну шару абстракції пристроїв. Більш практична причина прихована у повсякденній розробці — перед запуском великих симуляцій завжди потрібно спочатку налагоджувати маленькі, а локальне налагодження за допомогою CPU надто повільне; результати симуляції часто становлять кілька ГБ, і їх неможливо передати через SSH, а віддалений стіл важкий і незручний — краще запустити їх локально. Найкраще те, що код, який пройшов налагодження на ноутбуці, можна без змін перенести на GPU-кластер, де він автоматично масштабується.

Це дослідження також підтвердило, що одна й та ж сама алгоритмічна база CUDA/HIP може працювати відносно прозоро на різних апаратних платформах, таких як Apple Silicon. У майбутньому розробники програмного забезпечення, можливо, більше не будуть прив’язані до єдиної екосистеми GPU.

Крім того, це демонструє, що ІШ (GPT-5.6 Sol) переходить від «допомоги у написанні коду» до «участі у проектуванні, оптимізації та налагодженні мультиплатформних систем на нижчому рівні».
Цей стрибок GPU Apple через розрив CUDA, можливо, є лише початком.
Посилання для довідки: https://x.com/Abhinavsns/status/2079774018748694696
Цей текст походить з微信-каналу «Machine Heart» (ID: almosthuman2014), автор: Machine Heart
