{"id":222,"date":"2015-07-22T14:21:15","date_gmt":"2015-07-22T17:21:15","guid":{"rendered":"https:\/\/sites.ifi.unicamp.br\/hpc\/?p=222"},"modified":"2015-07-22T14:21:15","modified_gmt":"2015-07-22T17:21:15","slug":"comparativo-gpu-x-cpu","status":"publish","type":"post","link":"https:\/\/sites.ifi.unicamp.br\/hpc\/2015\/07\/22\/comparativo-gpu-x-cpu\/","title":{"rendered":"Comparativo: GPU X CPU"},"content":{"rendered":"<p>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\u00e3o dos mesmos \u00e0s CPUs.<br \/>\nPara ilustrar os fatos, foi realizado um teste de performance utilizando o software Lammps compilado com a biblioteca GPU, tendo como input o arquivo &#8220;in.lj&#8221;, que se encontra no diret\u00f3rio &#8220;\/examples\/accelerate\/&#8221; do Lammps. No arquivo apenas foram alteradas as vari\u00e1veis xx, yy e zz para 40 com o intuito de aumentar a quantidade de tempo do processamento.<\/p>\n<blockquote><p># 3d Lennard-Jones melt<\/p>\n<p>variable\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 x index 1<br \/>\nvariable\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 y index 1<br \/>\nvariable\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 z index 1<br \/>\nvariable\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t index 100<\/p>\n<p>variable\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 xx equal 40*$x<br \/>\nvariable\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 yy equal 40*$y<br \/>\nvariable\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 zz equal 40*$z<\/p>\n<p>units\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 lj<br \/>\natom_style\u00a0\u00a0\u00a0\u00a0\u00a0 atomic<\/p>\n<p>lattice\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 fcc 0.8442<br \/>\nregion\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 box block 0 ${xx} 0 ${yy} 0 ${zz}<br \/>\ncreate_box\u00a0\u00a0\u00a0\u00a0\u00a0 1 box<br \/>\ncreate_atoms\u00a0\u00a0\u00a0 1 box<br \/>\nmass\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1 1.0<\/p>\n<p>velocity\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 all create 1.44 87287 loop geom<\/p>\n<p>pair_style\u00a0\u00a0\u00a0\u00a0\u00a0 lj\/cut 2.5<br \/>\npair_coeff\u00a0\u00a0\u00a0\u00a0\u00a0 1 1 1.0 1.0 2.5<\/p>\n<p>neighbor\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0.3 bin<br \/>\nneigh_modify\u00a0\u00a0\u00a0 delay 0 every 20 check no<\/p>\n<p>fix\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1 all nve<\/p>\n<p>thermo\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 100<\/p>\n<p>run\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 $t<\/p><\/blockquote>\n<p><strong><br \/>\nEspecifica\u00e7\u00f5es de Hardware: computador Mach<\/strong><br \/>\nCPU: 01 Intel Xeon E5-2609 de 4 n\u00facleos a 2.4 GHZ;<br \/>\nGPU: Nvidia Quadro K600 com 1GB de mem\u00f3ria de v\u00eddeo e 192 CUDA cores<br \/>\n<strong><br \/>\nEspecifica\u00e7\u00f5es de Hardware: Cluster Feynman (node gn001)<\/strong><br \/>\nCPU: 02 Intel Xeon E5620 de 4 n\u00facleos a 2.4 GHZ;<br \/>\nGPU: Nvidia Tesla C2050 com 3GB de mem\u00f3ria de v\u00eddeo e 448 CUDA cores<\/p>\n<p><strong>Instru\u00e7\u00e3o do Lammps executada (dentro do diret\u00f3rio &#8220;\/src&#8221;)<\/strong><\/p>\n<p><strong>Utilizando CPU:<\/strong> mpirun -np 1 .\/lmp_gpu &lt; ..\/examples\/accelerate\/in.lj<br \/>\n<strong>Utilizando GPU:<\/strong> mpirun -np 1 .\/lmp_gpu -sf gpu &lt; ..\/examples\/accelerate\/in.lj<\/p>\n<p><strong>Resultados:<\/strong><br \/>\n<strong>Mach<\/strong><br \/>\nCPU: 0m24.358s<br \/>\nGPU: 0m7.168s<br \/>\n<strong>O tempo de processamento em GPU foi 3,4 vezes mais r\u00e1pido em compara\u00e7\u00e3o \u00e0 CPU<\/strong><\/p>\n<p><strong>Feynman<\/strong><br \/>\nCPU: 0m27.432s<br \/>\nGPU: 0m6.007s<br \/>\n<strong>O tempo de processamento em GPU foi 4,5 vezes mais r\u00e1pido em compara\u00e7\u00e3o \u00e0 CPU<\/strong><\/p>","protected":false},"excerpt":{"rendered":"<p>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\u00e3o dos mesmos \u00e0s 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 &#8220;in.lj&#8221;, que &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/sites.ifi.unicamp.br\/hpc\/2015\/07\/22\/comparativo-gpu-x-cpu\/\">Continue lendo<\/a><\/p>\n","protected":false},"author":144,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-222","post","type-post","status-publish","format-standard","hentry","category-sem-categoria","item-wrap"],"_links":{"self":[{"href":"https:\/\/sites.ifi.unicamp.br\/hpc\/wp-json\/wp\/v2\/posts\/222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sites.ifi.unicamp.br\/hpc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sites.ifi.unicamp.br\/hpc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sites.ifi.unicamp.br\/hpc\/wp-json\/wp\/v2\/users\/144"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.ifi.unicamp.br\/hpc\/wp-json\/wp\/v2\/comments?post=222"}],"version-history":[{"count":8,"href":"https:\/\/sites.ifi.unicamp.br\/hpc\/wp-json\/wp\/v2\/posts\/222\/revisions"}],"predecessor-version":[{"id":230,"href":"https:\/\/sites.ifi.unicamp.br\/hpc\/wp-json\/wp\/v2\/posts\/222\/revisions\/230"}],"wp:attachment":[{"href":"https:\/\/sites.ifi.unicamp.br\/hpc\/wp-json\/wp\/v2\/media?parent=222"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sites.ifi.unicamp.br\/hpc\/wp-json\/wp\/v2\/categories?post=222"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sites.ifi.unicamp.br\/hpc\/wp-json\/wp\/v2\/tags?post=222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}