Computacion de Alto Rendimiento
Computacion de Alto Rendimiento
Computacion de Alto Rendimiento
Tendencia actual:
Tecnologa Clusters (clusters Beowulf)
Algoritmos Librera BLAS, LAPACK y similar
Procesamiento paralelo Paradigma y librera (threads,
OpenMP, MPI, CUDA)
Computacin Paralela
Es un mtodo que divide grandes
P1
problemas en componentes ms pequeos, P2
llamados tareas o procesos, que pueden P3
resolverse en paralelo, cada uno una parte..
Tiempo
En contraste existe la computacin h1
concurrente, donde existe simultaneidad en P h2
la ejecucin de varias tareas interactivas. h3
rc = MPI_Xxxxx(parameter, )
C++ : Todas las funciones y clases estan en el espacio de nombres MPI, de tal
manera que para referirnos a una funcin de MPI se usa MPI::Xxxxx.
rc = MPI::Xxxxx(parameter, )
Fortran : Los nombres de todas las funciones de MPI comienzan con el prefijo MPI_ y
todas las dems letras son maysculas.
si rank = o entonces
hacer algo para el proceso 0
sino
hacer algo para los otros procesos
fin si
Finalizar MPI
Fin programa cdigo_mpi
Entornos de Programacin Paralela
MPI (Message Passing Interface)
Ejemplo: ejecucin > mpiexec np 8 calc_pi_MPI_SR.x
Entornos de Programacin Paralela
Hbrido (OpenMP+MPI)
Ejemplo
Entornos de Programacin Paralela
SIMD
Entornos de Programacin Paralela
Hbrido (MPI+CUDA)
PROGRAMACIN PARALELA
Computador I3-
4160 3.6 Ghz
8GB RAM, Disco
Duro 1Tb,
(2 Cores real, 4
virtual)
PROGRAMACIN PARALELA