Sobre o serviço
TraduzidoSou um desenvolvedor de GPU e faço tarefas numéricas pesadas rodarem ordens de magnitude mais rápido ao movê-las para a placa gráfica. Quando uma simulação, processamento de sinal ou pipeline de ML mantém a CPU carregada em plena carga por horas, eu perfilo onde o tempo realmente vai, reestruturo a seção crítica para milhares de threads paralelas e reescrevo como kernels CUDA que carregam todos os multiprocessadores de fluxo sem tempo ocioso. Eu me preocupo não apenas com a correção, mas com a taxa de transferência: como os dados fluem através da memória global, compartilhada e de registradores, quão coerentes são os warps e qual fração da largura de banda teórica o kernel realmente utiliza em hardware ao vivo.
A maioria dos projetos começa com código de CPU existente que simplesmente ultrapassou seu tempo de execução. Eu porto essa lógica para a GPU passo a passo, verificando os resultados em relação ao original em cada etapa para que os números não se desviem, depois aumento a ocupação, o acesso à memória coalescida e a sobreposição de threads até que a aceleração se torne real e mensurável. Trabalho fluentemente com o CUDA Toolkit e bibliotecas complementares — cuBLAS, cuFFT, Thrust — e confio no Nsight e em profilers para provar exatamente onde está o gargalo, não adivinhar. Seja HPC científico, processamento de sinal ou treinamento e inferência de ML, entrego kernels documentados, reproduzíveis e prontos para integrar em sua construção.
Se o código está lento e você está batendo na parede do processador, descreva a tarefa e onde dói — eu vou te dizer honestamente quanto a GPU pode ganhar e como eu vou chegar lá.
— Desenvolvimento e otimização de kernels CUDA
— Portabilidade de algoritmos da CPU para a GPU
— Ajuste de memória e largura de banda (global, compartilhada, registradores)
— Integração cuBLAS, cuFFT, Thrust
— Análise de perfil e gargalo com Nsight
— Concurrency multi-GPU e de threads
— Aceleração HPC e aumento de velocidade no treinamento/inferência de ML
A maioria dos projetos começa com código de CPU existente que simplesmente ultrapassou seu tempo de execução. Eu porto essa lógica para a GPU passo a passo, verificando os resultados em relação ao original em cada etapa para que os números não se desviem, depois aumento a ocupação, o acesso à memória coalescida e a sobreposição de threads até que a aceleração se torne real e mensurável. Trabalho fluentemente com o CUDA Toolkit e bibliotecas complementares — cuBLAS, cuFFT, Thrust — e confio no Nsight e em profilers para provar exatamente onde está o gargalo, não adivinhar. Seja HPC científico, processamento de sinal ou treinamento e inferência de ML, entrego kernels documentados, reproduzíveis e prontos para integrar em sua construção.
Se o código está lento e você está batendo na parede do processador, descreva a tarefa e onde dói — eu vou te dizer honestamente quanto a GPU pode ganhar e como eu vou chegar lá.
— Desenvolvimento e otimização de kernels CUDA
— Portabilidade de algoritmos da CPU para a GPU
— Ajuste de memória e largura de banda (global, compartilhada, registradores)
— Integração cuBLAS, cuFFT, Thrust
— Análise de perfil e gargalo com Nsight
— Concurrency multi-GPU e de threads
— Aceleração HPC e aumento de velocidade no treinamento/inferência de ML