30.07.2015 Views

Actas JP2011 - Universidad de La Laguna

Actas JP2011 - Universidad de La Laguna

Actas JP2011 - Universidad de La Laguna

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Actas</strong> XXII Jornadas <strong>de</strong> Paralelismo (<strong>JP2011</strong>) , <strong>La</strong> <strong>La</strong>guna, Tenerife, 7-9 septiembre 2011distancia <strong>de</strong> cada punto a su centroi<strong>de</strong> es la menor.Se trata <strong>de</strong> hacer particiones que minimicen laheterogeneidad <strong>de</strong> los datos <strong>de</strong> los que se componecada una <strong>de</strong> las particiones.En la versión original ya aparecen los tests LC,SRAD, HS, BP, NW, KM, SC, y BFS, mientras que LU, HW,CFD, y PF fueron añadidos con posterioridad [15].III. El entorno computacional<strong>La</strong> Tabla I sintetiza las características <strong>de</strong> los4 sistemas en los que se han llevado a cabo losexperimentos. tarja es un servidor Bull NovaScale4040, tajinaste es un cluster que consta <strong>de</strong>7 nodos <strong>de</strong> cómputo, cada uno <strong>de</strong> ellos con 2microprocesadores <strong>de</strong> doble núcleo, lo que haceun total <strong>de</strong> 4 núcleos por nodo, y un total <strong>de</strong> 28procesadores <strong>de</strong> cómputo. Para los experimentosen OpenMP se ha usado un único nodo <strong>de</strong>tajinaste. bejeque es un sistema <strong>de</strong> memoriacompartida con un total <strong>de</strong> 32 cores. Por últimogaroe es una estación <strong>de</strong> trabajo con 4 cores y8 threads <strong>de</strong> ejecución a la que están conectadaslas dos tarjetas gráficas cuyas características másrelevantes se muestran en la Tabla II. <strong>La</strong>s dos GPUscorrespon<strong>de</strong>n a la generación actual (Fermi) y laanterior <strong>de</strong> la línea profesional (Tesla) <strong>de</strong> NVIDIA.Para las ejecuciones en OpenMP se hanutilizado dos máquinas con procesadores Intel<strong>de</strong> 2 arquitecturas diferentes y otras dos conprocesadores AMD. Todas las ejecuciones CUDA sehan realizado en la estación garoe usando solamenteuna <strong>de</strong> las dos GPUs en cada ejecución.Característica Tesla C2050 Tesla C1060Chip T20 T10Número <strong>de</strong> núcleos 448 240Frecuencia <strong>de</strong>l núcleo 1,15 GHz 1,30 GHzMemoria 3 GB 4 GBFrecuencia <strong>de</strong> la memoria 1,5 GHz 0,8 GHzTasa <strong>de</strong> transferencia 144 GB/s 102 GB/sGFLOPs (simple) 1030 GFlop/s 933 GFlop/sGFLOPs (doble) 515 GFlop/s 78 GFlop/sConsumo 247 W 187 WTABLA IIGPUs utilizadas en los experimentosEn cuanto a los compiladores, se han utilizado lasúltimas versiones (4.3.5 y 11.0 respectivamente) <strong>de</strong>los compiladores gcc e icc en el caso <strong>de</strong> las versionessecuenciales y OpenMP <strong>de</strong> los códigos, mientras quepara la versión CUDA hemos utilizado la versión 4.0,V0.2.1221 <strong>de</strong>l compilador nvcc <strong>de</strong> NVIDIA.Para los resultados que se presentan en estetrabajo, todos los tests han sido compilados <strong>de</strong>forma uniforme utilizando las siguientes opciones <strong>de</strong>compilación:• -O3 para las versiones secuenciales <strong>de</strong> los códigos• -O3 (-fopenmp | -openmp) para las versionesOpenMP• -O3 para la versión CUDAHemos realizado experimentos adicionales probandodiferentes opciones <strong>de</strong> compilación específicas <strong>de</strong>cada arquitectura, que no se presentan en estetrabajo por razones <strong>de</strong> espacio.En cuanto a los tamaños <strong>de</strong> entrada para cadauno <strong>de</strong> los tests <strong>de</strong>l benchmark, por razones <strong>de</strong>compatibilidad <strong>de</strong> nuestros resultados con losobtenidos por los autores <strong>de</strong> Rodinia, hemosrespetado los tamaños <strong>de</strong> entrada que figuran enel benchmark tal como se <strong>de</strong>scarga <strong>de</strong> la web <strong>de</strong>Rodinia [16].IV. Resultados ExperimentalesPor razones <strong>de</strong> espacio es imposible reflejaral completo en este trabajo los resultados <strong>de</strong> laexperiencia computacional que se ha realizado. Asípues, intentaremos mostrar aquellos resultados quepuedan parecer más relevantes y que permitan sacarconclusiones sobre los experimentos.El primer tipo <strong>de</strong> experimentos que se realizaró fuela ejecución <strong>de</strong> la versión OpenMP <strong>de</strong> todos los tests<strong>de</strong>l benchmark. <strong>La</strong> Figura 1 muestra la aceleración<strong>de</strong> los tests BFS, NW, SRAD y HS compilados con gcc enbejeque. Observamos ya que nos encontramos contres patrones <strong>de</strong> comportamiento: aplicaciones comoSRAD que presentan una buena escalabilidad para elnúmero <strong>de</strong> cores seleccionado, otras como BFS que noescalan en absoluto y un tercer grupo, representadoen esta gráfica por NW y HS cuya escalabilidad eslimitada. Resultados muy similares se observaroncuando el compilador utilizado fue icc en lugar <strong>de</strong>gcc.<strong>La</strong> Figura 2 compara las aceleraciones obtenidasen tarja y tajinaste con 4 núcleos. Po<strong>de</strong>mosconcluir que las paralelizaciones en OpenMP <strong>de</strong>todos los códigos siempre resultan beneficiosas,logrando aceleraciones que en promedio po<strong>de</strong>mosestimar <strong>de</strong> un factor 1.5 para la mayoría <strong>de</strong> los tests,y alcanzando valores superiores a 3.5 para los testsmás favorables.<strong>La</strong> figura 3 muestra la aceleración obtenida concada una <strong>de</strong> las GPUs disponibles con respecto a laversión OpenMP compilada con gcc con 32 threadsejecutada en bejeque. <strong>La</strong> mejora <strong>de</strong>l rendimientoal utilizar los aceleradores hardware es para algunoscasos <strong>de</strong> un factor <strong>de</strong> 10, mientras que para otroscasos, la mejora no es tan importante. Para lamayoría <strong>de</strong> los tests, las versiones CUDA <strong>de</strong> loscódigos mejoran claramente el rendimiento. Losresultados para el compilador icc siguen un patrónsimilar, pero en este caso, el factor <strong>de</strong> mejora <strong>de</strong> lostests más beneficiados por el concurso <strong>de</strong> las GPUsllega a alcanzar un factor <strong>de</strong> 60.<strong>La</strong> Figura 4 muestra para cada uno <strong>de</strong> lostests <strong>de</strong>l benchmark y para cada una <strong>de</strong> las dosGPUs disponibles el porcentaje <strong>de</strong>l tiempo total <strong>de</strong>ejecución que se emplea en cómputo en la CPU,Entrada/Salida, transferencias <strong>de</strong> memoria entreHost y dispositivo así como el tiempo <strong>de</strong> ejecución<strong>de</strong>l kernel CUDA.En la Figura queda patente a primera vista ladiversidad <strong>de</strong> los diferentes tests. Algunos son<strong>JP2011</strong>-663

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!