Um programa de computação originalmente projetado para NVIDIA CUDA foi executado diretamente em um dispositivo Apple com M3 Pro, quase sem necessidade de modificação do código do kernel.

Este é um avanço divulgado ontem pelo usuário do X @Abhinav. Mais surpreendente ainda, não se trata de uma simples demonstração de "adição, subtração, multiplicação e divisão de vetores", mas sim de um aumento de velocidade de cerca de 10 vezes em uma tarefa real de simulação de fluidos tridimensionais.

Por trás disso, há um participante especial — GPT-5.6 Sol.
O evento ocorreu na plataforma de computação científica de código aberto OpenFPM. Os pesquisadores têm estado realizando algo que muitos consideram "improvável": fazer programas de computação de alto desempenho originalmente projetados para GPUs CUDA/HIP funcionarem跨越 a barreira de plataformas, executando-se na arquitetura Metal GPU da Apple.
Por que isso é tão difícil? Nos últimos dez anos, o campo de computação GPU foi altamente fragmentado — NVIDIA tem CUDA, AMD tem HIP, Apple tem Metal. Esses ecossistemas são como idiomas diferentes, incompatíveis entre si. Um programa escrito em CUDA geralmente exige uma reescrita extensiva para ser executado em outras plataformas.
Mas, desta vez, os desenvolvedores não optaram por recriar uma versão Metal; em vez disso, criaram um canal de conversão: o programa é primeiro processado pelo Clang/HIP, depois passa por camadas intermediárias como SPIR-V, Vulkan e MoltenVK, permitindo que a GPU Metal da Apple entenda e execute de forma eficiente.
Mais importante ainda, eles não adicionaram nenhuma API de partículas específica para Metal. A camada de aplicação ainda mantém as chamadas de kernel no estilo CUDA/HIP, alcançando verdadeira transparência de hardware.
Nesse processo, o GPT-5.6 Sol desempenhou um papel crucial, ajudando a construir o layout de memória no dispositivo, identificando problemas de compatibilidade no MoltenVK e no SPIR-V em cerca de 6 horas e projetando soluções alternativas correspondentes.

Link do projeto: https://github.com/mosaic-group/openfpm/pull/18
O verdadeiro teste para este trabalho é um caso de teste complexo — a simulação de ruptura de barragem SPH tridimensional. Esta tarefa exige o processamento simultâneo de vários módulos complexos, incluindo varredura, classificação e reorganização, construção de células e listas de vizinhos, troca de partículas fantasma, operações de redução e operações atômicas. Qualquer falha em um desses componentes pode levar à redução de desempenho ou a desvios nos resultados físicos.
Mas os resultados do teste foram inesperados. Em dispositivos Apple com o chip M3 Pro, executado com Metal GPU, o processo foi concluído em cerca de 6 segundos; com cálculo sequencial na CPU, levou cerca de 60 segundos. Ou seja, o mesmo programa, ao simplesmente trocar o hardware de cálculo, obteve um aumento de velocidade de cerca de 10 vezes, com utilização da GPU próxima a 100% (indicando alta eficiência de conversão).
Mais importante ainda, o aumento de velocidade não foi obtido à custa da precisão. Os desenvolvedores revisaram detalhadamente os resultados da simulação e descobriram que os resultados físicos finais obtidos pela versão da GPU da Apple e pela versão de cálculo original são consistentes, com parâmetros-chave e trajetórias de simulação altamente próximos. Isso significa que a GPU da Apple não apenas executou o processo, mas também realizou corretamente as tarefas de cálculo científico.
Os desenvolvedores destacaram ainda que o armazenamento de partículas cresce linearmente com o número de partículas N, enquanto o trabalho de busca de vizinhos é aproximadamente O(N·k) (onde k é o número de vizinhos sob densidade fixa). O aceleração de 10 vezes apresentada atualmente é o resultado de uma comparação de backend em uma única máquina. Futuramente, com a tecnologia RDMA suportada pelo Apple Thunderbolt, será possível implementar balanceamento de carga dinâmico entre múltiplas máquinas, permitindo que a simulação seja escalada em vários dispositivos.
Claro, essa conquista ainda está longe de transformar toda a indústria de GPUs. Atualmente, uma das maiores limitações da GPU Metal da Apple é a insuficiente suporte a cálculos de ponto flutuante de alta precisão, e muitas áreas de computação científica profissional dependem de operações de dupla precisão. Portanto, em cenários de supercomputação, como previsão do tempo e simulações aeroespaciais, as GPUs profissionais da NVIDIA ainda mantêm vantagem.
No entanto, algumas pessoas questionam o significado dessa exploração; um internauta comentou: “Na verdade, existem tantos sistemas mais adequados no mercado — qual é a utilidade de executar essa pequena simulação em um Mac?” A implicação é que, por mais rápida que seja a GPU de um MacBook, ela não foi projetada para cálculo científico, e isso parece mais como uma exibição de habilidade.
A resposta do desenvolvedor foi bastante franca: “A maior utilidade é ser divertido e tornar o trabalho mais fácil.” Ele explicou que a simulação em larga escala da equipe já era executada em clusters, e conseguir rodá-la na arquitetura da Apple confirmou que o design da camada de abstração de dispositivo estava correto. Um motivo ainda mais prático está no dia a dia do desenvolvimento — antes de executar simulações grandes, sempre é necessário primeiro testar com simulações menores; mas depurar localmente usando a CPU é extremamente lento. Os resultados da simulação frequentemente ocupam vários GB, e o SSH simplesmente não consegue transferi-los de volta; o desktop remoto é pesado e difícil de usar, então é melhor executar diretamente localmente. O melhor de tudo é que o código que funciona perfeitamente no notebook pode ser transferido integralmente para o cluster GPU e escalar automaticamente.

Esta exploração também demonstrou que o mesmo conjunto de algoritmos no estilo CUDA/HIP pode ser executado de forma relativamente transparente em diferentes backends de hardware, como o Apple Silicon. No futuro, desenvolvedores de software talvez não sejam mais vinculados a um único ecossistema de GPU.

Além disso, isso demonstra que a IA (GPT-5.6 Sol) está passando para uma nova fase, de “ajudar a escrever código” para “participar do design de sistemas subjacentes, otimização e depuração de engenharia entre plataformas”.
A GPU da Apple superou essa lacuna da CUDA, e isso pode ser apenas o começo.
Link de referência: https://x.com/Abhinavsns/status/2079774018748694696
Este artigo é do canal do WeChat "Machine Heart" (ID: almosthuman2014), autor: Machine Heart
