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 10:32] 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 " | ||
| - | </ | ||
| - | |||
| - | ==== 2. 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 / | ||
| - | </ | ||
| - | |||
| - | ==== 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, | ||
| - | processo desses para gerenciar todos os executáveis rodados pelos | ||
| - | usuários. | ||
| - | |||
| - | ==== 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 ==== | ||
| - | |||
| - | 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. | ||