MS     = ms -block -chansize=0 -symmax=300000 -crmax=300000 -sym=2 -noanysource
MSCC   = mscc -DSAFETY -DCOLLAPSE -DVECTORSZ=3000

ge2: clean
	$(MS) -np=2 -DNUM_ROWS=2 -DNUM_COLS=2 -DNPROCS_MINUS_1=1 \
          -DNPROCS_SQUARED=4 -DNUM_ENTRIES=4 gausselim_main.prom -v
	$(MSCC)
	./pan -n
ge3: clean
	$(MS) -np=3 -DNUM_ROWS=3 -DNUM_COLS=3 -DNPROCS_MINUS_1=2 \
          -DNPROCS_SQUARED=9 -DNUM_ENTRIES=9 gausselim_main.prom -v
	$(MSCC)
	./pan -n

ge4: clean
	$(MS) -np=4 -DNUM_ROWS=4 -DNUM_COLS=4 -DNPROCS_MINUS_1=3 \
          -DNPROCS_SQUARED=16 -DNUM_ENTRIES=16 gausselim_main.prom
	$(MSCC)
	./pan -n

ge5: clean
	$(MS) -np=5 -DNUM_ROWS=5 -DNUM_COLS=5 -DNPROCS_MINUS_1=4 \
          -DNPROCS_SQUARED=25 -DNUM_ENTRIES=25 gausselim_main.prom
	$(MSCC)
	./pan -n

# a non-blocking version of above, for the sake of comparison
ge5nb: clean
	ms -req=10 -buf=0 -symmax=300000 -crmax=300000 -np=5 \
          -DNUM_ROWS=5 -DNUM_COLS=5 -DNPROCS_MINUS_1=4 \
          -DNPROCS_SQUARED=25 -DNUM_ENTRIES=25 gausselim_main.prom -noanysource
	$(MSCC)
	./pan -n

ge6: clean
	$(MS) -np=6 -DNUM_ROWS=6 -DNUM_COLS=6 -DNPROCS_MINUS_1=5 \
          -DNPROCS_SQUARED=36 -DNUM_ENTRIES=36 gausselim_main.prom
	$(MSCC)
	./pan -n

clean:
	rm -f *.trail pan* mpi-spin-init.c
