Skip to Main Content
We presented PRFX, an API dedicated to the programming of irregular parallel algorithms with static properties and its runtime support for clusters of SMP nodes. The programming model is based on a task paradigm with implicit synchronizations. These tasks operate on data that are dynamically allocated in an isomemory. The synchronization between tasks is statically computed by an inspector. This allows building data dependencies thanks to a partial pre-execution of the code, and produces a task DAG with all necessary information for the static scheduler and the parallel executor. The parallel executor uses POSIX threads with one-sided communications and works on shared and distributed memory machines. Its performances were validated by experimental results for a sparse Cholesky factorization algorithm on an IBM® SP cluster with nodes of 32 Power4 processors.