Skip to content

New MPI_T Events tests and example #13

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

Merged
merged 1 commit into from
Jan 21, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
33 changes: 33 additions & 0 deletions events/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@

EXES = events_types events_callbacks events_read_data events_meta_data events_source events_dropped events_example

CC= mpicc

CFLAGS= -O2 -g -Wall
LIBS=events_common.o

def: clean ${EXES}

events_types : events_types.o events_common.o
$(CC) $(CFLAGS) -o $@ $< ${LIBS}

events_callbacks : events_callbacks.o events_common.o
$(CC) $(CFLAGS) -o $@ $< ${LIBS}

events_read_data : events_read_data.o events_common.o
$(CC) $(CFLAGS) -o $@ $< ${LIBS}

events_meta_data : events_meta_data.o events_common.o
$(CC) $(CFLAGS) -o $@ $< ${LIBS}

events_source : events_source.o events_common.o
$(CC) $(CFLAGS) -o $@ $< ${LIBS}

events_dropped : events_dropped.o events_common.o
$(CC) $(CFLAGS) -o $@ $< ${LIBS}

events_example : events_example.o
$(CC) $(CFLAGS) -o $@ $<

clean:
rm -f ${EXES} core.* *.o
45 changes: 45 additions & 0 deletions events/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# MPI_T Events Tests

If the MPI implementation includes support for the MPI_T Events functions as defined in [MPI Standard 4.0](https://www.mpi-forum.org/docs/mpi-4.0/mpi40-report.pdf) and includes some implemented events, these tests will confirm basic functionality as well as some error checking.

## Events Callback Test Requirements
In order to confirm the MPI_T Events callback functionality, a callback must be registered and triggered by performing relevant MPI activity.

The events_types test will print the list of events available by providing the command line '-l' flag.

The events_callbacks event index can be set for the events_callbacks test with the `-i [number]` flag.

If the default MPI activity in the function generate\_callback\_activity() in events_common.c does not trigger the event callback, custom MPI activity will need to be added.

## Test Behavior

The behavior of each test can be modified with the following command line arguments:

- -d : print internal debugging messages [default: off]
- -e : print error messages [default: off]
- -f : perform failure tests [default: off]
- -i [number] : event index for specific tests [default: 0]
- -l : list available events (events_types only) [default: off]

## Test Descriptions

- events_callbacks
- Register and free a callback function for an event
- Get and set event handle and callback info
- events_dropped
- Register a callback function for dropped events
- events\_meta_data
- Get event timestamp and source
- events\_read_data
- Read and copy event data
- events_source
- Get number of source, source info object, and source timestamp
- events_types
- Get number of events and event info object

## Event Callback and Read Data Example
The events_example.c file has been provided as an example of registering an event callback and reading event data.

## Test Suite And MPI Implementations

Tested with [Open MPI PR #8057](https://github.com/open-mpi/ompi/pull/8057) with pml ob1 module events.
Loading