#! /usr/bin/env python
import os
import subprocess
import sys

# mpiexec -np X command ...
if len(sys.argv) >= 4 and sys.argv[1] == '-np' and sys.argv[2].isdigit():
	size = int(sys.argv[2])
	args = sys.argv[3:]
else:
	print >>sys.stderr, 'Usage: mpiexec -np <procs> command ...'
	print >>sys.stderr
	print >>sys.stderr, 'Example: mpiexec -np 4 python life.py'
	sys.exit(1)

base_port = 10000
if "MEMPI_BASEPORT" in os.environ:
    base_port = int(os.environ["MEMPI_BASEPORT"])

procs = []

for rank in range(size):
	os.environ['CCT_MPI_PARAMS'] = '%d,%d,%d' % (rank, size, base_port)
	proc = subprocess.Popen(args)
	procs.append(proc)

for proc in procs:
	proc.wait()

