===== GPUs ===== Há três máquinas na rede com GPU: * a máquina **goku**, com uma Radeon RX 5700. * a máquina **vegeta** com uma RTX 3060, permitindo uso de CUDA. * a máquina **c**, com placa RX 580, voltada voltada para desenvolvimento em kernel para drivers AMD. Entre em contato com a administração para saber mais. Para acessar qualquer uma das máquinas, utilize **''ssh goku''** ou **''ssh vegeta''** a partir da neozil. Para a máquina vegeta, você pode utilizar o comando **''tensorflow''** para entrar em um container com um ambiente tensorflow-cuda configurado. Para a máquina goku, você pode utilizar o comando **''tensorflow''** para entrar em um container com um ambiente tensorflow-rocm configurado, ou utilizar o comando **''pytorch''** para entrar em um container com um ambiente pytorch-rocm configurado. Os ambientes das máquinas vegeta e goku montam automaticamente a home do usuário, mas não providenciam algumas ferramentas úteis como editor de texto, por exemplo. Use esses ambientes quando quiser executar algum programa. Outro aviso importante: Os ambientes da máquina goku são lentos para inicialização, tente usar a máquina vegeta quando possível. Caso queira desenvolver para kernel e precise de uma máquina para deploy de imagens de kernel, peça o acesso para os administradores da rede o acessoa à máquina c. ===== Qual a versão do CUDA Toolkit disponível na vegeta? ===== A versão atual é o CUDA Toolkit 11.8. ===== Compilando e Rodando código CUDA ===== O compilador do CUDA aceita códigos C e C++, além do próprio CUDA. Para compilar um arquivo de código, basta chamar o **nvcc** como se fosse qualquer outro compilador de C. nvcc codigo.cu Para rodar o executável gerado também é como qualquer outro. Não crie seu próprio ''nvidia-cuda-mps-server''. O ''nvidia-cuda-mps-server'' é um processo gerenciador das gpus que é executado pela raíz e não atrapalha a execução do seu processo. ===== Comando Úteis para uso de CUDA ===== ^ Comando ^ Descrição^ | ''nvcc'' | Compilador de código CUDA| | ''nvtop'' | Exibe informações de proessos dos usuários e uso das GPUS| | ''nvidia-smi'' | Display de informações gerais das gpus| O comando ''nvidia-smi'' é na verdade uma variedade de comandos juntos num comando só (vide ''nvidia-smi -h'') . Com ele é possível obter informações como id, uso e memória livre das GPUs e quais processos estão rodando nelas (grealmente os processos serão gerenciados pelo ''mps-server'' e não aparecerão individualmente), o que facilita na hora de escolher uma GPU mais livre para rodar o seu programa. ===== Uso ===== Eu vou pessoalmente bater em quem usar isso pra minerar bitcoin. --- //[[jose.alvim@usp.br|Jose Goudet Alvim]] 2020/05/02 07:39//