Script para executar um trabalho seqüencial

0

Comecei recentemente a aprender usando o Linux. Eu quero escrever um script no bash shell para executar um trabalho serial em um cluster. Eu tenho procurado por dicas e instruções sobre como escrever tal script. Eu consegui escrever o seguinte:

#!/bin/bash
#PBS -l nodes=1:ppn=8
#PBS -l walltime=1:00:00
#PBS -e test.err
#PBS -o test.log
cd /home/myuser/
echo "Running on host 'hostname'"
echo "Time is 'date'"
echo "Directory is 'pwd'"
/home/myuser/comsol4.3b/bin/comsol batch -inputfile DF.mph -outputfile output.mph -batchlog out.log

A última linha chama o programa (é chamado COMSOL) para ser executado. Uma das coisas que estão faltando no meu código é o comando “qsub”; Eu não sei como incorporá-lo com o resto dos comandos no meu código. Alguém pode me instruir como modificar a linha que chama o programa que estou usando pelo comando “qsub”, por favor?

Desculpe se minha pergunta é tão simples, passei muito tempo tentando fazer isso funcionar, mas infelizmente não pude.

EDIT : Para resumir, se eu digitei a última linha do código APENAS, ela será executada somente no nó principal, não quero isso. O que eu quero é modificar a última linha do código de tal forma que ele use os recursos que eu aloquei para ele usando linhas PBS, como devo fazer isso?

Para o registro, o comando qhost mostra que há 250 nós com núcleos variados por nó de 4 núcleos / nó a 16 núcleos / nó

    
por Gotaquestion 11.11.2013 / 16:12

1 resposta

1

Você não diz especificamente qual software de clustering está usando, mas com base no fato de estar perguntando sobre qsub , eu sei que tanto o GridEngine (e derivados) como o PBS usam esse comando em particular, então vamos comece com isso.

Estou mais familiarizado com o GridEngine (e derivativos), por isso, para enviar um comando usando esse pacote, você faria algo assim.

Exemplo

Aqui está um exemplo de script, nós o chamamos de sample.bash .

#!/bin/bash
echo "Working directory is $PWD"

Para enviar este script, faça o seguinte:

$ qsub sample.bash

Para segmentar nós específicos dentro do cluster, você precisará incluir atributos exclusivos de um conjunto desses nós, para que o software de planejamento GridEngine possa escolher um desses nós e executar sua tarefa em um deles. / p>     

por 12.11.2013 / 17:41