Код CUDA працює на GPU Apple M3 Pro зі швидкістю на 10x вищою

icon MarsBit
Поділитися
AI summary iconКороткий зміст
Он-чейн новини повідомляють, що обчислювальна програма на основі CUDA успішно запущена на пристрої Apple M3 Pro з мінімальними змінами коду. Програма, яка обробляла реальну 3D-симуляцію рідини, працювала приблизно в 10 разів швидше на GPU Metal, ніж на CPU. Установка використовувала конвеєр перетворення з Clang/HIP, SPIR-V, Vulkan і MoltenVK, уникнувши Metal-специфічних API. GPT-5.6 Sol допоміг виправити проблеми сумісності. Тест показав високе використання GPU та точність, що підтверджує, що алгоритми типу CUDA/HIP можуть працювати на Apple Silicon. Новини про реальні активи (RWA) підкреслюють потенціал крос-платформених обчислювальних інструментів.

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

CUDA

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

CUDA

За цим випадком стоїть особливий учасник — 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, і розробив відповідні обхідні рішення.

CUDA

Посилання на проект: 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

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

CUDA

Крім того, це демонструє, що ІШ (GPT-5.6 Sol) переходить від «допомоги у написанні коду» до «участі у проектуванні, оптимізації та налагодженні мультиплатформних систем на нижчому рівні».

Цей стрибок GPU Apple через розрив CUDA, можливо, є лише початком.

Посилання для довідки: https://x.com/Abhinavsns/status/2079774018748694696

Цей текст походить з微信-каналу «Machine Heart» (ID: almosthuman2014), автор: Machine Heart

Відмова від відповідальності: Інформація на цій сторінці може бути отримана від третіх осіб і не обов'язково відображає погляди або думки KuCoin. Цей контент надається лише для загального інформування, без будь-яких запевнень або гарантій, а також не може розглядатися як фінансова або інвестиційна порада. KuCoin не несе відповідальності за будь-які помилки або упущення, а також за будь-які результати, отримані в результаті використання цієї інформації. Інвестиції в цифрові активи можуть бути ризикованими. Будь ласка, ретельно оцініть ризики продукту та свою толерантність до ризику, виходячи з ваших власних фінансових обставин. Для отримання додаткової інформації, будь ласка, зверніться до наших Умов використання та Розкриття інформації про ризики.