O computador Mach, bem como o cluster Feynman possuem GPUs, as quais em determinados casos podem acelerar em muito os processos, se comparado a submissão dos mesmos às CPUs.
Para ilustrar os fatos, foi realizado um teste de performance utilizando o software Lammps compilado com a biblioteca GPU, tendo como input o arquivo “in.lj”, que se encontra no diretório “/examples/accelerate/” do Lammps. No arquivo apenas foram alteradas as variáveis xx, yy e zz para 40 com o intuito de aumentar a quantidade de tempo do processamento.
# 3d Lennard-Jones melt
variable x index 1
variable y index 1
variable z index 1
variable t index 100variable xx equal 40*$x
variable yy equal 40*$y
variable zz equal 40*$zunits lj
atom_style atomiclattice fcc 0.8442
region box block 0 ${xx} 0 ${yy} 0 ${zz}
create_box 1 box
create_atoms 1 box
mass 1 1.0velocity all create 1.44 87287 loop geom
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5neighbor 0.3 bin
neigh_modify delay 0 every 20 check nofix 1 all nve
thermo 100
run $t
Especificações de Hardware: computador Mach
CPU: 01 Intel Xeon E5-2609 de 4 núcleos a 2.4 GHZ;
GPU: Nvidia Quadro K600 com 1GB de memória de vídeo e 192 CUDA cores
Especificações de Hardware: Cluster Feynman (node gn001)
CPU: 02 Intel Xeon E5620 de 4 núcleos a 2.4 GHZ;
GPU: Nvidia Tesla C2050 com 3GB de memória de vídeo e 448 CUDA cores
Instrução do Lammps executada (dentro do diretório “/src”)
Utilizando CPU: mpirun -np 1 ./lmp_gpu < ../examples/accelerate/in.lj
Utilizando GPU: mpirun -np 1 ./lmp_gpu -sf gpu < ../examples/accelerate/in.lj
Resultados:
Mach
CPU: 0m24.358s
GPU: 0m7.168s
O tempo de processamento em GPU foi 3,4 vezes mais rápido em comparação à CPU
Feynman
CPU: 0m27.432s
GPU: 0m6.007s
O tempo de processamento em GPU foi 4,5 vezes mais rápido em comparação à CPU