Código CUDA roda na GPU Apple M3 Pro com aumento de 10x na velocidade

icon MarsBit
Compartilhar
AI summary iconResumo
Relatórios de notícias on-chain indicam que um programa computacional baseado em CUDA foi executado com sucesso em um dispositivo Apple M3 Pro com alterações mínimas no código. O programa, que realizou uma simulação real de fluido 3D, operou cerca de 10 vezes mais rápido na GPU Metal da Apple do que na CPU. A configuração utilizou uma pipeline de conversão envolvendo Clang/HIP, SPIR-V, Vulkan e MoltenVK, evitando APIs específicas do Metal. O GPT-5.6 Sol ajudou a resolver problemas de compatibilidade. O teste demonstrou alto uso da GPU e precisão, comprovando que algoritmos do estilo CUDA/HIP podem funcionar no Apple Silicon. As notícias sobre ativos reais (RWA) destacam o potencial de ferramentas computacionais multiplataforma.

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.

CUDA

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.

CUDA

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.

CUDA

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.

CUDA

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.

CUDA

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

Aviso legal: as informações nesta página podem ter sido obtidas de terceiros e não refletem necessariamente os pontos de vista ou opiniões da KuCoin. Este conteúdo é fornecido apenas para fins informativos gerais, sem qualquer representação ou garantia de qualquer tipo, nem deve ser interpretado como aconselhamento financeiro ou de investimento. A KuCoin não é responsável por quaisquer erros ou omissões, ou por quaisquer resultados do uso destas informações. Os investimentos em ativos digitais podem ser arriscados. Avalie cuidadosamente os riscos de um produto e a sua tolerância ao risco com base nas suas próprias circunstâncias financeiras. Para mais informações, consulte nossos termos de uso e divulgação de risco.