head	1.37;
access;
symbols
	charm6_1:1.37
	charm_6_0_1:1.37
	charm6_0_1:1.37
	charm6_0:1.36
	ChaNGa_1-0:1.36
	charm5_9:1.35;
locks; strict;
comment	@# @;


1.37
date	2008.11.24.21.42.45;	author gzheng;	state Exp;
branches;
next	1.36;
commitid	sfYNhtVUudSLxUrt;

1.36
date	2006.05.05.20.06.06;	author yanshi;	state Exp;
branches;
next	1.35;

1.35
date	2005.03.10.21.38.44;	author chao;	state Exp;
branches;
next	1.34;

1.34
date	2005.01.30.18.59.30;	author gzheng;	state Exp;
branches;
next	1.33;

1.33
date	2005.01.25.06.19.31;	author chao;	state Exp;
branches;
next	1.32;

1.32
date	2004.09.10.07.01.35;	author gzheng;	state Exp;
branches;
next	1.31;

1.31
date	2004.07.21.17.47.16;	author gzheng;	state Exp;
branches;
next	1.30;

1.30
date	2004.06.21.20.00.05;	author chao;	state Exp;
branches;
next	1.29;

1.29
date	2004.06.16.04.36.55;	author chao;	state Exp;
branches;
next	1.28;

1.28
date	2004.06.08.21.23.03;	author chao;	state Exp;
branches;
next	1.27;

1.27
date	2004.06.04.21.23.56;	author chao;	state Exp;
branches;
next	1.26;

1.26
date	2004.02.02.23.30.24;	author olawlor;	state Exp;
branches;
next	1.25;

1.25
date	2004.01.22.00.05.27;	author chao;	state Exp;
branches;
next	1.24;

1.24
date	2003.12.17.05.18.35;	author chao;	state Exp;
branches;
next	1.23;

1.23
date	2003.12.09.18.49.08;	author vmehta1;	state Exp;
branches;
next	1.22;

1.22
date	2003.12.09.05.29.36;	author yanshi;	state Exp;
branches;
next	1.21;

1.21
date	2003.12.05.03.09.12;	author chao;	state Exp;
branches;
next	1.20;

1.20
date	2003.12.02.18.05.05;	author chao;	state Exp;
branches;
next	1.19;

1.19
date	2003.12.02.17.20.20;	author gzheng;	state Exp;
branches;
next	1.18;

1.18
date	2003.12.02.17.14.34;	author gzheng;	state Exp;
branches;
next	1.17;

1.17
date	2003.12.02.15.02.58;	author olawlor;	state Exp;
branches;
next	1.16;

1.16
date	2003.12.02.05.13.01;	author yanshi;	state Exp;
branches;
next	1.15;

1.15
date	2003.11.24.18.46.13;	author vmehta1;	state Exp;
branches;
next	1.14;

1.14
date	2003.10.29.22.19.31;	author gzheng;	state Exp;
branches;
next	1.13;

1.13
date	2003.10.04.20.07.22;	author vmehta1;	state Exp;
branches;
next	1.12;

1.12
date	2003.09.27.05.30.38;	author gzheng;	state Exp;
branches;
next	1.11;

1.11
date	2003.07.09.04.28.54;	author schak;	state Exp;
branches;
next	1.10;

1.10
date	2003.05.31.20.56.24;	author gzheng;	state Exp;
branches;
next	1.9;

1.9
date	2003.05.25.07.52.15;	author gzheng;	state Exp;
branches;
next	1.8;

1.8
date	2003.01.20.20.26.47;	author olawlor;	state Exp;
branches;
next	1.7;

1.7
date	2002.07.24.20.48.34;	author olawlor;	state Exp;
branches;
next	1.6;

1.6
date	2002.07.24.15.22.46;	author olawlor;	state Exp;
branches;
next	1.5;

1.5
date	2002.05.17.18.34.11;	author olawlor;	state Exp;
branches;
next	1.4;

1.4
date	2002.04.25.19.57.18;	author olawlor;	state Exp;
branches;
next	1.3;

1.3
date	2002.03.16.23.04.35;	author milind;	state Exp;
branches;
next	1.2;

1.2
date	2002.02.21.17.55.26;	author guna;	state Exp;
branches;
next	1.1;

1.1
date	2001.12.06.23.26.31;	author olawlor;	state Exp;
branches;
next	;


desc
@@


1.37
log
@copy mpicxx to bin
@
text
@CDIR=../../../..
CHARMC=$(CDIR)/bin/charmc $(OPTS)

HEADERS=ampi.h ampif.h ampiimpl.h ampiProjections.h 
HEADDEP=$(HEADERS) ampiimpl.h ampi.decl.h ampiEvents.h
COMPAT=compat_ampius.o compat_ampifus.o \
       compat_ampim.o compat_ampifm.o compat_ampicm.o
OBJS=ampi.o ampif.o ampiProjections.o ampiOneSided.o \
     ampiMisc.o mpich-alltoall.o  
ROMIOMAKE=romio/adio/ad_hfs/Makefile romio/adio/ad_nfs/Makefile romio/adio/ad_pfs/Makefile romio/adio/ad_piofs/Makefile \
	  romio/adio/ad_pvfs/Makefile romio/adio/ad_sfs/Makefile romio/adio/ad_testfs/Makefile romio/adio/ad_ufs/Makefile \
	  romio/adio/ad_xfs/Makefile romio/adio/common/Makefile romio/adio/include/romioconf.h romio/Makefile \
	  romio/mpi2-other/array/Makefile romio/mpi2-other/info/Makefile romio/mpi-io/Makefile \
	  romio/include/mpio.h romio/include/mpiof.h

LIB=libmoduleampi
LIBDIR=$(CDIR)/lib
DEST=$(LIBDIR)/$(LIB).a
DESTF=$(LIBDIR)/$(LIB)f.a
COMPATLIB=$(LIBDIR)/libampi-compat.a

.SUFFIXES:
.SUFFIXES: .C .o

.C.o:
	$(CHARMC) -c $<

all: AMPI AMPIF $(COMPATLIB)
	-cd $(CDIR)/tmp; CHARMINC=.; . ./conv-config.sh; cd $(PWD); if test -n "$$CMK_AMPI_WITH_ROMIO" ; then ($(MAKE) AMPI-ROMIO); fi

$(ROMIOMAKE): $(COMPATLIB)
	cd romio && ./config.sh && cd .. 

AMPI-ROMIO: AMPI AMPIF $(ROMIOMAKE)
	cd romio && ./install.sh && cd .. 

AMPI: $(DEST) 
	@@echo "AMPI built successfully"

AMPIF: $(DESTF)
	@@echo "AMPIF built successfully"

$(DEST): $(OBJS) headers
	$(CHARMC) $(OBJS) -o $@@
	cp $(LIB).dep $(LIBDIR)/$(LIB).dep

$(DESTF): $(OBJS) headers
	-$(CHARMC) -c ampimod.f90
	-$(CHARMC) -cpmod ../../../../include mpi.M
	-$(CHARMC) $(OBJS) ampimod.o -o $@@
	-cp $(LIB)f.dep $(LIBDIR)/$(LIB)f.dep

$(COMPATLIB): $(COMPAT)
	$(CHARMC) $(COMPAT) -o $@@

headers: $(HEADERS)
	cp $(HEADERS) $(CDIR)/include/
	cp ampi.h $(CDIR)/include/mpi.h
	cp ampif.h $(CDIR)/include/mpif.h
	cp mpiCC mpicc mpicxx mpif77 mpif90 ampirun $(CDIR)/bin
	touch headers

compat_ampius.o: compat_ampius.C

compat_ampifus.o: compat_ampifus.C

compat_ampim.o: compat_ampim.C

compat_ampifm.o: compat_ampifm.C

compat_ampicm.o: compat_ampicm.C

ampi.o: ampi.C $(HEADDEP)
	$(CHARMC) -c ampi.C

ampif.o: ampif.C $(HEADDEP)
	$(CHARMC) -c ampif.C

ampiOneSided.o: ampiOneSided.C ampiimpl.h $(HEADDEP)
	$(CHARMC) -c ampiOneSided.C

ampiMisc.o: ampiMisc.C ampiimpl.h $(HEADDEP)
	$(CHARMC) -c ampiMisc.C

mpich-alltoall.o: mpich-alltoall.C $(HEADDEP)
	$(CHARMC) -c mpich-alltoall.C 

ampi.decl.h ampi.def.h: ampi.ci
	$(CHARMC) ampi.ci

ampiProjections.o: ampiProjections.C ampiEvents.h ampiProjections.h $(HEADDEP)
	$(CHARMC) -c ampiProjections.C

clean: 
	-rm -fr *.o *~ *.decl.h *.def.h gmon.out $(DEST) $(DESTF) $(COMPATLIB) conv-host charmrun headers *.mod
	- cd romio && $(MAKE) clean
@


1.36
log
@makefile change .
@
text
@d60 1
a60 1
	cp mpiCC mpicc mpif77 mpif90 ampirun $(CDIR)/bin
@


1.35
log
@add comlib support (turned off by default)
@
text
@d9 1
a9 1
     ampiMisc.o 
d85 3
@


1.34
log
@rollback to the version before the change of fragmentation/buffer reuse.
@
text
@d41 1
@


1.33
log
@There have been two features added: fragmented AMPI message and reusing
AmpiMsg buffers. They are independent and can be turned on/off by
#define AMPI_ENABLE_FRAG_MSG and AMPI_ENABLE_BUFFER_POOLING to 1/0.
By default they are both turned off. The default msg fragment size
is 64KB. There are 4 queues for msg reuse: 1KB, 4KB, 16KB and 64KB.
@
text
@d92 1
a92 1
	- cd romio; $(MAKE) clean
@


1.32
log
@fixed make clean when go into romio.
@
text
@d4 1
a4 1
HEADERS=ampi.h ampif.h ampiimpl.h ampiProjections.h
d9 1
a9 1
     ampiMisc.o
@


1.31
log
@put a '-' before romio make rule to ignore error code.
@
text
@d29 1
a29 1
	-cd $(CDIR)/tmp; CHARMINC=.; . ./conv-config.sh; cd $(PWD); if test -n "$$CMK_AMPI_WITH_ROMIO" ; then (make AMPI-ROMIO); fi
d92 1
a92 1
	cd romio; make clean
@


1.30
log
@Removed ROMIO from automatic build target. Now we need to add build
option "--with-romio" to build ROMIO with AMPI.
@
text
@d29 1
a29 1
	cd $(CDIR)/tmp; CHARMINC=.; . ./conv-config.sh; cd $(PWD); if test -n "$$CMK_AMPI_WITH_ROMIO" ; then (make AMPI-ROMIO); fi
@


1.29
log
@Fixed ROMIO make dependency.
@
text
@d28 2
a29 1
all: AMPI AMPIF $(COMPATLIB) AMPI-ROMIO
@


1.28
log
@Use absolute directory in installing romio. (hopefully this works on
lemieux and solaris)
@
text
@d10 5
d28 1
a28 1
#AMPI-ROMIO: AMPI AMPIF $(COMPATLIB)
d30 5
a34 2
all: AMPI AMPIF $(COMPATLIB)
	cd romio; ./installromio.sh
@


1.27
log
@Integrated ROMIO library into AMPI, including the source code,
testcases, updated documentations.
@
text
@d23 2
d83 1
@


1.26
log
@Fixes for MPI_Attr types, used by PETSc.

Though MPI_Keyval's are globally allocated,
the value in an MPI_Attr is local to a single
process' view of a communicator, so the MPI_Attr
values are now stored in the ampiCommStruct.

Also, added support for the builtin MPI keyvals
required by the 1.1 standard, as well as a few
custom AMPI keyvals.

Fortran version of these calls is likely wrong,
and should be tested.
@
text
@d24 1
@


1.25
log
@Added MPI_Op_create/free, also defined MPI_Op as a function pointer.
For detail please refer to the comments in the code.
@
text
@d47 1
a47 1
	cp mpiCC mpicc mpif77 mpif90 $(CDIR)/bin
@


1.24
log
@Added MPI_Info_* in the MPI-2 Miscellaneous category.
Created ampiMisc.C to house these functions and more to come.
Updated Fortran version.
@
text
@d36 1
a36 1
	-$(CHARMC) -cpmod ../../../../include mpiincl.M
@


1.23
log
@fixed pup routines and emptied ampiOOQ.h
@
text
@d8 2
a9 1
OBJS=ampi.o ampif.o ampiProjections.o ampiOneSided.o
d68 3
@


1.22
log
@1. Merged one-sided communication calls from MPI_Win.C and win_obj.C
   into ampiOneSided.C
2. Implement MPI_Win as an integer index into a vector of structure,
   so that the Fortran version can be supported. (It used to be a structure.)
3. Added Fortran implementation of one-sided communication and some other
   newly added functions.
@
text
@d4 2
a5 2
HEADERS=ampi.h ampif.h ampiimpl.h ampiProjections.h ampiOOQ.h
HEADDEP=$(HEADERS) ampiimpl.h ampi.decl.h ampiEvents.h 
@


1.21
log
@Added make rule for win_obj.o and MPI_Win.o
@
text
@d8 1
a8 1
OBJS=ampi.o ampif.o ampiProjections.o win_obj.o MPI_Win.o
d65 2
a66 5
win_obj.o: win_obj.C ampiimpl.h $(HEADDEP)
	$(CHARMC) -c win_obj.C
 
MPI_Win.o: MPI_Win.C ampiimpl.h $(HEADDEP)
	$(CHARMC) -c MPI_Win.C
@


1.20
log
@Fixed previous problems on Yan's check-in.
One-sided communication calls are added. Fortran binding yet to be added.
@
text
@d65 6
@


1.19
log
@recovered one missing change for dependence rule.
@
text
@d8 1
a8 1
OBJS=ampi.o ampif.o ampiProjections.o 
d18 1
a18 1
                                                                                
@


1.18
log
@reversed last checkins to the latest good version. (many many changes lost in the last checkin)
@
text
@d68 1
a68 1
ampiProjections.o: ampiProjections.C ampiEvents.h ampiProjections.h
@


1.17
log
@Use old relative path to charmc, instead of hardcoded
path from the user's home directory.
@
text
@d8 1
a8 1
OBJS=ampi.o ampif.o ampiProjections.o win_obj.o MPI_Win.o
@


1.16
log
@Added in one-sided communication functions.
@
text
@d1 1
a1 1
CDIR=$(HOME)/ampi/charm
@


1.15
log
@changes to use the modified data structure for storing out-of-order messages.
@
text
@d1 1
a1 1
CDIR=../../../..
d8 1
a8 1
OBJS=ampi.o ampif.o ampiProjections.o
d68 1
a68 1
ampiProjections.o: ampiProjections.C ampiEvents.h ampiProjections.h $(HEADDEP)
@


1.14
log
@fixed rule of ampiProjections.o for parallel make
@
text
@d4 1
a4 1
HEADERS=ampi.h ampif.h ampiimpl.h ampiProjections.h ampiQ.h
@


1.13
log
@added a new fixed size queue for ampi
@
text
@d68 1
a68 1
ampiProjections.o: ampiProjections.C ampiEvents.h ampiProjections.h
@


1.12
log
@small changes for parallel make
@
text
@d4 1
a4 1
HEADERS=ampi.h ampif.h ampiimpl.h ampiProjections.h
@


1.11
log
@files for tracing ampi have been moved into the same directory as
ampi
@
text
@d16 6
d49 9
a57 7
$(COMPAT):
	@@for o in $(COMPAT); \
	do \
		file=`echo $$o | sed -e "s/\.o/.C/g"`; \
		echo "$(CHARMC) -c $$file..."; \
		$(CHARMC) -c $$file || exit 1; \
	done
@


1.10
log
@update initcall; changed name libmoduleampi-compat.a to libampi-compat.a
@
text
@d4 2
a5 2
HEADERS=ampi.h ampif.h
HEADDEP=$(HEADERS) ampiimpl.h ampi.decl.h
d8 1
a8 1
OBJS=ampi.o ampif.o
d59 3
@


1.9
log
@separate compat_*.o into a new lib.
@
text
@d14 1
a14 1
COMPATLIB=$(LIBDIR)/libmoduleampi-compat.a
@


1.8
log
@Added .dep module dependency list files.
@
text
@d8 1
a8 1
OBJS=ampi.o ampif.o $(COMPAT)
d14 1
d16 1
a16 1
all: AMPI AMPIF
d33 3
d61 1
a61 1
	-rm -fr *.o *~ *.decl.h *.def.h gmon.out $(DEST) $(DESTF) conv-host charmrun headers *.mod
@


1.7
log
@Slightly rearranged startup sequence-- MPI_Setup now gets
called for *both* C and f90, with the non-defined version
supplied as a compat_ routine.  If they're both non-defined,
use a new Main that calls all *three* of C, C++, and f90
main routines.

This is all needed for calling MPI main routines defined in
C++, which is needed by the Rocket center codes.
@
text
@d10 4
a13 2
DEST=$(CDIR)/lib/libmoduleampi.a
DESTF=$(CDIR)/lib/libmoduleampif.a
d24 1
d30 1
@


1.6
log
@Need 'mpif.h' because some fortran guys just include it directly.
Other fortran people "use MPIINCL", though, so ampimod.f90 is still needed.
@
text
@d6 3
a8 3
COMPAT=compat_ampius.o compat_ampifus.o
OBJS=ampi.o ampif.o compat_ampius.o
OBJSF=ampi.o ampif.o compat_ampifus.o
d21 1
a21 2
	$(CHARMC) -DMPI_FORTRAN=0 -c ampisetup.C
	$(CHARMC) $(OBJS) ampisetup.o -o $@@
d23 1
a23 2
$(DESTF): $(OBJSF) headers
	$(CHARMC) -DMPI_FORTRAN=1 -c ampisetup.C
d25 2
a26 2
	-$(CHARMC) -cpmod ../../../../include ampi.M
	-$(CHARMC) $(OBJSF) ampimod.o ampisetup.o -o $@@
d38 1
a38 1
		file=`echo $$o | sed -e "s/\.o/.c/g"`; \
@


1.5
log
@Adding an "echo" to the AMPI target prevents Make from using
the (stupid) built-in "m2c" rule.
@
text
@d4 1
a4 1
HEADERS=ampi.h
d33 1
@


1.4
log
@Copy mpiCC scripts to bin/.  Also copy ampi.h to mpi.h in include dir.
@
text
@d16 1
@


1.3
log
@Fixed Fortran90 versionof AMPI-> MPI change.
@
text
@d31 2
@


1.2
log
@Fixed path.
@
text
@a5 1
OBJS=ampi.o ampif.o $(COMPAT) 
d7 2
d20 1
a20 1
	$(CHARMC) -DAMPI_FORTRAN=0 -c ampisetup.C
d23 2
a24 2
$(DESTF): $(OBJS) headers
	$(CHARMC) -DAMPI_FORTRAN=1 -c ampisetup.C
d27 1
a27 1
	-$(CHARMC) $(OBJS) ampimod.o ampisetup.o -o $@@
@


1.1
log
@Now that AMPI's a library, it has its own makefile.
@
text
@d25 1
a25 1
	-$(CHARMC) -cpmod ../include ampi.M
d50 1
a50 1
	-rm -fr *.o *~ *.decl.h *.def.h gmon.out $(DEST) $(DESTF) conv-host charmrun headers
@

