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 |
— (atual) | ||
---|---|---|---|
Linha 1: | Linha 1: | ||
- | ===== CUDA ===== | ||
- | ===== Qual Máquina tem o CUDA disponível? | ||
- | A única máquina que tem placas de vídeo Nvidia com capacidade CUDA é a '' | ||
- | Ela está equipada com duas Nvidia Tesla K20c SM35. | ||
- | |||
- | ===== Qual a versão do CUDA Toolkit disponível? | ||
- | A versão atual é o CUDA Toolkit 9.1. | ||
- | |||
- | ===== Como faço para usar o CUDA? ===== | ||
- | |||
- | ==== Caso o nvcc não funcione ==== | ||
- | Para poder usar o '' | ||
- | adicionar a pasta / | ||
- | |||
- | <code bash> | ||
- | PATH=$PATH:/ | ||
- | echo " | ||
- | </ | ||
- | |||
- | ==== Exemplos ==== | ||
- | A Nvidia provê vários exemplos pequenos, mas muito abrangentes, | ||
- | CUDA. Eles estão localizados na pasta ''/ | ||
- | 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 / | ||
- | </ | ||
- | |||
- | ==== Compilando e Rodando ==== | ||
- | 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. | ||
- | |||
- | <code bash> | ||
- | nvcc codigo.cu | ||
- | </ | ||
- | |||
- | Para rodar o executável gerado também é como qualquer outro. | ||
- | |||
- | <note important> | ||
- | Não crie seu próprio '' | ||
- | '' | ||
- | das gpus que é executado pela raíz e não atrapalha a | ||
- | execução do seu processo. | ||
- | </ | ||
- | |||
- | |||
- | |||
- | <note important> | ||
- | Como o servidor possui duas GPUS, é necessário informar em | ||
- | qual delas seu '' | ||
- | </ | ||
- | |||
- | Para isso basta, antes de chama-lo, colocar a linha: | ||
- | |||
- | <code c> | ||
- | cudaSetDevice(id); | ||
- | </ | ||
- | |||
- | ==== Comando Úteis ==== | ||
- | |||
- | ^ Comando | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | |||
- | O comando '' | ||
- | juntos num comando só (vide '' | ||
- | 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 '' | ||
- | o que facilita na hora de escolher uma GPU mais livre para rodar o | ||
- | seu programa. | ||
- | |||
- | ==== 5. Uso ==== | ||
- | |||
- | A finalidade do servidor de GPUs da Rede Linux é o uso para fins acadêmicos como EPs, projetos, testes, experimentos, | ||
- | |||
- | Em particular, o uso de qualquer computador da Rede Linux para **mineração de criptomoedas é proibido**. Essa atividade causa prejuízo acadêmico, pois inutiliza aquele recurso para os outros estudantes, e causa prejuízo financeiro, pois é uma atividade de alto custo de energia. A violação dessa regra pode resultar em banimento permanente da Rede Linux. Como isso pode configurar uso indevido de patrimônio público, medidas em outras esferas também podem ser aplicadas. |