Skip to content
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
6 changes: 3 additions & 3 deletions .github/workflows/mana-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,14 +53,14 @@ jobs:
make -j"$(nproc)" mana tests

- name: Test mana_restart wrapper
run: python3 mpi-proxy-split/test/test-mana-restart.py -v
run: python3 test/test-mana-restart.py -v

- name: Test loader debug lookup
run: python3 mpi-proxy-split/test/test-loader-debug.py -v
run: python3 test/test-loader-debug.py -v

- name: Test MANA
run: >
mpi-proxy-split/test/autotest.py --retry-once
test/autotest.py --retry-once
--workdir /tmp/autotest --launcher '${{ matrix.launcher }}'

- name: Keep the logs of failed tests
Expand Down
28 changes: 28 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
# Made by ./configure and autoreconf.
/Makefile
/manpages/Makefile
/src/Makefile
/src/lower-half/Makefile
/src/mpi-wrappers/Makefile
/test/Makefile
/examples/Makefile
/bench/Makefile
/config.log
/config.status
/aclocal.m4
Expand All @@ -12,6 +18,10 @@
/bin/
/lib/
/manpages/mana.1.gz
/src/lower-half/lower-half
/examples/ring
/bench/virtid_bench
/bench/synthetic_app
*.[oa]
*.d
*.so
Expand All @@ -21,6 +31,24 @@
*.pyc
__pycache__/

# Made by src/mpi-wrappers/Makefile from the generate-*.py scripts.
/src/mpi-wrappers/mpi_fortran_wrappers.cpp
/src/mpi-wrappers/mpi_unimplemented_wrappers.cpp
/src/mpi-wrappers/mpi_stub_wrappers.c
/src/mpi-wrappers/mpi_stub_objects.c
/src/mpi-wrappers/*.tmp.*

# The programs of the end-to-end tests have no suffix:
# ignore all but the sources.
/test/*
!/test/*.c
!/test/*.cpp
!/test/*.f90
!/test/*.h
!/test/*.py
!/test/*.md
!/test/Makefile.in

# Left by runs in the tree.
ckpt_*.dmtcp
ckpt_rank_*/
Expand Down
17 changes: 9 additions & 8 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ all: default
MANA_SCRIPTS = mana_coordinator mana_launch mana_restart mana_status

mana: mana_prereqs dmtcp $(MANA_SCRIPTS:%=bin/%)
cd mpi-proxy-split && $(MAKE) stage
cd src && $(MAKE) stage

# bin/ holds the scripts next to DMTCP's programs and the lower half, which
# the scripts run.
Expand All @@ -47,11 +47,13 @@ $(MANA_SCRIPTS:%=bin/%): bin/%: scripts/%

# The end-to-end tests, the example and the benchmarks.
tests:
cd mpi-proxy-split && $(MAKE) tests
cd test && $(MAKE)
cd examples && $(MAKE)
cd bench && $(MAKE)

# Builds the end-to-end tests and runs them (test/autotest.py).
check: mana
cd mpi-proxy-split && $(MAKE) check
cd test && $(MAKE) check

dmtcp: dmtcp/configure
@ # A 'git pull' can change the DMTCP commit that MANA uses, and it
Expand Down Expand Up @@ -89,12 +91,11 @@ uninstall:

distclean: clean
- cd ${DMTCP_ROOT} && $(MAKE) distclean
- cd mpi-proxy-split && $(MAKE) distclean
- cd src && $(MAKE) distclean
- cd manpages && $(MAKE) distclean
rm -f Makefile config.log config.status config.status-* config.cache
rm -f mpi-proxy-split/Makefile mpi-proxy-split/lower-half/Makefile \
mpi-proxy-split/mpi-wrappers/Makefile mpi-proxy-split/test/Makefile \
mpi-proxy-split/examples/Makefile
rm -f src/Makefile src/lower-half/Makefile src/mpi-wrappers/Makefile \
test/Makefile examples/Makefile bench/Makefile
rm -rf autom4te.cache
rm -rf $(top_builddir)/lib $(top_builddir)/bin

Expand All @@ -104,7 +105,7 @@ tidy:
rm -f dmtcp_coordinator_db-*.json

clean: tidy
cd mpi-proxy-split && $(MAKE) clean
cd src && $(MAKE) clean

mana_prereqs:
@ if test -n "$$HUGETLB_DEFAULT_PAGE_SIZE"; then \
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@ CI does.
To run MANA's tests, which checkpoint and restart each test program:

make tests # builds them; 'make' does not
mpi-proxy-split/test/autotest.py # or: make check
mpi-proxy-split/test/autotest.py --help # e.g. --launcher 'srun -n {n}'
test/autotest.py # or: make check
test/autotest.py --help # e.g. --launcher 'srun -n {n}'

MANA is free software: you can redistribute it and/or modify it under the
terms of the GNU Lesser General Public License, version 3 or (at your option)
Expand Down
23 changes: 23 additions & 0 deletions bench/Makefile.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# @configure_input@

# The compilers and flags that configure found.
MPICC = @MPICC@
MPI_CFLAGS?= @CFLAGS@ -g3 -fPIC
MPI_LDFLAGS?=

# Benchmarks of MANA's overhead; built with -O2 and not run by 'make check'.
BENCH_FILES = virtid_bench synthetic_app

default: ${BENCH_FILES}

${BENCH_FILES}: %: %.c
$(MPICC) -g -O2 -o $@ $< $(MPI_CFLAGS) ${MPI_LDFLAGS}

clean:
rm -f ${BENCH_FILES}

.PHONY: default clean

# Regenerate this Makefile when Makefile.in or config.status is newer.
Makefile: Makefile.in @top_builddir@/config.status
cd @top_builddir@ && ./config.status bench/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ same options.
## Usage

```
make -C mpi-proxy-split/test synthetic_app
mpirun -np 8 mpi-proxy-split/test/synthetic_app --profile=vasp
make -C bench synthetic_app
mpirun -np 8 bench/synthetic_app --profile=vasp
bin/mana_coordinator
mpirun -np 8 bin/mana_launch mpi-proxy-split/test/synthetic_app --profile=vasp
mpirun -np 8 bin/mana_launch bench/synthetic_app --profile=vasp
```

The options are listed at the top of `synthetic_app.c`.
File renamed without changes.
File renamed without changes.
13 changes: 7 additions & 6 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -5500,7 +5500,7 @@ ac_configure_args="$ac_configure_args --disable-dlsym-wrapper"
subdirs="$subdirs dmtcp"


ac_config_files="$ac_config_files Makefile manpages/Makefile mpi-proxy-split/Makefile mpi-proxy-split/lower-half/Makefile mpi-proxy-split/mpi-wrappers/Makefile mpi-proxy-split/test/Makefile mpi-proxy-split/examples/Makefile"
ac_config_files="$ac_config_files Makefile manpages/Makefile src/Makefile src/lower-half/Makefile src/mpi-wrappers/Makefile test/Makefile examples/Makefile bench/Makefile"


enable_option_checking=fatal
Expand Down Expand Up @@ -6298,11 +6298,12 @@ do
case $ac_config_target in
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"manpages/Makefile") CONFIG_FILES="$CONFIG_FILES manpages/Makefile" ;;
"mpi-proxy-split/Makefile") CONFIG_FILES="$CONFIG_FILES mpi-proxy-split/Makefile" ;;
"mpi-proxy-split/lower-half/Makefile") CONFIG_FILES="$CONFIG_FILES mpi-proxy-split/lower-half/Makefile" ;;
"mpi-proxy-split/mpi-wrappers/Makefile") CONFIG_FILES="$CONFIG_FILES mpi-proxy-split/mpi-wrappers/Makefile" ;;
"mpi-proxy-split/test/Makefile") CONFIG_FILES="$CONFIG_FILES mpi-proxy-split/test/Makefile" ;;
"mpi-proxy-split/examples/Makefile") CONFIG_FILES="$CONFIG_FILES mpi-proxy-split/examples/Makefile" ;;
"src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
"src/lower-half/Makefile") CONFIG_FILES="$CONFIG_FILES src/lower-half/Makefile" ;;
"src/mpi-wrappers/Makefile") CONFIG_FILES="$CONFIG_FILES src/mpi-wrappers/Makefile" ;;
"test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
"examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
"bench/Makefile") CONFIG_FILES="$CONFIG_FILES bench/Makefile" ;;

*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
Expand Down
11 changes: 6 additions & 5 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,12 @@ AC_CONFIG_SUBDIRS([dmtcp])

AC_CONFIG_FILES([Makefile \
manpages/Makefile \
mpi-proxy-split/Makefile \
mpi-proxy-split/lower-half/Makefile \
mpi-proxy-split/mpi-wrappers/Makefile \
mpi-proxy-split/test/Makefile \
mpi-proxy-split/examples/Makefile])
src/Makefile \
src/lower-half/Makefile \
src/mpi-wrappers/Makefile \
test/Makefile \
examples/Makefile \
bench/Makefile])

dnl Autoconf manual says option checking is set to warn ("yes") by
dnl by default. But it's actually set to "no".
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ clean:

# Regenerate this Makefile when Makefile.in or config.status is newer.
Makefile: Makefile.in @top_builddir@/config.status
cd @top_builddir@ && ./config.status mpi-proxy-split/examples/Makefile
cd @top_builddir@ && ./config.status examples/Makefile
2 changes: 1 addition & 1 deletion mpi-proxy-split/examples/ring.c → examples/ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
// run it under MANA, from MANA's directory:
//
// bin/mana_coordinator
// mpirun -np 4 bin/mana_launch mpi-proxy-split/examples/ring
// mpirun -np 4 bin/mana_launch examples/ring
// bin/mana_status --checkpoint (in another shell, while it runs)
//
// Then stop the job (Ctrl-C), and restart it from the checkpoint:
Expand Down
4 changes: 2 additions & 2 deletions manpages/mana.1
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,10 @@ cd dmtcp-mana
\&./configure --enable-debug
make -j mana tests
# Build the program with mpicc as usual; no relinking for MANA is needed.
# 'make tests' also builds an example: mpi-proxy-split/examples/ring
# 'make tests' also builds an example: examples/ring
salloc -N 2 -q interactive -C haswell -t 01:00:00
bin/mana_coordinator -i10
srun -N 2 bin/mana_launch mpi-proxy-split/examples/ring
srun -N 2 bin/mana_launch examples/ring
bin/mana_coordinator -i10
srun -N 2 bin/mana_restart
\f[R]
Expand Down
4 changes: 2 additions & 2 deletions manpages/mana.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,10 @@ cd dmtcp-mana
./configure --enable-debug
make -j mana tests
# Build the program with mpicc as usual; no relinking for MANA is needed.
# 'make tests' also builds an example: mpi-proxy-split/examples/ring
# 'make tests' also builds an example: examples/ring
salloc -N 2 -q interactive -C haswell -t 01:00:00
bin/mana_coordinator -i10
srun -N 2 bin/mana_launch mpi-proxy-split/examples/ring
srun -N 2 bin/mana_launch examples/ring
bin/mana_coordinator -i10
srun -N 2 bin/mana_restart
```
Expand Down
25 changes: 0 additions & 25 deletions mpi-proxy-split/.gitignore

This file was deleted.

Loading
Loading