Cómo aprender a programar en paralelo en FORTRAN.

Aprendí OpenMP en Internet a través de tutoriales en línea. Me gustaría simplemente “Tutoriales de OpenMP” de Google y empezar a leer. OpenMP paraleliza los bucles de espera asumiendo un modelo de memoria compartida. Eso significa que necesita una máquina de escala con un procesador dual de Intel o una máquina SGI si tiene suerte. Al igual que el idioma inglés, los primeros 2/3 de OpenMP son fáciles de aprender. Sin embargo, el último tercio es más difícil. En particular, debe tener cuidado con las condiciones de la carrera de datos , donde la memoria está “sobre-compartida”, por así decirlo. En tal caso, obtendrá un resultado impredecible del mismo código. Y aprendí a nunca ir en serie en secciones paralelas de un código. Eso es cojo, y derrota el propósito de ir paralelo. En lugar de ir en serie, hago copias de datos por hilo para mantener las cosas en movimiento. Ah, y también tienes que programar en la máquina cuando escalas a una gran memoria. En particular, mantengo mis datos cerca del hilo de cálculo que actúa en ellos. Puede hacer eso explotando la política de primer contacto común a muchos sistemas operativos Linux; por ejemplo, Redhat. Como puede ver, el último tercio de OpenMP necesita algo de tiempo para aprender.

Se puede aprender programación paralela en Fortran. Hay un montón de recursos, en línea y de otro tipo. Por ejemplo, mira los excelentes cursos de Nick Maclaren: Cursos de computación de Nick Maclaren

La paralelización de un bit de código existente es mucho más difícil, incluso para los programadores experimentados. ¿Y nunca has programado antes? ¿En absoluto? Esto va a tomar bastante tiempo.