AMD FX-8150@4.086GHz / GPU XFX HD7970 GHz edition / MPICH 3.0.1 /
Open64 4.5.2 (AMD) / APP SDK 2.8 / LAMMPS 20130121 (compiled with -O3)
Results for Rhodopsin
On the FX-8150
Single core 45.9495 seconds
4 cores 11.94 seconds
8 cores 7.06722 seconds
On the GPU HD7970 GHz edition
1 proc 4.8 seconds
2 procs 3.67 seconds
Results with FirePro3D V8800 and Tesla C2050
https://sites.google.com/site/akohlmey/news-and-announcements/gpuacceleratedlammpsonamdgpus
Results for EAM
1 procs
mpirun -n 1 ./lmp_mpich -sf gpu -c off -v g 1 -v x 80 -v y 80 -v z 80 -v t 100 < in.eam.gpu
--------------------------------------------------------------------------
GPU 0: Tahiti, 256 cores, 2.9 GB, 1.1 GHZ (Double Precision)
--------------------------------------------------------------------------
Initializing GPU and compiling on process 0...Done.
Initializing GPU 0 on core 0...Done.
Setting up run ...
Memory usage per processor = 426.905 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1600 -7249920 0 -6826360.6 18704.149
50 780.81547 -7031660.9 0 -6824959.8 52291.364
100 798.21786 -7036295.3 0 -6824987.4 51479.467
Loop time of 27.893 on 1 procs for 100 steps with 2048000 atoms
2 procs
mpirun -n 2 ./lmp_mpich -sf gpu -c off -v g 1 -v x 80 -v y 80 -v z 80 -v t 100 < in.eam.gpu
--------------------------------------------------------------------------
GPU 0: Tahiti, 256 cores, 2.9 GB, 1.1 GHZ (Double Precision)
--------------------------------------------------------------------------
Initializing GPU and compiling on process 0...Done.
Initializing GPU 0 on core 0...Done.
Initializing GPU 0 on core 1...Done.
Setting up run ...
Memory usage per processor = 225.757 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1600 -7249920 0 -6826360.6 18704.149
50 780.81547 -7031660.9 0 -6824959.8 52291.364
100 798.21786 -7036295.3 0 -6824987.4 51479.467
Loop time of 22.4219 on 2 procs for 100 steps with 2048000 atoms
mpirun -n 1 ./lmp_cuda -sf cuda -v g 2 -v x 80 -v y 80 -v z 80 -v t 100 < in.eam.cuda
LAMMPS (21 Jan 2013)
# Using LAMMPS_CUDA
USER-CUDA mode is enabled (lammps.cpp:393)
# CUDA: Activate GPU
# Using device 0: GeForce GTX 580
Lattice spacing in x,y,z = 3.615 3.615 3.615
Created orthogonal box = (0 0 0) to (289.2 289.2 289.2)
1 by 1 by 1 MPI processor grid
Created 2048000 atoms
# CUDA: VerletCuda::setup: Allocate memory on device for maximum of 2050000 atoms...
# CUDA: Using precision: Global: 8 X: 8 V: 8 F: 8 PPPM: 8
Setting up run ...
# CUDA: VerletCuda::setup: Upload data...
# CUDA: Total Device Memory useage post setup: 1314.117188 MB
Memory usage per processor = 416.017 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1600 -7249920 0 -6826360.6 18704.149
50 780.81547 -7031660.9 0 -6824959.8 52291.364
100 798.21786 -7036295.3 0 -6824987.4 51479.467
Loop time of 20.0248 on 1 procs for 100 steps with 2048000 atoms
Mostrando postagens com marcador GTX580. Mostrar todas as postagens
Mostrando postagens com marcador GTX580. Mostrar todas as postagens
sexta-feira, 25 de janeiro de 2013
sábado, 8 de dezembro de 2012
LAMMPS (CUDA/GTX580)
Uma simulação com mais de 2 milhões
de atomos usando o potencial EAM em uma placa de vídeo GTX 580 no LAMMPS com CUDA.
--------------------------------------------------------------------------
RESULTADOS
--------------------------------------------------------------------------
--------------------------------------------------------------------------
Na GPU GTX 580 1.544 GHz CUDA
--------------------------------------------------------------------------
# CUDA: Activate GPU
# Using device 0: GeForce GTX 580
Lattice spacing in x,y,z = 3.615 3.615 3.615
Created orthogonal box = (0 0 0) to (289.2 289.2 285.585)
1 by 1 by 1 MPI processor grid
Created 2022400 atoms
# CUDA: VerletCuda::setup: Allocate memory on device for maximum of 2030000 atoms...
# CUDA: Using precision: Global: 8 X: 8 V: 8 F: 8 PPPM: 8
Setting up run ...
# CUDA: VerletCuda::setup: Upload data...
# CUDA: Total Device Memory useage post setup: 1316.125000 MB
Memory usage per processor = 412.306 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1600 -7159296 0 -6741031.1 18704.149
50 780.71972 -6943740.2 0 -6739647.9 52292.948
100 798.21531 -6948340.9 0 -6739675 51478.838
Loop time of 19.7667 on 1 procs for 100 steps with 2022400 atoms
--------------------------------------------------------------------------
Na CPU AMD Phenom(tm) II X6 1100T
--------------------------------------------------------------------------
2 by 3 by 1 MPI processor grid
Created 2022400 atoms
Setting up run ...
Memory usage per processor = 130.318 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1600 -7159296 0 -6741031.1 18704.149
50 780.71972 -6943740.2 0 -6739647.9 52292.948
100 798.21531 -6948340.9 0 -6739675 51478.838
Loop time of 108.489 on 6 procs for 100 steps with 2022400 atoms
Uma GTX580 usando OpenCL é mais lento que o HD7970 para esse tipo de cálculo. O estranho é que só aparecem 256 cores no HD7970, e tinha visto em algum lugar que são 2048 para precisão simples e 512 para precisão dupla. Já o GTX580 aparecem os 512 cores.
--------------------------------------------------------------------------GPU 0: GeForce GTX 580, 512 cores, 1.4/1.5 GB, 1.5 GHZ (Double Precision)
--------------------------------------------------------------------------
Initializing GPU and compiling on process 0...Done.
Initializing GPUs 0-1 on core 0...Done.
Setting up run ...
Memory usage per processor = 215.701 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1600 -3537961 0 -3331264.1 18704.139
50 780.24619 -3431376.3 0 -3330579.7 52317.163
100 798.09276 -3433696.3 0 -3330594.2 51480.829
Loop time of 17.601 on 1 procs for 100 steps with 999424 atoms
--------------------------------------------------------------------------
GPU 0: Tahiti, 256 cores, 2.8 GB, 1.1 GHZ (Double Precision)
GPU 1: AMD FX(tm)-8150 Eight-Core Processor, 8 cores, 3.6 GHZ (Double Precision)
--------------------------------------------------------------------------
Initializing GPU and compiling on process 0...Done.
Initializing GPUs 0-1 on core 0...Done.
Setting up run ...
Memory usage per processor = 215.69 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1600 -3537961 0 -3331264.1 18704.139
50 780.24619 -3431376.3 0 -3330579.7 52317.163
100 798.09276 -3433696.3 0 -3330594.2 51480.829
Loop time of 14.9655 on 1 procs for 100 steps with 999424 atoms
Olhando o desmpenho da GTX580(CUDA) vs HD7970(OpenCL post anterior) parece que o ganho está no clock da GPU, só com a aparencia não dá para concluir nada, mas está faltando cores no HD7970, está, desde os primordios sempre uma ATI teve mais cores do que as GPUs da NVIDIA, e essa que tinha um clock mais elevado na briga pelo desempenho.
Assinar:
Postagens (Atom)