ManyCore » History » Version 3

Version 2 (Beraldo Leal, 28 Jun 2013 11:39) → Version 3/13 (Beraldo Leal, 28 Jun 2013 11:40)

h1. ManyCore

h2. Acessando o XeonPhi

A XeonPhi está instalada na máquina (phi01.ncc.unesp.br), para acessar você deve ter uma conta na base LDAP do NCC.

<pre>
$ ssh phi01.ncc.unesp.br
</pre>

Para garantir que um usuário/grupo utilize a XeonPhi por vez, nesta máquina encontra-se instalado o gerenciador de recursos, "Torque":http://www.adaptivecomputing.com/products/open-source/torque/. Então toda vez que quiser utilizar o XeonPhi, você deve entrar na fila de espera para utilização. Utilize o comando abaixo para obter uma shell interativa:

<pre>
$ qsub -I
</pre>

Ao sair da shell automaticamente você liberará o recurso para outros utilizarem. Sua shell será finalizada após *1 hora*, você pode alterar esse valor com o parametro walltime para o tempo máximo de utilização de 24 horas.

Para executar um script não interativo, e com tempo máximo de execução de 2 horas, execute:

<pre>
$ qsub -l walltime=02:00:00 /home/user/script.sh
</pre>

Para ver a fila atual, execute:

<pre>
$ qstat
</pre>

Desta forma você estará na máquina que possui o XeonPhi instalado, para fazer ssh para a própria XeonPhi, execute:

<pre>
$ ssh root@mic0
</pre>

Para maiores informações sobre submissões de jobs, utilizando o Torque, consulte o "manual do torque":http://www.clusterresources.com/torquedocs21/2.1jobsubmission.shtml.

h2. Compilação

No diretório _/opt/ncc_demo/_ existe o arquivo _hello-openmp.c_. Copie para o seu diretório.

h3. Compilação OpenMP

<pre>
# compilacao
icc -mmic -openmp hello-openmp.c -o hello-openmp

# copie o ambiente para o xeon phi
/opt/ncc-demo/copy-openmp-env.sh
</pre>

h3. Execução interativa

<pre>
# aloque o recurso
qsub -I

# copie o seu executável
scp hello-openmp root@mic0:

# acesse o xeon phi
ssh root@mic0

# execute sua aplicação
./hello-openmp

# termine a sessão (2x)
exit
exit
</pre>

h3. Execução em fila

Alternativamente, para enviar o processo como job batch, prepare um arquivo (hello-openmp.pbs):
<pre>
#!/bin/bash
scp hello-openmp root@mic0:
ssh root@mic0 /root/hel