Aqui você vê as diferenças entre duas revisões dessa página.
Próxima revisão | Revisão anterior | ||
faq:cuda [2019/03/22 09:57] 127.0.0.1 edição externa |
— (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 __dota__. 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 e planejamos mantê-lo atualizado sempre que possível. | ||
- | |||
- | |||
- | ===== Como faço para usar o CUDA? ===== | ||
- | |||
- | ==== 0. Conectar ==== | ||
- | Para poder usar qualquer parte do CUDA (compilar e executar comandos) é necessário que você faça '' | ||
- | |||
- | <code bash> ssh dota</ | ||
- | |||
- | Uma vez logado na dota, podemos iniciar a preparação. Não se preocupe, esse passo só é necessário na primeira vez. | ||
- | |||
- | ==== 1. Preparação caso o nvcc não funcione ==== | ||
- | |||
- | Para poder usar o nvcc e outros comandos do CUDA toolkit, é necessário adicionar a pasta / | ||
- | O comando abaixo deve funcionar se o seu shell for o bash(padrão na rede linux): | ||
- | |||
- | <code bash> echo " | ||
- | |||
- | ==== 2. Exemplos ==== | ||
- | |||
- | A Nvidia provê vários exemplos pequenos, mas muito abrangentes, | ||
- | |||
- | <code bash> cp -r / | ||
- | |||
- | ==== 3. 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. __IMPORTANTE__ Não crie seu próprio nvidia-cuda-mps-server, | ||
- | |||
- | ==== -------IMPORTANTE!------- ==== | ||
- | |||
- | Como o servidor possui duas GPUS, é necessário informar em qual delas seu '' | ||
- | |||
- | <code c> cudaSetDevice(id); | ||
- | |||
- | Onde __id__ é 0 ou 1 dependendo de qual GPU é para ser utilizada. É possível também executar, usando esse método, programas que rodam em várias GPUs, porém eles requerem maior otimização para compensar o // | ||
- | Lembrando que mais de um programa pode rodar em cada GPU, mesmo sendo de outro usuário. | ||
- | |||
- | ==== 4. Comando Úteis ==== | ||
- | |||
- | ^ Comando | ||
- | | '' | ||
- | | '' | ||
- | | '' | ||
- | |||
- | O comando '' | ||
- | |||
- | === Infos === | ||
- | |||
- | O '' | ||
- | |||
- | ==== 5. Uso ==== | ||
- | |||
- | O fim do servidor de GPUs da Rede Linux é o uso por parte dos alunos para fins acadêmicos como EPs, projetos, testes, experimentos, | ||