Meu Primeiro Job

Um passo a passo para quem está começando com HPC no CENAPAD‑SP (Ambiente Dell/NVIDIA “Lovelace”). Vamos conectar, criar um script PBS, submeter na fila testes, acompanhar e trazer os resultados.

Passo a Passo

  Importante: o servidor cenapad.unicamp.br é um servidor de login. 
  Não edite, compile ou submeta jobs nele. Faça isso na frontend do Lovelace.

  Fluxo correto: ssh -p 31459 seu_login@cenapad.unicamp.brssh lovelace.

Pré‑requisitos

  • Conta ativa e 2º fator configurado (TOTP via Google Authenticator ou compatível).
  • Cliente SSH instalado (Linux/macOS nativo; no Windows use OpenSSH/PowerShell ou PuTTY).

Detalhes no Guia: Primeiro acesso e políticas de senha.

1) Conectar ao CENAPAD‑SP (servidor de login)

Abra um terminal na sua máquina e conecte:

$ ssh -p 31459 SEU_LOGIN@cenapad.unicamp.br
Password: ********
Verification code: 123456   ← código TOTP do seu app (2º fator)

O segundo fator é solicitado como Verification code: após o Password:. Se autenticar, você estará no servidor de login.

Opcional avançado: atalho com ProxyJump (funciona com 2FA)

O OpenSSH (≥ 7.3) suporta -J/ProxyJump com prompts interativos (senha + 2o. Fator). Exemplo:

# ~/.ssh/config
Host cenapad
  HostName cenapad.unicamp.br
  Port 31459
  User SEU_LOGIN
  PreferredAuthentications keyboard-interactive,password
  KbdInteractiveAuthentication yes

Host lovelace
  HostName lovelace
  ProxyJump cenapad

Com isso, ssh lovelace pedirá Password e Verification code do servidor de login e abrirá a sessão na frontend.

2) Entrar na frontend do ambiente Lovelace

No servidor de login, entre na máquina lovelace:

$ ssh lovelace

Aqui é o lugar certo para preparar e submeter jobs. O seu $HOME do Lovelace é visível a partir do servidor de login via ~/homelovelace. Guia: Transferência de arquivos.

3) Criar pasta e um script de job (PBS)

$ mkdir -p ~/meu_primeiro_job
$ cd ~/meu_primeiro_job
$ nano job_testes.pbs

Exemplo de script para a fila testes com uma continha leve (soma 1..100000):

#!/bin/bash
#PBS -N primeiro_job
#PBS -q testes
#PBS -e erros.txt
#PBS -o saida.txt

# Volta ao diretório de submissão
cd "$PBS_O_WORKDIR"

echo "Início: $(date)"
echo "Nó: $(hostname)"
echo "CPUs visíveis: $(getconf _NPROCESSORS_ONLN 2>/dev/null || nproc 2>/dev/null || echo 'N/D')"

# Uma conta leve para um gerar resultado:
awk 'BEGIN {s=0; for(i=1;i<=100000;i++) s+=i; print "SOMA_1..100000=" s}'
echo "Fim: $(date)"

4) Submeter, monitorar (e cancelar se preciso)

$ qsub job_testes.pbs
12345.ada    ← ID do job

$ qstat -u $USER
$ qstat -f 12345.ada

# Cancelar (se necessário)
$ qdel 12345.ada

Estados comuns: Q (aguardando), R (executando). Mais detalhes e limites por fila: Execução de jobs na Lovelace.

5) Transferir arquivos (sempre da sua máquina)

Use o servidor de login cenapad.unicamp.br na porta 31459 e o diretório ~/homelovelace:

# → Enviar arquivo local para seu HOME no Lovelace
$ scp -P 31459 ./saida.txt SEU_LOGIN@cenapad.unicamp.br:~/homelovelace/meu_primeiro_job/

# ← Baixar do Lovelace
$ scp -P 31459 SEU_LOGIN@cenapad.unicamp.br:~/homelovelace/meu_primeiro_job/saida.txt .

Passo a passo oficial: Ambientes & transferência.

Por que é assim?

  • Servidor login separado: concentra autenticação (com 2FA), reduz superfície de ataque e evita concorrência com usuários que estão preparando jobs. Por isso não compilar/editar no servidor de login; use a frontend lovelace. Acesso aos equipamentos.
  • Filas (OpenPBS): o scheduler seleciona quando e onde executar; a política de fairshare dá prioridade a quem usou menos recursos recentemente (com decaimento ~24h). Execução de jobs.
  • Containers: Docker é evitado em HPC multiusuário; use Singularity/Apptainer no Lovelace. Guia de Singularity.

Links úteis (Guia do Usuário)