Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior | ||
faq:cuda [2020/05/02 07:39] josealvim |
faq:cuda [2021/02/25 17:11] (atual) prppedro Tonico & Tinoco |
||
---|---|---|---|
Linha 2: | Linha 2: | ||
===== Qual Máquina tem o CUDA disponível? ===== | ===== Qual Máquina tem o CUDA disponível? ===== | ||
- | A única máquina que tem placas de vídeo Nvidia com capacidade CUDA é a ''neozil''. | + | Há duas máquinas capazes de CUDA na Rede Linux: ''tonico'' e ''tinoco''. |
- | Ela está equipada com duas Nvidia Tesla K20c SM35. | + | Cada uma está equipada com uma Nvidia Tesla K20c SM35. |
+ | Para acessá-las, basta rodar ''ssh tonico'' ou ''ssh tinoco'' a partir da Neozil. | ||
+ | |||
+ | A máquina ''tonico'' é também o SSH alternativo e, como tal, pode ser acessada na porta 2222. | ||
===== Qual a versão do CUDA Toolkit disponível? ===== | ===== Qual a versão do CUDA Toolkit disponível? ===== | ||
- | A versão atual é o CUDA Toolkit 9.1. | + | A versão atual é o CUDA Toolkit 10.1. |
- | ===== Como faço para usar o CUDA? ===== | + | ===== Caso o nvcc não funcione ===== |
- | + | ||
- | ==== Caso o nvcc não funcione ==== | + | |
Para poder usar o ''nvcc'' e outros comandos do CUDA toolkit, é necessário | 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. | adicionar a pasta /usr/local/cuda/bin para a sua variável de ambiente PATH. | ||
Linha 19: | Linha 20: | ||
</code> | </code> | ||
- | ==== Exemplos ==== | + | ===== Compilando e Rodando ===== |
- | 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//: | + | |
- | + | ||
- | <code bash> | + | |
- | cp -r /nvidia/NVIDIA_CUDA-9.1_Samples ~/cuda_samples | + | |
- | </code> | + | |
- | + | ||
- | ==== Compilando e Rodando ==== | + | |
O compilador do CUDA aceita códigos C e C++, além do próprio CUDA. Para | 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 | compilar um arquivo de código, basta chamar o **nvcc** como se fosse | ||
Linha 47: | Linha 38: | ||
</note> | </note> | ||
- | <note important> | + | ===== Comando Úteis ===== |
- | Como o servidor possui duas GPUS, é necessário informar em | + | |
- | qual delas seu ''kernel'' irá rodar. | + | |
- | </note> | + | |
- | + | ||
- | Para isso basta, antes de chama-lo, colocar a linha: | + | |
- | + | ||
- | <code c> | + | |
- | cudaSetDevice(id); | + | |
- | </code> | + | |
- | + | ||
- | ==== Comando Úteis ==== | + | |
^ Comando ^ Descrição^ | ^ Comando ^ Descrição^ | ||
| ''nvcc'' | Compilador de código CUDA| | | ''nvcc'' | Compilador de código CUDA| | ||
- | | ''cudatop'' | Exibe informações de proessos dos usuários e uso das GPUS| | + | | ''nvtop'' | Exibe informações de proessos dos usuários e uso das GPUS| |
| ''nvidia-smi'' | Display de informações gerais das gpus| | | ''nvidia-smi'' | Display de informações gerais das gpus| | ||
Linha 73: | Linha 53: | ||
seu programa. | seu programa. | ||
- | ==== Uso ==== | + | ===== Uso ===== |
Eu vou pessoalmente bater em quem usar isso pra minerar bitcoin. | Eu vou pessoalmente bater em quem usar isso pra minerar bitcoin. | ||
--- //[[jose.alvim@usp.br|Jose Goudet Alvim]] 2020/05/02 07:39// | --- //[[jose.alvim@usp.br|Jose Goudet Alvim]] 2020/05/02 07:39// |