Код CUDA работает на GPU Apple M3 Pro с ускорением в 10 раз

icon MarsBit
Поделиться
AI summary iconСводка
Ончейн-новости сообщают, что вычислительная программа на основе CUDA была успешно запущена на устройстве Apple M3 Pro с минимальными изменениями кода. Программа, выполнявшая реальную 3D-симуляцию жидкости, работала примерно в 10 раз быстрее на GPU Metal, чем на CPU. В настройке использовалась конвейерная цепочка, включающая Clang/HIP, SPIR-V, Vulkan и MoltenVK, без применения API, специфичных для Metal. 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 сыграл ключевую роль. Он помог построить распределение памяти на устройстве, обнаружил проблемы совместимости в MoltenVK и SPIR-V за примерно 6 часов и разработал соответствующие обходные решения.

CUDA

Ссылка на проект: https://github.com/mosaic-group/openfpm/pull/18

Настоящим испытанием для этой работы является сложный тестовый сценарий — трехмерное SPH-моделирование разрушения плотины. Эта задача требует одновременной обработки нескольких сложных модулей: сканирования, сортировки и перестановки, построения ячеек и списков соседей, обмена фиктивными частицами, операций сокращения и атомарных операций. Любая ошибка в любом из этих этапов приведет к снижению производительности или отклонению физических результатов.

Однако результаты теста оказались неожиданными. На устройствах 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

Эта статья взята из официального аккаунта WeChat «Machine Heart» (ID: almosthuman2014), автор: Machine Heart

Отказ от ответственности: Информация на этой странице может быть получена от третьих лиц и не обязательно отражает взгляды или мнения KuCoin. Данный контент предоставляется исключительно в общих информационных целях, без каких-либо заверений или гарантий, а также не может быть истолкован как финансовый или инвестиционный совет. KuCoin не несет ответственности за ошибки или упущения, а также за любые результаты, полученные в результате использования этой информации. Инвестиции в цифровые активы могут быть рискованными. Пожалуйста, тщательно оценивайте риски, связанные с продуктом, и свою устойчивость к риску, исходя из собственных финансовых обстоятельств. Для получения более подробной информации, пожалуйста, ознакомьтесь с нашими Условиями использования и Уведомлением о риске.