Você está na página 1de 28

Manual das Máquinas de Cálculo

Programa de Pós-Graduação
em Física (PPGFis - UFPR)

Material produzido por estudantes de mestrado


Coordenadores: e doutorado com contribuições de profes-
sores do Departamento de Física (DFis) e
Prof. Dr. Sérgio R. Lopes do Programa de Pós-Graduação em Física
(LCPAD) (PPGFis) da UFPR. Este documento só poderá
ser editado anualmente pela Coordenação do
Prof. Dr. Wagner M. N. Zola PPGFis juntamente aos Representes Discente
do Colegiado.
(LCPAD)
Gerente do cluster: Primeira Versão: Dez/2021

Prof. Dr. Carlos Carvalho


(HOGGAR/LCPAD)
Sumário

1 Agradecimentos 2

2 O manual 3

3 Introdução 5
3.1 Contexto histórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2 Introdução a Computação Científica . . . . . . . . . . . . . . . . . . . . . . 7
3.3 Introdução ao Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3.1 O terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.4 Criando a conta na hoggar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.5 Acesso à hoggar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4 Usando a hoggar 13
4.1 Onde rodar: servidoras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2 Com o que rodar: onde deixar os seus programas . . . . . . . . . . . . . 15
4.3 Como rodar: usando as máquinas . . . . . . . . . . . . . . . . . . . . . . . . 15
4.3.1 Comandos úteis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.4 Como lidar com os resultados . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.4.1 Configurando a hoggar . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5 Usando o lcpad 19
5.1 Acessando o lcpad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.2 Onde rodar: servidoras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.3 Onde os seus programas e arquivos estão? . . . . . . . . . . . . . . . . . . 20
5.4 Como rodar: usando as máquinas . . . . . . . . . . . . . . . . . . . . . . . . 22
5.4.1 Configurando o lcpad . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

6 Programas específicos 24
6.1 Gaussian09 ou Gaussian16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.2 Perspectivas Futuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

1
Capítulo 1

Agradecimentos

Primeiramente gostaríamos de agradecer ao responsável pelo gerenciamento, co-


ordenação e manutenção das máquinas de cálculo do PPGFis - hoggar / lcpad - o
Prof. Dr. Carlos Carvalho . Além dele, também agradecemos a contribuição dos
professores Dr. Sérgio Roberto Lopes e Dr. Wagner M. N. Zola na administração do
lcpad.

Aos idealizadores da proposta: o Representante Discente Ms. Aron L. O. dos San-


tos e a Suplente Ms. Michele Mugnaine.

Aos estudantes que colaboraram com a criação e edição deste documento: Ms.
Bruno R. R. Boaretto (Doutorando), João A. P. da Silveira (Mestrando), Ms. João Paulo
Araújo Souza (Doutorando) e Kalel Rossi (Mestrando).

Ao professor Ricardo Viana pelo modelo de manual que ele havia elaborado para
seus orientandos e gentilmente compartilhou conosco.

Ao professor Dietmar W. Foryta pelo breve relato histórico sobre a implementação


da hoggar.

Ao professor Sérgio R. Lopes pelo breve relato histórico sobre a implementação


e gerenciamento do lcpad.

Ao Programa de Pós-Graduação em Física, atualmente coordenado pelos profes-


sores Dr. Cristiano Francisco Woellner e Dr. Ismael André Heisler, pela confiança e
liberdade dada a nós para a construção deste documento.

Ao secretário Leandro Camilo Florentino que auxilia os discentes (novatos e vete-


ranos) em sua demandas e que os informará sobre a utilização da hoggar.

2
Capítulo 2

O manual

Talvez o leitor esteja se questionando: Por que existe um manual para as máqui-
nas de cálculo? Penso que o fato de você estar lendo este documento já revela o
seu interesse em buscar entender uma das principais ferramentas de pesquisa em
um programa de pós-graduação, que é a sua infraestrutura computacional! Deve-
mos lembrar que em nosso departamento também possuímos espaços laboratoriais e
experimentais, contudo, focaremos exclusivamente nos recursos computacionais.
Um dos principais objetivos deste material é guiar os estudantes que recém ingres-
sarem em nosso programa de pós-graduação. Sim, desde discentes do mestrado, ou
passando pelo doutorado e até pós-doutorado! A ideia é instruir de maneira simples,
mas significativa, àqueles que necessitarão implementar, e consequentemente rodar,
cálculos numéricos de grande complexidade nas máquinas servidores aqui disponí-
veis. Nunca foi elaborado um documento geral que especificasse todos os detalhes que
apresentaremos nos capítulos seguintes em nosso programa, apenas alguns profes-
sores criaram manuais próprios para seus orientandos (como se fosse uma ‘herança
intelectual’ acadêmica, por assim dizer) ou indicando outro aluno já experiente para
ajudar os recém chegados.
Sem qualquer sombra de dúvidas, os estudantes são muito gratos aos professores
que dedicaram seu tempo em produzir um material auxiliar, no entanto, precisamos
padronizar as informações para atingir todo o corpo discente uniformemente. Sendo
assim, visando quebrar esse ciclo de hereditariedade de informações, este manual pas-
sará a ser incluído na página do programa (de onde você provavelmente baixou), jun-
tamente aos documentos de normas e resoluções. Aliás, recomendamos fortemente
que você leia o item de Auxílio aos Alunos, as Normas Internas, a Resolução No
32/17 CEPE e a Resolução PROEX/CAPES. Tais informações são fundamentais para
garantir seus direitos enquanto estudante de pós-graduação na UFPR.
Certo, após esse contato inicial (e talvez um pouco tenso) vamos descrever os
principais tópicos compreendidos neste manual. Primeiramente, apresentaremos
um breve contexto histórico envolvendo a criação e implementação tanto da hoggar
quanto do lcpad, seguido de uma descrição sucinta sobre o que é computação científica
e a sua importância. Incluímos uma seção dedicada ao Linux UNIX/Linux (pessoal
que manja do Windows ou MacOS, criem seções extras nas próximas edições...), com
informações básicas de como iniciar e usar um terminal. Em seguida, vamos reeditar
um procedimento que já explicado em [4] relacionado a criação e acesso da conta na
hoggar, bem como a liberação do email institucional pessoal. Dedicamos exclusiva-
mente o capítulo seguinte para o uso da hoggar, por exemplo, como selecionar as

3
CAPÍTULO 2. O MANUAL 4

máquinas servidores, onde deixar seus arquivos pessoais (binários, .exe, .c., .py, etc)
e finalmente executar seu código. O capítulo seguinte segue o mesmo raciocínio do
anterior, mas focando nos recursos disponíveis no lcpad. Finalizamos com algumas
dicas de configurações de usuário. Acabou! Não, o último capítulo é um compilado
de programas úteis que eventualmente vocês utilizem futuramente (em construção!).
Agora acabou! Espero que usem com sabedoria as informações aqui detalhadas e
que sejam também úteis no desenvolvimento da sua pesquisa.
Capítulo 3

Introdução

3.1 Contexto histórico


Um relato interessante a respeito dos primórdios da implementação da infraes-
trutura computacional no PPGFis vem do Prof. Dr. Dietmar William Foryta, que
desde 1993 atua como docente e pesquisador na área de Astronomia com ênfase em
Astrofísica do Sistema Solar:

“A minha participação é relativamente pequena. Eu fui somente o primeiro


responsável pela parte computacional do Departamento de Física. Na época eu
tinha chegado do doutorado trazendo“uma best” o Linux. A Universidade na época
comprou computadores que deveriam ser usados para dar início ao sistema de
redes e de atendimento computacional (sala de micros) então eu peguei as “crianças”
e os instalei.
A primeira máquina realmente foi um 486DX266 que se chamou hoggar a partir
de um livro da Readers Digest [1] sobre pontos geográficos marcantes, todas as
máquinas do departamento eram algum ponto geográfico deste livro e infelizmente
este se extraviou, pena). O hoggar é um maciço montanhoso do período Quartenário
e está localizado na África (veja a Fig. 3.1). O primeiro sistema foi um Slackware
(não me lembro versão, mas vieram na minha bagagem, 10 caixas de disquetes de
1.44MB).
Os outros computadores ficaram em MS Windows devido a preferência dos
outros professores do Departamento. Tentei fazer uma distribuição de disco para
estas máquinas a partir da hoggar mas o software da época era ainda meio crú. A
primeira conexão até a INTERNET era através de uma linha de telefone desativada
que transferia dados a incríveis 9600 bauds (rudemente parecido com 1 kbit/s).
E fomos o primeiro Departamento, após a Informática a estar conectados com o
Mundo. Uma boa época, qualquer coisa que você fizesse era novidade.
Alguns anos após não me lembro quando, o Prof. Carlos foi contratado e como
ele era também um ‘linuxeiro’ ele se juntou a mim na empreitada. Por insistên-
cia (marcante) mudamos a distribuição para o Debian (que eu confesso não era
meu gosto pessoal). A curiosidade foi que após a primeira instalação, descemos
o computador da mesa para o chão. Uma leve (realmente leve) encontrão com o
chão desalinhou o suficiente as cabeças de leitura do disco e tivemos que reinstalar
novamente todo o sistema.
Na mesma época veio a fibra óptica e mais equipamentos, e o Carlos se esbal-

5
CAPÍTULO 3. INTRODUÇÃO 6

dou na gerência do material. Como ele estava bem ambientado com isto eu deixei
para ele esta tarefa (monstruosa) de gerenciar todo o parque de máquinas do De-
partamento. E assim finda minha trajetória na "Sala de Micros". Bom as vezes eu
dava uns pitacos, como por exemplo, arranjar mais nomes de máquinas do mesmo
livro, nada importante. Agradeço imensamente aos professores Armando Delgado
e Heraldo (não me lembro do sobrenome dele e ele não faz mais parte da UFPR),
do Departamento de Informática, entre outros que me ajudaram em muito desde o
início da minha empreitada.”

Prof. Dr. Dietmar William Foryta.

Figura 3.1: Monte hoggar, região central do deserto do Saara ao sul da Argélia, com
2,908 m de altitude. As montanhas cobrem uma área de aproximadamente 550,000
km2 . Fonte: Mohammed Amri, https://en.wikipedia.org/wiki/hoggar_Mountains

Com relação à atual infraestrutura computacional da hoggar, de acordo com o


Prof. Dr. Carlos Carvalho, as máquinas da Física vêm sendo compradas pelos pes-
quisadores do departamento ao longo do tempo e só podem ser usadas por quem eles
autorizam.
No caso das máquinas do Laboratório Central de Processamento de Alto Desem-
penho - LCPAD, recebemos valiosas informações do Prof. Sérgio Roberto Lopes,
que atua em física de Plasma e Dinâmica Não-Linear com ênfase em Caos e Redes
Neurais, apontando que:

“O Lcpad é um laboratório dedicado a processamento numérico e atende a todos


os pesquisadores da UFPR que necessitam desse recurso.
CAPÍTULO 3. INTRODUÇÃO 7

Antes de 2004 o Lcpad era um agrupamento de CPUs mono-processadas. Em


2004 tivemos o primeiro cluster de multiprocessadores composto de 16 nós de pro-
cessamento sendo cada nó composto de 8 cores, além do nó central (total de 130
núcleos de processamento).
O atual cluster é composto pelos seguintes multiprocessadores:
- 1 nodo central com 128 GB de memória e 20 cores (40 hyperthreads).
- 24 nós com 128 GB de memória e 16 cores (32 hyperthreads).
- 25 nós com 128 GB de memória e 20 cores (40 hyperthreads).
- Conta ainda com 14 placas de vídeo para processamento paralelo (CUDA).
- Total de 904 núcleos de processamento e 6 TB de memória RAM.
O Lcpad é uma parte do NMCC – Núcleo de Modelagem e Computação Cien-
tífica. Esse núcleo irá ocupar o terceiro e quarto andares do condomínio de labo-
ratório 1, localizado no centro politécnico, contando com espaço de trabalho para
pesquisadores e alunos que trabalham com modelagem e simulações computacio-
nais com uso da computação de alto desempenho. Os recursos para a aquisição do
cluster bem como da infraestrutura predial foi obtida através da FINEP.”

Prof. Dr. Sérgio Roberto Lopes.

Portanto, tal laboratório dispõe de um conjunto de máquinas com massivo proces-


samento e memória e disponibiliza recursos computacionais na UFPR para procedi-
mentos intensos com simulações [2]. A solicitação de abertura de contas no Lcpad é
feita através de um projeto de pesquisa e um pedido do orientador. O pedido deve
ser endereçado para Sergio R. Lopes, lopes@fisica.ufpr.br.

3.2 Introdução a Computação Científica


A computação científica consiste no desenvolvimento de simulações e modelagem
matemática para a compreensão da natureza [5]. Basicamente, utiliza-se computadores
para a criação de modelos matemáticos e aperfeiçoamento de ferramentas de análise
visando solucionar algum problema de interesse científico.
A principal abordagem da computação científica é obter entendimento através da
análise de modelos matemáticos implementados em computadores [5]. Dependendo
do problema real enfrentado, tais modelos demandam uma quantidade de cálculos
massiva, e frequentemente, há a necessidade de serem executados em supercompu-
tadores, plataformas de computação distribuída, ou o uso de recursos como a hoggar
e o lcpad para tal finalidade.

3.3 Introdução ao Linux


O Linux é um sistema operacional, assim como o Windows e o iOS dos computa-
dores da Apple. Mas, diferente dos outros dois, o Linux é um sistema completamente
gratuito e aberto, construído pela comunidade para comunidade. Ele é amplamente
usado em servidores, bancos de dados, sistemas em que segurança é crítico, e em
cluster para computação científica, entre eles a hoggar. Porém, o Linux é menos co-
nhecido pelo público geral, e as diferenças com o Windows podem gerar estranheza
CAPÍTULO 3. INTRODUÇÃO 8

para os que o utilizam pela primeira vez. Portanto, apresentamos aqui uma breve
introdução sobre a utilização do Linux.

3.3.1 O terminal
A maioria de nós está acostumada com os sistemas de janelas, nos quais podemos
interagir com pastas e arquivos clicando neles com o mouse. Na maioria dos sistemas
Linux não é diferente, e você pode interagir assim graficamente através de janelas.
Mas há também no Linux uma forma alternativa de interagir com o computador: o
*terminal*. O terminal é um ambiente no qual se digita comandos para o computador
em forma de texto (e portanto, de forma não gráfica). Apesar de ser mais chato digitar
texto pro computador ao invés de usar o mouse, o terminal permite uma especificação
melhor do que você quer que o computador faça. A Fig. 3.2 mostra o visual que você
pode esperar de um terminal típico.

Figura 3.2: Exemplo de um terminal do Ubuntu 20.04.

A interação com a hoggar se dá inteiramente através do terminal. Não existe uma


interface gráfica na qual podemos clicar nos arquivos para abrir eles, etc. 1 Por isso,
vamos ver aqui o básico para interação através do terminal.
Quando o terminal é aberto, ele fica disponível para receber comandos. Para
executar um comando, você deve escrever o texto referente e apertar Enter. O
1
Pode parecer estranho que não haja interface gráfica mas, apesar desse tipo de interface ser muito
prática para usos do cotidiano, ela deixa de ser essencial quando tratamos de computadores que têm
como único objetivo "fazer conta", e é portanto removida para que o sistema fique mais enxuto. Essa
prática é bastante comum.
CAPÍTULO 3. INTRODUÇÃO 9

resultado do comando será impresso no terminal, abaixo do seu comando. Por exem-
plo, se você abrir um terminal, escrever pwd e dar Enter, um texto parecido com
"/home/usuario/"deve aparecer no seu terminal. Depois de mostrar o resultado do
comando, seu terminal volta a ficar disponível para receber outro comando.
Uma coisa importante a saber sobre o terminal é que você sempre "está dentro de
uma pasta". Quer dizer, sempre existe uma pasta (ou diretório, como é chamado no
Linux) que está atualmente aberta no seu terminal. Para descobrir o que tem dentro
da pasta atual do seu terminal, você pode executar o comando ls. Ele imprime no
terminal o conteúdo do diretório atual. Note que esse diretório que está aberto é o
mesmo que você acessa usando o gerenciador de arquivos normal, conforme mostra
a Fig. 3.5.
Para descobrir em qual pasta você "está"atualmente, você pode rodar o comando
pwd. Ele imprime o caminho completo do sistema até chegar na sua pasta atual.
Você pode mudar a pasta que você “está” atualmente no terminal com o comando
cd + o nome da pasta alvo. Por exemplo, existe uma pasta "Documentos"dentro do
diretório atual, você pode executar o comando cd Documentos para entrar na pasta
Documentos. Se você fizer isso, o diretório atual do seu terminal passa a ser o Do-
cumentos, e todos comandos que você digitar vão ser referentes a essa pasta. Se
você executar ls, vão ser exibidos os arquivos dentro da pasta Documentos. Se você
executar pwd, será exibido o caminho até o diretório Documentos, e assim por diante.
Para retornar à pasta anterior execute o comando cd .. (cd + espaço + dois pontos).

3.4 Criando a conta na hoggar


As informações que apresentaremos abaixo estão disponíveis no site [4]. Aqui faze-
mos a transcrição exclusivamente para ambiente Unix. Se precisa utilizar as máquinas
de cálculo através do Windows, acesse [3].
É importante salientar que o email institucional da física deve ser criado antes de
efetivar os procedimentos abaixo. Para este fim, contacte o secretário ou Coordenador
do programa para solicitar a criação da conta, por exemplo: nick@fisica.ufpr.br (‘nick’
pode ser seu nome, sobrenome, iniciais, qualquer informação que te diferencie dos
demais).
Assim, daremos continuidade ao tutorial. Em ambiente unix o acesso externo
à informática do departamento é idêntico ao interno, com todas as funcionalidades
disponíveis. A única diferença é a velocidade da rede. O acesso é feito através do ssh,
que garante a autenticidade do usuário e criptografa toda a comunicação. O único
método de autenticação é public-key, portanto é preciso gerar a chave criptográfica e
transferir a parte pública para hoggar. A maneira de gerar a chave depende da versão
de ssh do usuário. Aqui usamos o openssh, que é a versão que vem nas distribuições
de Linux. As instruções abaixo são para esse software.
Para gerar a chave use o comando

sua-máquina% ssh-keygen -t rsa -f arquivo

Serão criados dois arquivos, “arquivo” e “arquivo.pub”. Sugiro usar um nome sugestivo,
como fisica. No que se segue os comandos estão escritos para essa convenção. O
programa pede uma frase de acesso; é fundamental colocar uma frase longa (mais de
CAPÍTULO 3. INTRODUÇÃO 10

Figura 3.3: (a)

Figura 3.4: (b)


Figura 3.5: Em (a) está o terminal com o comando ’ls’ exibindo os arquivos da pasta
/exemplo, e ao lado em (b), o gerenciador de arquivos com os mesmos documentos
dessa pasta.
CAPÍTULO 3. INTRODUÇÃO 11

10 caracteres) e sem regra gramatical. Pode-se usar espaços, caracteres de pontuação


e outros não alpha-numéricos.
Ponha “fisica” no diretório .ssh (note o ponto antes!):

sua-máquina% mv fisica .ssh

Se na maior parte das vezes for usar o ssh para conectar no departamento, é melhor
mudar o nome do arquivo:

sua-máquina% mv .ssh/fisica .ssh/id_rsa

porque esse é o default do programa. Envie fisica.pub por email para seu endereço
na hoggar (nick@fisica.ufpr.br), na forma de anexo. Note a extensão .pub.

Nunca envie o arquivo sem extensão .pub!!!


A etapa que segue deverá ser feita no departamento. Dirija-se ao PPGFis e
solicite acesso à hoggar na Secretaria. Em qualquer uma das máquinas disponíveis
coloque seu ‘nick’ e senha do email da física (nick@fisica.ufpr.br). Abra um terminal
da hoggar, e digite

hoggar% firefox &

para acessar sua conta de email, utilize o endereço https://fisica.ufpr.br/mail/src/webmail.php


e salvar o anexo do arquivo fisica.pub no computador2 . Acesse a pasta onde está lo-
calizado o arquivo e em seguida rode

hoggar% caminho_do_arquivo/ instala-chave fisica.pub

Pronto, agora você será capaz de acessar as máquinas de cálculo disponíveis no PPG-
Fis! Lembrando que no primeiro uso é necessário liberar o acesso às servidoras,
conforme exposto na Seção 4.3 do Cap. 4.

3.5 Acesso à hoggar


Para acessar a hoggar diretamente do seu computador pessoal, após realizar todos
os passos da seção anterior, basta abrir um terminal e escrever o seguinte:

sua-máquina% ssh hoggar.fisica.ufpr.br

Se seu login em sua máquina é diferente do daqui o comando é

sua-máquina% ssh -l seu-login-daqui hoggar.fisica.ufpr.br

ou

sua-máquina% ssh seu-login-daqui@hoggar.fisica.ufpr.br


2
Assumiremos a partir desse ponto que o arquivo fisica.pub está na pasta de downloads, mas existe
a possibilidade de cair em outra pasta. Vai dando o comando ls (para listar o conteúdo das pastas) até
você encontrar.
CAPÍTULO 3. INTRODUÇÃO 12

Se não tiver mudado o nome do arquivo de chave para id_rsa é necessário especificá-lo
na linha de comando:

sua-máquina% ssh -i .ssh/fisica seu-login-daqui@hoggar.fisica.ufpr.br

Para abir uma conexão em modo gráfico use

sua-máquina% ssh -i .ssh/fisica -f -X seu-login-daqui@hoggar.fisica.u

fpr.br rxvt -ls

Esse comando vai retornar ao prompt da sua máquina após pedir a frase de acesso,
e vai abrir uma janela da hoggar em sua tela. Dessa janela é possível rodar qualquer
programa, gráfico ou não. O programa vai rodar na hoggar e o resultado vai para
sua tela. A única desvantagem desse método é a necessidade de uma rede rápida.
Se a conexão é lenta, como por exemplo via modem, o tempo para abrir uma janela
ou o netscape é de cerca de 3 minutos ou mais :-( Para transferir arquivos usa-se o
comando scp, que é análogo ao cp mas exige autenticação e transfere os arquivos
usando criptografia. Leia o manual, man scp.
Se quiser usar o mozilla em sua máquina para lidar com o email use os comandos
abaixo antes de abrir a conexão de email:

sua-máquina% ssh -i .ssh/fisica -L 1234:localhost:110 -S seu-login-da

qui@hoggar.fisica.ufpr.br

sua-máquina% ssh -i .ssh/fisica -L 1235:localhost:25 -S seu-login-daq

ui@hoggar.fisica.ufpr.br

É preciso configurar o mozilla (ou outro como Kmail, etc.) para usar as portas 1234
para puxar o email e 1235 para mandar, sempre com o servidor pop3 e smtp sendo
localhost. Os números 123[45] não são essenciais, basta que sejam portas desocupadas
em sua máquina. O melhor é usar números maiores que 1024.
A única vantagem de rodar o programa de email em sua máquina em vez da
hoggar é a velocidade. Se a rede for rápida (ex. se for DSL) não vale a pena.
Capítulo 4

Usando a hoggar

Nos capítulos anteriores vimos o que é a hoggar e como acessá-la. Agora vere-
mos como de fato usar a hoggar para executar os programas de interesse (isto é,
como "rodar as contas"). Para isso, é necessária uma noção do Linux - nada demais,
mas recomendamos que você dê uma olhada no capítulo anterior se não se sentir
confortável com esse sistema.
Para começar, precisamos acessar a hoggar. A seção 3.5 descreve como fazer isso.
Dando certo, você passa a ter acesso à máquina principal. Os programas pesados
não devem ser rodados nela, mas nas servidoras (também chamadas de máquinas,
simplesmente), que são dedicadas justamente para isso.

4.1 Onde rodar: servidoras


Para ver quais servidoras estão operantes, digite no terminal o comando

hoggar% carga

Ele irá retornar uma lista com (i) o nome de todas as servidoras (máquinas) co-
nectadas à hoggar; (ii) o número de jobs em cada máquina (i.e. de processos rodando
lá); (iii) os professores com prioridade para acesso à cada máquina; (iv) a memória
ram total em cada uma, em GB (v) o clock dos processadores da máquinas (basica-
mente, a velocidade deles) e (vi) o número de cores em cada processador (de forma
simplificada, quantos jobs a máquina pode rodar simultaneamente). O comando leva
um tempinho para terminar, não se preocupe se demorar um pouco. A figura 4.1
mostra um exemplo do retorno desse comando.
Se uma máquina estiver inoperante, isso será dito no lugar do número de jobs.
Você pode acessar as máquinas com o comando

hoggar% win <nome da máquina>

Isso abrirá outra janela com um terminal de acesso à servidora. Na seção seguinte,
veremos exatamente como rodar o programa na máquina. Agora, vamos ver como
decidir qual das várias máquinas usar. As outras informações do comando carga
ajudam a fazer essa escolha, mas não há regras formais específicas para isso: você
terá que tomar a decisão.
Um programa simples rodando na máquina ocupa 1 job em 1 core. Se a máquina
tiver cores desocupados, esse processo é simples: o programa usa 100% do poder de

13
CAPÍTULO 4. USANDO A HOGGAR 14

Figura 4.1: Exemplo do resultado do comando carga, retornando as servidoras da


hoggar e as suas propriedades.
CAPÍTULO 4. USANDO A HOGGAR 15

processamento do core até terminar. Se, entretanto, os cores já estiverem ocupados


(i.e. se houver mais jobs do que número de cores), há um processo de distribuição do
tempo dos cores. Nesse caso, a distribuição de tempo de CPU é feita de acordo com a
prioridade de cada usuário. Essa prioridade é chamada de nice, e varia de -20 (maior
prioridade) até +19 (menor prioridade). O seu nice depende, em geral, da servidora.
Por padrão, todos os usuários têm o mesmo nice, em 0, mas isso depende de a qual
grupo cada usuário pertence. O grupo liderado pelos professores vistos na coluna (iii)
do comando em cada máquina tem nice menor (i.e. maior prioridade). Nas máquinas
universais não há um professor líder e portanto todos as dividem igualmente.
Outros pontos importantes a serem considerados é a quantidade de memória ram
e de cores. Se o seu programa usar bastante memória, pode ser necessário que
você rode apenas nas máquinas com mais ram (tentar ocupar mais ram do que está
disponível leva a erros fatais ao programa, como os temidos segmentation faults!).
Além disso, se o seu programa for paralelizado (isto é, se rodar vários subprogramas
simultaneamente, em múltiplos cores), o número de cores também é um fator óbvio
a ser considerado.

4.2 Com o que rodar: onde deixar os seus programas


Quando você acessa a hoggar, entra no seu diretório principal. O comando
“pwd” revela ele, que deve ser “/home/posgrad/seuusuario”, se você pertencer à pós-
graduação. As servidoras da hoggar não têm acesso aos programas nesse diretório.
Têm acesso a outro diretório: o “/home/jobs/seuusuario/”. Portanto, deixe nesse dire-
tório os programas que deseja executar nas máquinas. Elas enxergam esse diretório
normalmente. Como um exemplo, imagine que você possui no diretorio do jobs
um executável-exemplo chamado "hellohoggar.out"(que poderia ter sido criado num
programa-exemplo "hellohoggar.c". Entrando em qualquer servidora (pelo comando
”win"), você vai verificar que o executável está lá.
Um detalhe apenas é que o nome do diretório nas servidoras é "/home/user/seuusuario",
não "/home/jobs/seuusuario". Isso em geral não importa, mas eventualmente pode ser
relevante para algum programa seu.

4.3 Como rodar: usando as máquinas


Tendo escolhido a máquina e colocado os programas no lugar certo, você está
pronto para rodar o programa. Entretanto, antes é preciso desbloquear o acesso às
servidoras.
Para permitir acesso as maquinas de cálculo faça

hoggar% libera-servcpu

se ainda apresentar problemas, entre em uma máquina servidora qualquer e execute

servidora-de-calculo% libera-servcpu

se ainda assim não for possível executar seu código na servidora, entre em contato
com o administrador (Carlos).
CAPÍTULO 4. USANDO A HOGGAR 16

Basta reiniciar a máquina e seguir para os passos seguintes. Assim, para executar
o seu código na máquina selecionada, procedemos da mesma forma como faríamos
em qualquer computador:
servidora-de-calculo% <comando de execução> <executavel>
como "./executavel"(para executáveis do c/c++), ou "python executavel.py"(em Python),
"julia executavel.jl"(em Julia), e assim por diante para outros programas.
Com isso, você precisa esperar o programa terminar de rodar. É claro que se fosse
tão fácil não precisaríamos usar a hoggar! Geralmente os programas demoram, e
queremos poder deixá-los rodando na servidora, e ir fazer outra coisa - até mesmo
poder sair da hoggar. Para isso, use o comando
servidora-de-calculo% nohup <comando> <executavel> &
O primeira parte, nohup, torna o executavel independente do terminal que você
abriu. O segundo, &, põe o comando no background. O & é útil em várias situações,
pois permite que você rode um comando e continue com acesso ao terminal enquanto
ele roda. Com ambas as partes, você pode deixar o executável rodando e fechar o
terminal, até mesmo sair da hoggar, e ele permanecerá rodando.
O comando nohup cria um arquivo chamado “nohup.out". Qualquer mensagem
que seria mostrada no terminal é, ao invés, escrita nele. Se o seu programa terminar
em erro, por exemplo, você poderá ver a mensagem de erro nele (por exemplo, com
“cat nohup.out").
Esse é o básico, bastante simples, de como rodar os programas. Para programas
ou linguagens específicos, veja o capítulo 6. No resto desse capítulo, veremos mais
algumas dicas gerais para rodar programas.

4.3.1 Comandos úteis


Vários comandos facilitam a nossa vida e/ou dão informações importantes, e vale
a pena sabê-los de cor. Para começar, citamos o
servidora-de-calculo% top
Esse programa descreve os processos sendo rodados na máquina em detalhes. Des-
creve, por exemplo, o id de cada processo (pid), o nome do usuário responsável por
cada processo, quanta memória cada processo está ocupando, qual porcentagem de
CPU, quanta porcentagem de memória ram ocupada, quanto time de processador
usado, e até qual o comando que foi usado para rodar o programa (aperte “c"para ver
mais detalhes disso).
Você pode usar esse comando para bisbilhotar o que as outras pessoas estão
rodando verificar quanta memória seu programa está rodando, e quantos cores está
utilizando, o que pode ser importante em programas com uso intenso de memória
ou programas paralelizados. Se você quiser terminar um programa seu que está
rodando, pode usar o comando
servidora-de-calculo% kill <PID>
Se precisar terminar todos os seus programas, pode usar “kill -9 -1". Agora, se
deseja ver apenas os seus processos, faça “top -U <seuusuario>". Para ver quantos jobs
seus estão rodando em cada máquina da hoggar, pode usar “carga -U <seuusuario>".
CAPÍTULO 4. USANDO A HOGGAR 17

4.4 Como lidar com os resultados


Cada usuário tem direito a uma certa cota de espaço em disco para salvar o
que quiser (programas, resultados etc). Para saber quanta quota de disco você tem
disponível, use o comando

hoggar% quota -s

Ele irá dizer o espaço máximo disponível para você (em limit), e quanto espaço
você está ocupando (em space). É importantíssimo que vocẽ tome cuidado para não
salvar arquivos mais pesados do que a sua cota permite. Se um programa seu tentar
escrever um arquivo e você não tiver mais cota, o arquivo não será escrito, e o
programa continuará, de modo que você vai perder dados e pode demorar a perceber.
Por isso, recomenda-se 1 que você organize bem os arquivos e tome cuidado com a
sua cota.
Lembre-se que as servidoras têm acesso ao diretório “home/jobs/seuusuario", mas
não ao “/home/posgrad/seuusuario".
Além disso, para saber quanto espaço os arquivos seus arquivos ocupam, pode
ter uma ideia pelo comando clássico “ls", mas também pode usar “du -h <nomedo-
arquivo>". Se quiser saber o espaço de todos os arquivos num diretório, e nos seus
subdiretórios, pode usar “du -h". Se quiser estabelecer um threshold para que o co-
mando não imprima arquivos muito leves, use "”-t 1000M", para que apenas arquivos
com tamanho maior que 1000Mb sejam escolhidos. Se quiser saber a soma dos ta-
manho, use a flag “-s". Em resumo, para descobrir o tamanho ocupado num diretório
todo, use o comando

hoggar% du -sh

Se quiser saber os arquivos mais pesados, use

hoggar% du -ht 1000M

ou o valor que quiser.

4.4.1 Configurando a hoggar


Há algumas dicas que facilitam bastante o uso da hoggar. Uma importante é o
uso do “sshfs", que é descrito em 3.5. Com ele, você consegue acessar a hoggar
como se os arquivos e programas estivessem no seu computador, de modo que pode
usar as configurações e recursos o seu próprio computador. Isso inclui programas
que você tenha, como editores de texto, e configurações suas próprias. Dentro das
configurações do Linux, há uma pletora de formas de facilitar a sua vida, como aliases
("apelidos"). Você pode fazer alias de um comando bastante usado, e, ao invés de ter de
digitar esse comando toda hora, pode digitar o alias. Em seguida, sugerimos alguns
aliases úteis

• alias hoggar=’ssh -X $USER@hoggar.fisica.ufpr.br’

• alias mhoggar=’sshfs -o IdentityFile=/home/kalel/.ssh/id_rsa kalel@h


1
do fundo do coração, depois de muito tempo perdido
CAPÍTULO 4. USANDO A HOGGAR 18

oggar.fisica.ufpr.br:/home/jobs/kalel /home/kalel/hoggar’

• alias unhoggar=’fusermount -z -u ~/hoggar’

• alias ..=’cd ..’

• alias lt=’ls -lrth --color=yes’

antes de executar qualquer comando, crie a pasta hoggar dentro de sua home de
usuário. Com o comando hoggar você acessa o gerenciador das máquinas de cálculo,
com mhoggar é montada a pasta /home/kalel/hoggar/ que espelha seus arquivos das
servidoras em seu computador, e por fim, unhoggar desmonta essa pasta.
Essas linhas podem ser adicionadas ao arquivo .bashrc (ou .zshrc, se você usa
zsh), que ficam geralmente no seu diretório "/home"(o alias ‘mhoggar’ é escrita em
uma única linha), simplesmente digitando ctrl+h (pois é um arquivo oculto). Se tiver
interesse em mais, pode contatar o Kalel Rossi em "kalelluizrossi@gmail.com", e ele
ficará feliz em passar outros, e explicar como todos eles salvam muito tempo.
Além de encurtar comandos, outra configuração bastante útil faz com que você
possa permanecer conectado à hoggar por wi-fi por mais tempo sem perder a cone-
xão. Para isso, siga os passos abaixo

1. Vá ao diretório /etc/ssh/ com cd /etc/ssh.

2. Edite o arquivo ssh_config, com sudo gedit ssh_config (digite a sua senha
root).

3. No final do arquivo, escreva: ServerAliveInterval 120 .


Capítulo 5

Usando o lcpad

Até o momento aprendemos como utilizar os recursos disponíveis na hoggar. A


seguir, você aprenderá como executar os seus programas de interesse utilizando o
lcpad. Novamente, o raciocínio aqui desenvolvido é exclusivamente para Linux. Caso
venha a ter alguma dificuldade, revisite a Seção 3.3.
Aqui assumiremos que você já realizou todos os protocolos referentes a instalação
da chave de segurança id_rsa para a criação da conta na hoggar (veja a Seção 3.4).
Além disso, você terá permissão de acesso ao lcpad exclusivamente a partir da
solicitação do seu orientador para os administradores (Carlos ou Sérgio). Sem a
permissão deles é impossível acessar o lcpad!
Assumindo que tal limitação foi devidamente contornada, continuaremos com os
passos seguintes.

5.1 Acessando o lcpad


O acesso ao lcpad é muito parecido com o da hoggar. Aqui, ao invés de acessar
a sua conta com o endereço seu-usuario-daqui@hoggar.fisica.ufpr.br, você deve
utilizar o comando

sua-maquina% ssh -X seu-usuario-daqui@lcpad.ufpr.br

percebeu a diferença nas contas?


Os administradores criarão a conta seu-usuario-daqui@lcpad.ufpr.br (obvia-
mente com teu nome ou apelido) e te enviarão uma senha genérica. Recomenda-se
trocar de senha logo no primeiro acesso ao servidor. Pode-se consultar os recursos
disponíveis e as normas de uso digitando-se o comando normas no terminal (quando
logado). É essencial seguir as regras de submissão de jobs lá especificadas.
É fundamental que sempre que um resultado da sua tese ou artigo for obtido atra-
vés do lcpad venha acompanhado o agradecimento:

Esse trabalho foi parcialmente financiado pela FINEP através dos projetos CT-
INFRA/UFPR

e assim você será capaz de acessar facilmente os recursos do lcpad. Após esse co-
mando será solicitada a sua senha.

19
CAPÍTULO 5. USANDO O LCPAD 20

5.2 Onde rodar: servidoras


Para ver quais servidoras estão operantes, digite no terminal o comando

lcpad% carga

Ele irá retornar uma lista com (i) o nome de todas as servidoras (máquinas) exis-
tentes no lcpad; (ii) o número de jobs em cada máquina (i.e. de processos rodando lá);
(iii) a memória ram total em cada uma, em GB (iv) o clock dos processadores da má-
quinas (basicamente, a velocidade deles) e (v) o número de cores em cada processador
(de forma simplificada, quantos jobs a máquina pode rodar simultaneamente). Para
mais comando combinados ao carga, visite [2]. Assim como na hoggar, o comando
leva um tempinho para terminar, não se preocupe se demorar um pouco. A figura
5.1 mostra um exemplo do retorno desse comando.
Existem diversas máquinas adicionais (ver saída do comando normas) tais como
a01-a10, h01-h04, o01-o03 (dentre outras que estão ocultas). Se uma máquina estiver
inoperante, isso será dito no lugar do número de jobs (veja a máquina sgi-phi-1% da
Fig. 5.1).
Você pode acessar as máquinas com o comando

lcpad% rlogin <nome da máquina>

Isso fará com que o próprio terminal se torne o acesso à servidora (na hoggar
uma nova janela era criada). Agora, veremos como escolher qual dessas máquinas
você irá usar.
A lógica é a mesma: um programa simples rodando na máquina ocupa 1 job em
1 core. Se a máquina tiver cores desocupados, esse processo é simples: o programa
usa 100% do poder de processamento do core até terminar. Se, entretanto, os cores
já estiverem ocupados (i.e. se houver mais jobs do que número de cores), há um
processo de distribuição do tempo dos cores. Nesse caso, a distribuição de tempo de
CPU é feita de acordo com a prioridade de cada usuário.
Um ponto interessante é que não existe prioridade (ou proprietário) de tais máqui-
nas. Isso significa que você é livre para rodar em qualqur máquina os seus cálculos!
No entanto, recomendamos sempre o bom senso de escolher a servidora mais ‘va-
zia’ disponível, apesar de alguns usuários insistentemente lotarem máquinas que já
estão com o número de jobs igual ao de cores ocupados. Na seção seguinte, veremos
exatamente como rodar um programa na máquina.

5.3 Onde os seus programas e arquivos estão?


Ao acessar o lcpad você está em seu diretório principal. Se você digitar

lcpad% pwd

aparecerá a seguinte saída

/home/users/fisica/aron

dentro dessa pasta você pode criar ou salvar qualquer arquivo. Como medida de
organização, crie pastas para guardar seus programas e resultados de interesse.
CAPÍTULO 5. USANDO O LCPAD 21

Figura 5.1: Exemplo do resultado do comando carga, retornando as servidoras do


lcpad e as suas propriedades.
CAPÍTULO 5. USANDO O LCPAD 22

5.4 Como rodar: usando as máquinas


Tendo escolhido a máquina e colocado os programas no lugar certo, você está
pronto para rodar o programa. Aqui não há necessidade de desbloquear qualquer
máquina para ser utilizada. Para executar o seu código procedemos da mesma forma
como faríamos em qualquer computador:

servidora-de-calculo% <comando de execução> <executavel>

como "./executavel"(para executáveis do c/c++), ou "python executavel.py"(em Python),


"julia executavel.jl"(em Julia), e assim por diante para outros programas. Dessa forma,
é necessário aguardar o programa finalizar sua execução. Agora, assumindo que os
programas demoram, e você possa sair do lcpad sem que a execução seja interrom-
pida, use o comando

servidora-de-calculo% nohup <comando> <executavel> &

Como demonstramos na Seção 4.3, o comando nohup, torna o executavel inde-


pendente do terminal que você abriu. O segundo, &, põe o comando no background.
O & é útil em várias situações, pois permite que você rode um comando e continue
com acesso ao terminal enquanto ele roda. Com ambas as partes, você pode deixar
o executável rodando e fechar o terminal, até mesmo sair da hoggar, e ele perma-
necerá rodando. O comando nohup cria um arquivo chamado “nohup.out". Qualquer
mensagem que seria mostrada no terminal é, ao invés, escrita nele. Se o seu pro-
grama terminar em erro, por exemplo, você poderá ver a mensagem de erro nele
(por exemplo, com “cat nohup.out"). A partir desse ponto servem as mesmas dicas
devidamente apresentadas na Seção 4.3.1.

5.4.1 Configurando o lcpad


Algo de grande utilidade, e que já fizemos para a hoggar, é o uso do “sshfs".
Através desse recurso podemos acessar o lcpad como se os arquivos e programas
estivessem na sua máquina pessoal, de modo que seja possível utilizar as configurações
e recursos do seu próprio computador, tais como programas, editores de texto, entre
outros. Também definiremos alguns aliases ("apelidos") aqui, pois se você pretende
acessar diariamente as máquinas do lcpad, é conveniente digitar um comando (longo)
e repetitivo no terminal simplesmente usando um alias.
Como exemplo, seguem os aliases para montar via sshf o lcpad no seu compu-
tador

• alias lcpad=’ssh aron@lcpad.ufpr.br’

• alias mlcpad=’sshfs aron@lcpad.ufpr.br:/home/users/fisica/aron ~/lcpad’

• alias unlcpad=’fusermount -z -u ~/lcpad’

Essas linhas podem ser adicionadas ao arquivo .bashrc (ou .zshrc, se você usa zsh),
que ficam geralmente no seu diretório /home/aron/ (para achá-lo digite ctrl+h, pois
se trata de um arquivo oculto).
Para atualizar tais alterações no .bashrc, faça
CAPÍTULO 5. USANDO O LCPAD 23

sua-maquina% source ./bashrc

Lembre-se de criar uma pasta com o nome lcpad na sua home, ou seja,

sua-maquina% mkdir lcpad

pronto! Com o comando lcpad você acessa o gerenciador das máquinas de cálculo,
com mlcpad é montada a pasta /home/aron/lcpad/ que espelha seus arquivos das
servidoras em seu computador, e por fim, unlcpad desmonta essa pasta.
Capítulo 6

Programas específicos

Dedicamos este capítulo para a inclusão de informações sobre instalação, e uso,


de alguns programas úteis para a sua pesquisa.

6.1 Gaussian09 ou Gaussian16


Vamos dividir a instalação em 4 partes.
Parte 1: Descompactar e instalar o Gaussian09 ou Gaussian16.
Parte 2: Criar pasta scratch ou tmp dentro das maquinas.
Parte 3: Criar arquivo sh.
Parte 4: Rodando programa pela primeira vez no Gaussian.

Lembrando que nosso exemplo vai ser para o Gaussian16, mas pode ser usado
para instalar o Gaussian09, onde estiver g16 você coloca g09.

Parte 1

Compactar o g16 para um arquivo rar que está no meu computador (zip não
funciona). Comando para compactar:

$ rar a g16.rar g16

Comando geral: rar a nome-do-novo-arquivo.rar nome-da-pasta-para-compactar.

Abro meu terminal no local onde esta meu arquivo compactado g16.rar e entro na
hoggar pelo login sftp, para colocar o arquivo compactado na minha pasta. Exemplo:

$ cd ..
$ cd ../jobs/joaojp

Dentro da sua pasta na hoggar, você usa o comando abaixo para jogar o arquivo
do meu PC para dentro da hoggar:

$ put g16.rar

Abro outro terminal, mas com o login ssh para descompactar o arquivo g16.rar,
você pode usar o comando:

24
CAPÍTULO 6. PROGRAMAS ESPECÍFICOS 25

$ unrar x g16.rar

Após descompactar o arquivo você vai digitar os comandos abaixo para liberar
algumas licenças:

$ chmod -R 777 g16


$ chmod -R 700 g16

Parte 2

Dentro da hoggar pelo login ssh, eu vou chamar a maquina que desejo rodar meu
programa, como por exemplo a maquina pilat. (lembrando que os professores tem
suas maquinas que servem para o seu grupo de pesquisa e as universais que abrangem
todos os alunos.)

$ win pilat

Dentro da pilat eu preciso dar o comando bash e depois ir ate o local para criar
minha pasta. Segue os comandos abaixo.

$ bash
$ cd ..
$ cd ..
$ cd ..

Após esse comandos, você vai usar o comando ls para ver o que tem dentro deste
local onde você está.

$ ls

Apos este comando você vai ver que temos as pasta scratch ou tmp, você pode
criar sua pasta com seu nome em qualquer uma. No nosso exemplo vamos criar
nossa pasta na scratch. Segue o comando abaixo para entrar na pasta.

$ cd ../scratch

Dentro da pasta você cria uma pasta com o nome do seu login, como por exemplo.

$ mkdir joaojp

Após este comando eu fecho todos os terminais que estou na hoggar que o pro-
grama vai estar instalado. Lembrando que nosso exemplo foi para a maquina pilat,
mas quando for usar outra maquina você precisa repetir a parte 2 deste tutorial.

Parte 3

A montagem do arquivo sh pode ser feita copiando e colando as linhas abaixo


no editor de texto de sua preferência e nomeando o arquivo como rodag16.sh (ou o
nome de sua escolha).
CAPÍTULO 6. PROGRAMAS ESPECÍFICOS 26

#!/bin/sh

g16root="/home/users/joaojp"
casa=‘hostname‘
GAUSS_SCRDIR="/scratch/joaojp"
export g16root GAUSS_SCRDIR
. $g16root/g16/bsd/g16.profile
g16 <$1.gjf > $1.$casa.out

Onde estiver o nome joaojp você muda para seu o login, veja que temos a linha
abaixo.

GAUSS_SCRDIR="/scratch/joaojp"

Você precisa colocar se esta usando a pasta scratch ou tmp. Se você estiver usando
uma maquina que sua pasta esteja dentro da pasta tmp, como por exemplo a cyre,
você precisa fazer um no arquivo sh mudando de scratch para tmp seguindo a parte
3 deste tutorial.

Em seguida no terminal ssh você vai dar o comando abaixo para tornar o ar-
quivo.sh em execultável.

$ chmod +x rodag16.sh

Parte 4

O Gaussian é um software que faz simulação molecular, para desenhar moléculas


que podem ser analisadas no Gaussian você pode usar como sugestão o avogadro,
pois, o mesmo gera um input no formato do Gaussian.
Abrindo um terminal, mas com o login pelo sftp o usuário coloca o aquivo desejado
na sua pasta. Com o arquivo na sua pasta, você abre outro terminal com o login ssh
e entra na maquina no qual quer rodar, como por exemplo a pilat e usa o comando
abaixo:

$ ./rodag09.sh arquivo & disown %

(repare que o arquivo não tem o complemento .gjf ou .com, que e gerado
pelo programa que desenha as moléculas)

6.2 Perspectivas Futuras


Para as próximas edições deste Manual, esperamos contribuições de outros estu-
dantes ou professores para que novas seções sejam criadas para abordar de maneira
introdutória sobre programas, como por exemplo: ORCA, Julia, Maple, ICPC, GIT,
Python, LaTeX, CVODE, ou algum outro que se tenha conhecimento e disponibilidade
para ensinar!
Referências Bibliográficas

[1] Richard L. Scheffel, Susan J. Wernet, et al., Natural Wonders of the World (Rea-
der’s Digest Association, United States of America, Inc. pp. 32–33. ISBN 0-89577-
087-3., 1980).

[2] LEG: Laboratório de Estatística e Geoinformação, Configuração e uso do LC-


PAD, http://www.leg.ufpr.br/doku.php/dicas:lcpad, Acesso em: 30 de no-
vembro de 2021.

[3] Instruções de configuração - windows, Roteiro para Instalação do Bit-


vise, Configuração de Chaves ssh, Definição das Portas Para os Túneis
ssh e Configuração do Thunderbird, http://fisica.ufpr.br/departamento/
acesso/roteiro$_$bitvise.pdf, Acesso em: 01 de dezembro de 2021.

[4] Instruções de configuração - unix, Roteiro de Acesso a Hoggar, http://fisica.


ufpr.br/departamento/acesso/instr-unix.html, Acesso em: 01 de dezembro
de 2021.

[5] Nonweiler, Terence R.F., Computational mathematics. an introduction to nume-


rical approximation, Ellis Horwood Series in Mathematics and its Applications,
1984.

27

Você também pode gostar