Skip to content
Open
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
91 changes: 91 additions & 0 deletions .github/workflows/mpi4py.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: GitHub Action CI

on:
pull_request:
# We don't need this to be run on all types of PR behavior
# See https://docs.github.com/en/actions/reference/events-that-trigger-workflows#pull_request
types:
- opened
- synchronize

jobs:
mpi4py:
name: mpi4py sanity checks
runs-on: ubuntu-latest
steps:
- name: Install depencencies
run: sudo apt-get install -y -q
libnuma-dev

- name: Check out the code
uses: actions/checkout@v2
with:
submodules: recursive

- name: Bootstrap Open MPI
run: ./autogen.pl

- name: Configure Open MPI
run: ./configure
--disable-dependency-tracking
--enable-debug
--enable-mem-debug
--disable-man-pages
--disable-mpi-fortran
LDFLAGS=-Wl,-rpath,/usr/local/lib

- name: Build Open MPI
run: make -j 2

- name: Install Open MPI
run: sudo make install

- name: Show Open MPI
run: ompi_info

- name: Show MPICC
run: mpicc -show

- name: Use Python
uses: actions/setup-python@v2
with:
python-version: 3.9
architecture: x64

- name: Install Python packages
run: python -m pip install --upgrade
setuptools pip wheel
numpy cffi simplejson PyYAML

- name: Checkout mpi4py
uses: actions/checkout@v2
with:
repository: mpi4py/mpi4py
ref: master
path: mpi4py

- name: Install mpi4py
run: python -m pip install ./mpi4py
env:
CFLAGS: '-O0'

- name: Test mpi4py (np=1)
run: mpiexec -n 1 python mpi4py/test/runtests.py -e spawn -e dynproc -v
- name: Test mpi4py (np=2)
run: mpiexec -n 2 python mpi4py/test/runtests.py -e spawn -e dynproc-v -f
- name: Test mpi4py (np=3)
run: mpiexec -n 3 python mpi4py/test/runtests.py -e spawn -e dynproc-v -f

- name: Test mpi4py.futures (np=1)
run: mpiexec -n 1 python mpi4py/demo/futures/test_futures.py -v
- name: Test mpi4py.futures (np=2)
run: mpiexec -n 2 python mpi4py/demo/futures/test_futures.py -v
- name: Test mpi4py.futures (np=3)
run: mpiexec -n 3 python mpi4py/demo/futures/test_futures.py -v

- name: Test mpi4py.futures (np=1)
run: mpiexec -n 1 python -m mpi4py.futures mpi4py/demo/futures/test_futures.py -v
- name: Test mpi4py.futures (np=2)
run: mpiexec -n 2 python -m mpi4py.futures mpi4py/demo/futures/test_futures.py -v
- name: Test mpi4py.futures (np=3)
run: mpiexec -n 3 python -m mpi4py.futures mpi4py/demo/futures/test_futures.py -v
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ Note that there are many, many configuration options to the
environmnet; see below for desciptions of the options available.

If your installation prefix path is not writable by a regular user,
you may need to use sudo or su to run the `make install` step. For
example:
you may need to use `sudo` or `su` to run the `make install` step.
For example:

```
$ sudo make install |& tee install.out
Expand Down
2 changes: 1 addition & 1 deletion ompi/mpi/c/info_get_nthkey.c
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ int MPI_Info_get_nthkey(MPI_Info info, int n, char *key)
err = ompi_info_get_nthkey (info, n, &key_str);
if (NULL != key_str) {
opal_string_copy(key, key_str->string, MPI_MAX_INFO_KEY);
OBJ_RELEASE(key);
OBJ_RELEASE(key_str);
}
OMPI_ERRHANDLER_NOHANDLE_RETURN(err, err, FUNC_NAME);
}