- Perguntas Frequentes
Essa é uma revisão anterior do documento!
A única máquina que tem placas de vídeo Nvidia com capacidade CUDA é a neozil
.
Ela está equipada com duas Nvidia Tesla K20c SM35.
A versão atual é o CUDA Toolkit 9.1.
Para poder usar o nvcc
e outros comandos do CUDA toolkit, é necessário
adicionar a pasta /usr/local/cuda/bin para a sua variável de ambiente PATH.
PATH=$PATH:/usr/local/cuda/bin" echo "export PATH=$PATH:/usr/local/cuda/bin" >> ~/.bashrc
A Nvidia provê vários exemplos pequenos, mas muito abrangentes, de código
CUDA. Eles estão localizados na pasta /nvidia/NVIDIA_CUDA-X.X_Samples
,
Para poder compilar, modificar ou executar esses códigos, você deve
copiá-los para alguma pasta de sua preferência dentro de sua home:
cp -r /nvidia/NVIDIA_CUDA-9.1_Samples ~/cuda_samples
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.
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.
kernel
irá rodar.
Para isso basta, antes de chama-lo, colocar a linha:
cudaSetDevice(id);
Comando | Descrição |
---|---|
nvcc | Compilador de código CUDA |
cudatop | 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.
Eu vou pessoalmente bater em quem usar isso pra minerar bitcoin. — Jose Goudet Alvim 2020/05/02 07:39