enthought / distarray

Default Repo description from terraform module
BSD 3-Clause "New" or "Revised" License
5 stars 1 forks source link

Implement a broadcasting distribution #658

Closed sjperkins closed 7 years ago

sjperkins commented 8 years ago

I've added a BroadcastMap distribution type to distarray. This contains the basic implementation so far and I've opened the pull request to invite comment and test the waters.

distarray's basic philosophy is to distribute different sections of an array dimension over distinct processors. As far as I can tell, there is a one-to-one mapping here (with the possible exception of Unstructured Distributions).

A broadcast distribution changes this by broadcasting one array dimension over multiple processes.

I see a number of challenges here:

I've set up the dim data per rank dictionary to look something like this:

ddpr = {
    'dist_type': 'o',
    'size': N,                       # Array of size N
    'proc_grid_size': 4,      # 4 processors
    'proc_grid_rank': 1,     # This rank
}

Any comments? Would this be useful?

circlingthesun commented 8 years ago

:+1: