Add MPI_IslandModel: a distributed island model where each MPI rank runs one island with asynchronous migration via MPI send/receive. Key features: - Single-message MPI protocol: MPI_Isend (data) + MPI_Get_count/ MPI_Recv on receive side. Avoids the two-message (size + data) pattern that can deadlock under oversubscription. - MPI_Iprobe for non-blocking message detection (upstream's communicator lacks iprobe()) - Non-blocking sends with PendingSend tracking and MPI_Test cleanup - Receive-before-send ordering to prevent message accumulation - Post-loop drain with safe shutdown (cancel pending sends) - Configurable poll interval (default 1s) - Thread-safe update method for asynchronous migration - Debug-level migration logging via eo::log Extended Island with: - IslandType enum (HOMOGENEOUS/HETEROGENEOUS) for conditional immigrant re-evaluation - IslandModelKind enum (None/Shared/MPI) replacing string dispatch - algoEOT template parameter for algorithm/individual type mismatch - finalize() call after population integration Extended islandModelWrapper with MPI_IslandModel overloads, initial_values parameter, and algoEOT support. |
||
|---|---|---|
| .. | ||
| doc | ||
| src | ||
| test | ||
| tutorial | ||
| CMakeLists.txt | ||
| LICENSE | ||