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:33] josealvim |
faq:cuda [2024/04/09 13:34] marcelospe |
||
---|---|---|---|
Linha 1: | Linha 1: | ||
- | ===== CUDA ===== | + | ===== GPUs ===== |
- | ===== Qual Máquina tem o CUDA disponível? | + | Há duas máquinas na rede com GPU: |
- | A única | + | * a máquina |
- | Ela está equipada com duas Nvidia Tesla K20c SM35. | + | * a máquina **vegeta** com uma RTX 3060, permitindo uso de CUDA. |
+ | |||
+ | Para acessar qualquer uma daas máquinas, utilize **'' | ||
- | ===== 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 | + | A versão atual é o CUDA Toolkit |
- | ===== Como faço para usar o CUDA? ===== | ||
- | ==== Caso o nvcc não funcione | + | ===== Compilando |
- | 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 | 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 41: | Linha 23: | ||
<note important> | <note important> | ||
- | Não crie seu próprio nvidia-cuda-mps-server, já há um | + | Não crie seu próprio |
- | desses para gerenciar todos os executáveis rodados | + | '' |
- | pelos usuários. | + | das gpus que é executado pela raíz e não atrapalha a |
+ | execução do seu processo. | ||
</ | </ | ||
- | ==== IMPORTANTE ==== | ||
- | Como o servidor possui duas GPUS, é necessário informar em qual delas seu '' | + | ===== Comando Úteis |
- | + | ||
- | <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 | ^ Comando | ||
| '' | | '' | ||
- | | '' | + | | '' |
| '' | | '' | ||
- | O comando '' | + | O comando '' |
- | + | juntos num comando só (vide '' | |
- | === Infos === | + | obter informações como id, uso e memória livre das GPUs e quais |
- | + | processos estão rodando nelas (grealmente os processos serão | |
- | O '' | + | gerenciados pelo '' |
- | + | o que facilita na hora de escolher uma GPU mais livre para rodar o | |
- | ==== 5. Uso ==== | + | seu programa. |
- | + | ||
- | 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. | + | ===== Uso ===== |
+ | Eu vou pessoalmente bater em quem usar isso pra minerar bitcoin. | ||
+ | --- //[[jose.alvim@usp.br|Jose Goudet Alvim]] 2020/05/02 07:39// |