Compartiendo para dos mundos

Hablando de programación paralela.
Tutoriales en: https://www.youtube.com/user/jambrizgdl
Twitter: @dogoteacher

Buscar este blog

lunes, 17 de febrero de 2014

Compiladores apoyando a la programación paralela

En el primer video del courseware de Intel, el expositor indica en una diapositiva lo siguiente:
"
Successful attempts require both
1. Understanding of where parallelism can be effective
2. Knowledge of how to design and implements good solutions.
"

Esto es correcto, pero también es cierto que actualmente hay vario compiladores que apoyan al dearrollador analizando su código y verificando los puntos donde se pueden genera hilos para aprovechar el paralelismo (con o sin la indicación explicita de parte del programador que convierta su código de "secuencial" a "paralelo" ).

Una de esas técnicas es muy sencilla, si ve que pueden partirse los datos que maneja el programa de forma que le toque una parte a un hilo distinto, el compilador generará el código necesario para que se generen los hilos que se requieren, por ejemplo:
for(i=0; i< 1000000; i++ )
{
 arreglo[ i ] = arreglo[ i ] * 50000;
}

El cálculo realizado en cada iteración solo afecta a un elemento y este valor calculado (por lo menos en el ciclo) no es dependiente de los otros valores en el ciclo, por lo tanto se podrán generar "n" cantidad de hilos que se repartan el trabajo de dicho ciclo.

éxito en la programación!

jam

Courseware de programación paralela en Intel

Recomendación para esta semana de auto-estudio:

Intel coloco hace tiempo este curso de programación paralela en base a videos.
El primer video habla de porque se requiere programar de forma paralela.

éxito en su programación

JAM