Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 709560

Summary: sys-cluster/rankstr - Split an MPI communicator into subcomms based on string values
Product: Gentoo Linux Reporter: Alessandro Barbieri <lssndrbarbieri>
Component: New packagesAssignee: Default Assignee for New Packages <maintainer-wanted>
Status: UNCONFIRMED ---    
Severity: normal Keywords: InOverlay, PullRequest
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
URL: https://github.com/ECP-VeloC/rankstr
See Also: https://github.com/gentoo/gentoo/pull/13405
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 709564    

Description Alessandro Barbieri 2020-02-14 02:58:12 UTC
LICENSE: MIT

The rankstr (rank string) library provides functions that identify unique strings across an MPI communicator.

A key use case is to split a communicator into subcommunicators such that all processes in a resulting subcommunicator consist of those processes that provided an identical input string. rankstr_mpi_comm_split is a function like MPI_Comm_split, but it takes a variable-length string as the color argument insead of an integer value.

The rankstr_mpi function does not output a communicator, but instead returns a unique integer for each unique string.

For scalability, the implementation uses a distributed, bitonic sort via point-to-point messages over the input communicator to compare string values. The caller must provide two distinct tag values that are safe for the function to use for its point-to-point messages.