Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added mpi4py RMA support #1373

Open
wants to merge 29 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
44e1462
Added win create library node and its test
Com1t Aug 18, 2023
4ff33c2
Added MPI RMA fence library node and its test
Com1t Aug 18, 2023
d3696e0
Added RMA put library node and its test
Com1t Aug 18, 2023
b92ccbb
Added RMA get library node and its test
Com1t Aug 18, 2023
6ebaed5
Removed debug msg in put/get tests
Com1t Aug 18, 2023
b4e9e65
Updated RMA ops administration in sdfg.py
Com1t Aug 18, 2023
5be0962
Implemented replacement for MPI RMA win_create, fence, put, get
Com1t Aug 18, 2023
ebf8eea
Added an extra connector to RMA put,get for ordering
Com1t Aug 25, 2023
6fa9603
Updated amd_rma_ops for better readability
Com1t Aug 25, 2023
ce8c173
Added support of different comm world for win_create
Com1t Aug 25, 2023
1e8606f
Added a synchronization check for RMA put/get
Com1t Aug 25, 2023
c4d2ab9
Updated fence, get, and put tests
Com1t Aug 25, 2023
0a564bb
Replaced SDFG compile to avoid RuntimeError: Could not load library
Com1t Aug 28, 2023
d1f6ba2
Added RMA accumulate library node, test, and replacement
Com1t Aug 28, 2023
3cbdebe
Merge branch 'spcl:master' into rma_dev
Com1t Aug 28, 2023
e4cc8e3
Added MPI RMA flush, lock, unlock library nodes and their tests for p…
Com1t Aug 28, 2023
f8feae9
Implemented replacement and their tests for passive sync. nodes
Com1t Aug 29, 2023
ada74b3
Added lock type validator for better MPI compatibility
Com1t Aug 31, 2023
892dda5
Added a GEMM sample for RMA
Com1t Sep 6, 2023
8149219
Updated mat_mul to tiled version
Com1t Sep 7, 2023
380b5e4
Implemented distributed version mat_mul.py
Com1t Sep 8, 2023
c847717
Functionized the distibuted computation in mat_mul.py
Com1t Sep 8, 2023
ca65d87
Enabled dace acceleration for mat_mul.py
Com1t Sep 11, 2023
f7231a0
Added MPI RMA free library node, replacement, and tests for both fron…
Com1t Sep 11, 2023
da62e8e
Refactored RMA last op checker to a function
Com1t Sep 11, 2023
54fab2e
Added RMA sync logic checking to last op checker
Com1t Sep 12, 2023
59f8e72
changed the data type of matrix from int32 to float32
Com1t Sep 14, 2023
1241422
Implemented strong scaling benchmark for mat_mul.py
Com1t Sep 14, 2023
e7baaf7
Fixed the window size configuration in window creation
Com1t Sep 15, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions dace/distr_types.py
Original file line number Diff line number Diff line change
Expand Up @@ -598,3 +598,27 @@ def exit_code(self, sdfg):
delete[] __state->{self.name}_self_dst;
delete[] __state->{self.name}_self_size;
"""

@make_properties
class RMA_window(object):
"""
RMA_window is the descriptor class for MPI Remote Memory Access window
Real window creation is implemented in mpi.nodes.win_create.Win_create
"""

name = Property(dtype=str, desc="The name of new window.")
def __init__(self,
name: str):
self.name = name
self._validate()

def validate(self):
""" Validate the correctness of this object.
Raises an exception on error. """
self._validate()

# Validation of this class is in a separate function, so that this
# class can call `_validate()` without calling the subclasses'
# `validate` function.
def _validate(self):
return True
Loading
Loading