Existem diversos grupos de pesquisa que dispõem de recurso próprio para processamento. O objetivo deste artigo não é descrever completamente a infraestrutura de processamento do IME, mas descrever a infraestrutura de processamento disponível para toda a comunidade do IME.
No momento contamos com dois servidores de processamento: brucutuv e brucutuvi. Todos os servidores operam com o sistema Debian GNU/Linux na versão estável contando com diversos pacotes possibilitando a compilação de programas em C, bem como a execução de scripts em Python, R etc. O acesso a tais servidores é remoto se dá a partir do protocolo SSH. Lembrando que é necessário criar a conta na rede do IME para o acesso remoto.
Exemplo:
ssh usuario@brucutu.ime.usp.br
As configurações simplificadas de hardware dos computadores são as seguintes:
| servidor | processador | núcleos | threads* | memória RAM | coprocessador | 
|---|---|---|---|---|---|
| brucutu | 2x Intel Xeon Gold 6148 | 20 | 40 | 512GB | N/A | 
| brucutuvi | 2x Intel Xeon Gold 6148 | 20 | 40 | 512GB | Nvidia Tesla V100 | 
* Com hyperthreading, a quantidade efetiva linhas de processamento é o dobro do número de núcleos.
Em essência: Brute force science should be avoided.
Costumamos instalar bibliotecas mais generalistas como o r-recommended ou o build-essential. Caso for necessário a instalação de algo mais específico, basta escrever para admin@ime.usp.br solicitando a instalação.
Atentamos que pode acontecer de não ser possível instalar a dependência por se tratar de uma versão conflitante com o que a versão estável do Debian tem a oferecer.
A solução trivial é usar o Apptainer.
/var/tmp ou /var/fasttmp (com SSD);
Para abrir uma sessão no screen, basta rodar o comando screen. Dentro da screen, basta rodar seu programa como o habitual.
Para sair de uma sessão da screen sem fechá-la, Ctrl+A depois a tecla D.
Para retomar uma sessão da screen, basta rodar o comando screen -r. Se houver mais de uma screen aberta, será necessário identificá-la. Cada screen terá um número de processo associado a ela, basta especificá-lo.
Exemplo:
$ screen -r
There are screens on:
    31415.pts-9.amaterasu	(26/02/2020 05:35:08)	(Detached)
     9793.pts-2.amaterasu	(26/02/2020 03:08:46)	(Detached)
# seu processo é o 31415
$ screen -r 31415