2011-01-15 16 views
9

Duplicar posibles:
What's the status of multicore programming in Haskell?Estado actual de paralelismo automático en Haskell

Cuál es el estado sobre todo en GHC? ¿Es popular todavía o aún es experimental?

¿Cuán cuidadoso/fino es el compilador para decidir cuándo y cómo paralelizar? ¿El tiempo de ejecución elige el tamaño del subproceso de forma adecuada o tenemos que especificarlo a través de la línea de comandos?

+0

¿Quién me rechazó? ¡Perdí 2 repeticiones! – Phil

Respuesta

4

La programación actual de GHC, el grupo de hilos y las políticas de migración se describen en el documento "Runtime Support for Multicore Haskell". El estilo de "estrategias" semi -automatic parallelism es ampliamente utilizado, en el momento de la escritura.

4

La respuesta larga es el documento vinculado en la respuesta de Don. La respuesta corta:

  1. GHC no se paralela automáticamente a su programa.

  2. Sin embargo, hace que sea muy fácil introducir el paralelismo a través del combinador par. La interfaz de nivel superior a esto es el "strategies" Don mencionado.

  3. Si simplemente agregar par acelerará su programa depende mucho de su algoritmo. Lo bueno es que no hay trampas: no puedes introducir bloqueos o carreras (a menos que estés engañando al sistema de tipos).

Cuestiones relacionadas