diff --git a/test/.gitignore b/test/.gitignore index d3dfbdd4d..eb87d8f26 100644 --- a/test/.gitignore +++ b/test/.gitignore @@ -1,3 +1,4 @@ *.mpi test_* -*_test \ No newline at end of file +*_test +*_recover diff --git a/test/local_recover.py b/test/local_recover.py new file mode 100755 index 000000000..e35bd3177 --- /dev/null +++ b/test/local_recover.py @@ -0,0 +1,25 @@ +#!/usr/bin/python +import rabit +import numpy as np + +rabit.init(lib='mock') +rank = rabit.get_rank() +n = 10 +nround = 3 +data = np.ones(n) * rank + +version, model, local = rabit.load_checkpoint(True) +if version == 0: + model = np.zeros(n) + local = np.ones(n) +else: + print '[%d] restart from version %d' % (rank, version) + +for i in xrange(version, nround): + res = rabit.allreduce(data + model+local, rabit.SUM) + print '[%d] iter=%d: %s' % (rank, i, str(res)) + model = res + local[:] = i + rabit.checkpoint(model, local) + +rabit.finalize() diff --git a/test/test.mk b/test/test.mk index e08cb19f0..360bc6cfe 100644 --- a/test/test.mk +++ b/test/test.mk @@ -16,6 +16,9 @@ model_recover_10_10k_die_hard: local_recover_10_10k: ../tracker/rabit_demo.py -n 10 local_recover 10000 mock=0,0,1,0 mock=1,1,1,0 mock=0,1,1,0 mock=4,1,1,0 mock=9,1,1,0 mock=1,1,1,1 +pylocal_recover_10_10k: + ../tracker/rabit_demo.py -n 10 ./local_recover.py 10000 mock=0,0,1,0 mock=1,1,1,0 mock=0,1,1,0 mock=4,1,1,0 mock=9,1,1,0 mock=1,1,1,1 + lazy_recover_10_10k_die_hard: ../tracker/rabit_demo.py -n 10 lazy_recover 10000 mock=0,0,1,0 mock=1,1,1,0 mock=1,1,1,1 mock=0,1,1,0 mock=4,1,1,0 mock=9,1,1,0 mock=8,1,2,0 mock=4,1,3,0