Provide support for distributed-memory parallelization

Issue #6 new
Klaus Iglberger created an issue

Description

The Blaze library already supports three different kinds of shared-memory parallelization: OpenMP, C++11 threads, and Boost threads. So far, however, it doesn't support distributed-memory parallelization. In order to provide full flexibility and to enable tasks that are beyond shared-memory parallelization Blaze should also support distributed memory parallelization.

The implementation of the distributed-memory parallelization must ...

  • ... allow for different distributed-memory parallelization paradigms (MPI, HPX, ...)
  • ... be as efficient as possible (i.e. no overhead due to Blaze data structures)
  • ... be compatible to all vector and matrix types
  • ... be as transparent as possible for a user of Blaze
  • ... be as easy to use as possible for a user of Blaze

Tasks

  • extend the user interface to express distributed vectors and matrices
  • build the architecture to support any distributed-memory parallelization paradigm
  • implement the backend to perform distributed computations
  • provide a complete documentation of the feature
  • ensure full compatibility to all existing vector and matrix types
  • guarantee maximum performance of the implementation
  • run all test cases with the distributed-memory parallelization

Comments (0)

  1. Log in to comment