alkaitz escribió:DyV (divide y vencerás?¿?¿ jeje), gracias por la información.
Jeje, no se te escapa nada
alkaitz escribió:Por cierto, paradigmas como OpenMP son muy interesantes. Sobre todo cuando lo más que se suele enseñar a nivel "standard" son hilos POSIX (o Win32 en su caso...). MPI ya es más jaleoso...jeje, mucho mensajito dando vueltas.
Un saludo
El problema con OpenMP es que, además de que tienes que localizarte tú el bucle paralelo de todas formas, solo funciona con memoria compartida (se limita a lanzar un hilo por cada iteración (o bloque de iteraciones) de un bucle). Y el MPI, si te pones alguna vez con ello, no es simplemente el problema de tener que sincronizar a base de mensajes los hilos (que esencialmente es tedioso), son todos los problemas derivados de la sincronización. El desequilibrado, la compartición de fronteras, la planificación, el problema de la construcción del mensaje (que se vuelve crítico en la etapa de comunicación)... en fin, es un tema muy extenso y muy complejo que ha dado fruto a muchas investigaciones durante los últimos 20 años. Hacía unos cuantos que la cosa estaba bajando, pero ahora que están apareciendo a tutiplén los procesadores multicore y amenazan con los manycore, muchos de esos temas están resurgiendo.
Si te interesa el tema, te recomiendo que no te quedes con la asignatura de PP. Está muy bien para ver un poco todo lo que se mueve (que es eso del Grid, OMP, MPI, PVM, problemas básicos de paralelización, etc), pero el procesamiento en paralelo, como digo, es de los temas más complejos. Y hay mucha miga por debajo que no se queda en meros detallitos, sino que es el grueso del problema. Normalmente, en otros temas el grueso está en las nociones que te suelen contar. En el tema del procesamiento paralelo y la computación de alto rendimiento, el grueso está en lo que subyace.
En fin, no quiero enrollarme porque esto ya está fuera del tema de la noticia. Es solo que me apasionan estos temas y tampoco yo podía quedarme callado xD
¡Un saludo!