Necesito implementar una inversión de matriz densa en paralelo para un lenguaje que estoy usando que parece no tener una biblioteca existente para esto (específicamente IDL usando IDL Bridge para pasar mensajes). Estoy familiarizado con los métodos de programación paralela a través de la experiencia usando MPI en C ++, aunque principalmente para los métodos paralelos FFT y N-body. Tengo poca experiencia o conocimiento de métodos computacionales, seriales o paralelos, para álgebra lineal.
Lo que estoy buscando es una descripción clara de pseudocódigo de un algoritmo de inversión de matriz paralela estable y robusto que sea apropiado para un pequeño número de núcleos, ya que la máquina que ejecuta la tarea IDL (actualmente en serie) tiene 8 núcleos. En la práctica, probablemente usaré solo 4 para mantener los núcleos libres para otras tareas.
Favorecería la simplicidad sobre el rendimiento de vanguardia si hay una variedad de algoritmos bien conocidos para esta tarea.
fuente
LD_PRELOAD
si es necesario.Respuestas:
En lugar de rodar el suyo, le sugiero que eche un vistazo a las implementaciones paralelas robustas y eficientes existentes, como PLASMA .
Si solo está buscando algoritmos para implementarse, la mayoría de las rutinas se documentan en exceso en la sección "Documentación" de ese sitio.
fuente