head	1.26;
access;
symbols;
locks; strict;
comment	@# @;


1.26
date	2004.05.19.23.36.13;	author skumar2;	state dead;
branches;
next	1.25;

1.25
date	2004.05.14.19.31.06;	author gzheng;	state Exp;
branches;
next	1.24;

1.24
date	2004.04.10.19.02.03;	author skumar2;	state Exp;
branches;
next	1.23;

1.23
date	2004.01.30.19.30.27;	author olawlor;	state Exp;
branches;
next	1.22;

1.22
date	2004.01.26.21.01.48;	author skumar2;	state Exp;
branches;
next	1.21;

1.21
date	2003.12.24.00.54.29;	author koenig;	state Exp;
branches;
next	1.20;

1.20
date	2003.11.25.00.41.32;	author gioachin;	state Exp;
branches;
next	1.19;

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

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

1.17
date	2003.07.29.04.43.14;	author gzheng;	state Exp;
branches;
next	1.16;

1.16
date	2003.07.29.03.48.10;	author gzheng;	state Exp;
branches;
next	1.15;

1.15
date	2003.07.22.20.22.38;	author skumar2;	state Exp;
branches;
next	1.14;

1.14
date	2003.07.17.21.12.14;	author skumar2;	state Exp;
branches;
next	1.13;

1.13
date	2003.07.11.19.41.17;	author skumar2;	state Exp;
branches;
next	1.12;

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

1.11
date	2003.05.11.18.14.42;	author gzheng;	state Exp;
branches;
next	1.10;

1.10
date	2003.03.27.22.46.31;	author olawlor;	state Exp;
branches;
next	1.9;

1.9
date	2003.03.13.18.02.36;	author skumar2;	state Exp;
branches;
next	1.8;

1.8
date	2003.03.06.21.14.13;	author skumar2;	state Exp;
branches;
next	1.7;

1.7
date	2003.02.28.17.57.29;	author skumar2;	state Exp;
branches;
next	1.6;

1.6
date	2003.02.19.19.36.53;	author skumar2;	state Exp;
branches;
next	1.5;

1.5
date	2002.12.12.23.08.22;	author skumar2;	state Exp;
branches;
next	1.4;

1.4
date	2002.10.28.22.26.58;	author skumar2;	state Exp;
branches;
next	1.3;

1.3
date	2002.07.09.19.29.35;	author skumar2;	state Exp;
branches;
next	1.2;

1.2
date	2002.03.16.00.10.08;	author vadali;	state Exp;
branches;
next	1.1;

1.1
date	2002.03.08.20.42.28;	author skumar2;	state Exp;
branches;
next	;


desc
@@


1.26
log
@removing commlib from libs/ck-libs
@
text
@CDIR=../../../..
CHARMC=$(CDIR)/bin/charmc -I../../.. $(OPTS)
CHARMINC=$(CDIR)/include
CHARMBIN=$(CDIR)/bin
LIBDIR=$(CDIR)/lib
COMMLIBDIR=../../conv-libs/commlib

DEPENDFILE = Make.depends

LIB = $(LIBDIR)/libmodulecommlib.a

STRATEGY_OBJS = MPIStrategy.o StreamingStrategy.o \
		DummyStrategy.o NodeMulticast.o EachToManyMulticastStrategy.o \
		MsgPacker.o DirectMulticastStrategy.o RingMulticastStrategy.o \
		PipeBroadcastStrategy.o MeshStreamingStrategy.o \
		PrioStreaming.o BroadcastStrategy.o

CONVERSE_COM_OBJS = $(COMMLIBDIR)/commlib.o $(COMMLIBDIR)/gridrouter.o \
	$(COMMLIBDIR)/de.o $(COMMLIBDIR)/treerouter.o $(COMMLIBDIR)/petable.o\
	$(COMMLIBDIR)/overlapper.o $(COMMLIBDIR)/rsend.o \
	$(COMMLIBDIR)/bcast.o $(COMMLIBDIR)/3dgridrouter.o  \
	$(COMMLIBDIR)/graphrouter.o  $(COMMLIBDIR)/hypercubetopology.o

CIFILES = ComlibManager.ci

OBJS = ComlibManager.o $(STRATEGY_OBJS) $(CONVERSE_COM_OBJS)

all: 
	$(MAKE) conversecom 
	$(MAKE) $(LIB) 

$(LIB): $(OBJS) $(STRATEGY_OBJS) $(CONVERSE_COM_OBJS)
	$(CHARMC) -o $(LIB) $(OBJS)
	rm -f $(CDIR)/include/ComlibManager.h
	cp  ComlibManager.h $(CDIR)/include
	rm -f $(CDIR)/include/EachToManyMulticastStrategy.h
	cp  EachToManyMulticastStrategy.h $(CDIR)/include
	rm -f $(CDIR)/include/BroadcastStrategy.h
	cp  BroadcastStrategy.h $(CDIR)/include
	rm -f $(CDIR)/include/DirectMulticastStrategy.h
	cp  DirectMulticastStrategy.h $(CDIR)/include
	rm -f $(CDIR)/include/RingMulticastStrategy.h
	cp  RingMulticastStrategy.h $(CDIR)/include
	rm -f $(CDIR)/include/DummyStrategy.h
	cp  DummyStrategy.h $(CDIR)/include
	rm -f $(CDIR)/include/NodeMulticast.h
	cp  NodeMulticast.h $(CDIR)/include
	rm -f $(CDIR)/include/StreamingStrategy.h
	cp  StreamingStrategy.h $(CDIR)/include
	rm -f $(CDIR)/include/PipeBroadcastStrategy.h
	cp  PipeBroadcastStrategy.h $(CDIR)/include
	rm -f $(CDIR)/include/MeshStreamingStrategy.h
	cp  MeshStreamingStrategy.h $(CDIR)/include
	rm -f $(CDIR)/include/PrioStreaming.h
	cp  PrioStreaming.h $(CDIR)/include
	rm -f $(CDIR)/include/commlib.decl.h
	cp  commlib.decl.h $(CDIR)/include
	rm -f $(CDIR)/include/commlib.def.h
	cp  commlib.def.h $(CDIR)/include

conversecom :
	(cd ../../conv-libs/commlib; $(MAKE) )

include $(DEPENDFILE)

commlib.decl.h : commlib.def.h

commlib.def.h: ComlibManager.ci
	$(CHARMC) ComlibManager.ci

clean:
	rm -f *~ *.decl.h *.def.h *.o $(LIB) \
	$(CDIR)/include/ComlibManager.h      \
	$(CDIR)/include/EachToManyMulticastStrategy.h \
	$(CDIR)/include/DummyStrategy.h      \
	$(CDIR)/include/NodeMulticast.h      \
	$(CDIR)/include/StreamingStrategy.h  \
	$(CDIR)/include/PipeBroadcastStrategy.h \
	$(CDIR)/include/BroadcastStrategy.h \
	$(CDIR)/include/MeshStreamingStrategy.h \
	$(CDIR)/include/PrioStreaming.h \
	$(CDIR)/include/commlib.decl.h       \
	$(CDIR)/include/commlib.def.h        \
	$(CDIR)/lib/libcomm.a                \
	$(CDIR)/lib/libmodulecomlib.a

depends:  $(CIFILES)
	echo "Creating " $(DEPENDFILE) " ..."; 
	if [ -f $(DEPENDFILE) ]; then \
           /bin/cp -f $(DEPENDFILE) $(DEPENDFILE).old; \
        fi; \
	echo > $(DEPENDFILE); \
        for i in ComlibManager.o $(STRATEGY_OBJS) ; do \
	      SRCFILE=`basename $$i .o`.C ; \
              echo "checking dependencies for $$SRCFILE" ; \
              g++ -MM  -I../../.. -I$(CHARMINC) $$SRCFILE | \
              perl $(CHARMBIN)/dep.pl $(CHARMINC)  /usr/include /usr/local >> $(DEPENDFILE); \
              echo '	$$(CHARMC) -c -o '$$i $$SRCFILE >> $(DEPENDFILE) ; \
	      echo '' >> $(DEPENDFILE) ; \
        done; 

@


1.25
log
@force strong dependence with the cahrm core header files.
@
text
@@


1.24
log
@adding a new broadcast strategy to the communication library which performs group broadcast
@
text
@d97 1
a97 1
              perl $(CHARMBIN)/dep.pl $(CHARMINC)  ../../.. /usr/include /usr/local >> $(DEPENDFILE); \
@


1.23
log
@Don't use -cp option, instead point -o directly to the correct
library.  This makes commlib generate shared libraries properly.
@
text
@d12 1
a12 1
STRATEGY_OBJS = EachToManyStrategy.o MPIStrategy.o StreamingStrategy.o \
d16 1
a16 1
		PrioStreaming.o
d38 2
a73 1
	$(CDIR)/include/EachToManyStrategy.h \
d79 1
@


1.22
log
@setting the msg idx of the envelope to make short message packing work for
dynamically allocated messages.
@
text
@d10 1
a10 1
LIB = libmodulecommlib.a
d33 1
a33 1
	$(CHARMC) -cp $(LIBDIR) -o libmodulecommlib.a $(OBJS)
@


1.21
log
@Modifications for MeshStreamingStrategy to do the following:

1.  Actually make the code available to people using CommLib
2.  Fix bugs uncovered during more thorough testing
3.  Allow the mesh to contain "holes" if the last row is not complete
@
text
@d15 2
a16 1
		PipeBroadcastStrategy.o MeshStreamingStrategy.o
d50 1
a50 1
	rm -f $(CDIR)/include/MeshStreaming/Strategy.h
d52 2
d79 1
@


1.20
log
@Checking in new communication strategy PipeBroadcast.
If the message to be sent is too large, it is splitted and sent in multiple
chunks. It support both charm++ commlib interface and converse direct calls.
When calling from converse, the entry point is conversePipeBcast.
Currently implemented strategies are linear array and hypercube.
Modified ComlibManager to insert the new strategy.
@
text
@d15 1
a15 1
		PipeBroadcastStrategy.o
d49 2
d75 1
@


1.19
log
@automatically generate Make.depends to allow parallel make.
@
text
@d14 2
a15 1
		MsgPacker.o DirectMulticastStrategy.o RingMulticastStrategy.o
d47 2
d72 1
d75 1
a75 1
        $(CDIR)/lib/libcomm.a                \
@


1.18
log
@tweak dependence a little to allow parallel make.
@
text
@d1 1
d3 3
d7 2
a8 2
CDIR=../../../..
LIBDIR=$(CDIR)/lib
d22 2
d54 1
a54 13
ComlibManager.o: ComlibManager.C ComlibManager.h
	$(CHARMC) -c ComlibManager.C

EachToManyStrategy.o: EachToManyStrategy.C EachToManyStrategy.h ComlibManager.h
	$(CHARMC) -c EachToManyStrategy.C

EachToManyMulticastStrategy.o: EachToManyMulticastStrategy.C EachToManyMulticastStrategy.h \
	ComlibManager.h
	$(CHARMC) -c EachToManyMulticastStrategy.C

DirectMulticastStrategy.o: DirectMulticastStrategy.C DirectMulticastStrategy.h\
	ComlibManager.h
	$(CHARMC) -c DirectMulticastStrategy.C
d56 1
a56 3
RingMulticastStrategy.o: RingMulticastStrategy.C RingMulticastStrategy.h\
	ComlibManager.h
	$(CHARMC) -c RingMulticastStrategy.C
d58 1
a58 16
MPIStrategy.o: MPIStrategy.C MPIStrategy.h ComlibManager.h
	$(CHARMC) -c MPIStrategy.C

StreamingStrategy.o: StreamingStrategy.C StreamingStrategy.h ComlibManager.h
	$(CHARMC) -c StreamingStrategy.C

DummyStrategy.o: DummyStrategy.C DummyStrategy.h ComlibManager.h
	$(CHARMC) -c DummyStrategy.C

NodeMulticast.o: NodeMulticast.C NodeMulticast.h ComlibManager.h
	$(CHARMC) -c NodeMulticast.C

MsgPacker.o: MsgPacker.C MsgPacker.h
	$(CHARMC) -c MsgPacker.C

commlib.decl.h commlib.def.h: ComlibManager.ci
a60 2
ComlibManager.h: commlib.decl.h

d73 16
@


1.17
log
@avoid tedious header file copying everytime.
@
text
@d20 3
a22 1
all: conversecom $(LIB) 
d46 1
a46 1
	(cd ../../conv-libs/commlib; make)
@


1.16
log
@avoid compiling .ci for every make
@
text
@d21 3
a44 3

libmodulecommlib.a: $(OBJS) $(STRATEGY_OBJS) $(CONVERSE_COM_OBJS)
	$(CHARMC) -cp $(LIBDIR) -o libmodulecommlib.a $(OBJS)
@


1.15
log
@New strategies in the communication library
@
text
@d20 1
a20 1
all: cifiles conversecom $(LIB) 
d79 1
a79 1
cifiles: ComlibManager.ci
d82 2
d95 1
a95 1
	$(CDIR)/lib/libmodulecomlib.a@


1.14
log
@Adding the fast short array message packer library
@
text
@d10 1
a10 1
		MsgPacker.o
a22 2
	rm -f $(CDIR)/include/EachToManyStrategy.h
	cp  EachToManyStrategy.h $(CDIR)/include
d25 4
d55 8
@


1.13
log
@Adding the latest version of the communication library which uses array listeners and
has a much simpler interface.
@
text
@d1 1
a1 1
CHARMC=$(CDIR)/bin/charmc $(OPTS)
d9 2
a10 1
		DummyStrategy.o NodeMulticast.o EachToManyMulticastStrategy.o
d65 3
@


1.12
log
@fixed .o copying for shared lib.
@
text
@d6 1
a6 1
LIB = libcomm.a
d12 4
a15 3
	$(COMMLIBDIR)/de.o $(COMMLIBDIR)/treerouter.o $(COMMLIBDIR)/petable.o \
	$(COMMLIBDIR)/overlapper.o $(COMMLIBDIR)/rsend.o $(COMMLIBDIR)/bcast.o \
	$(COMMLIBDIR)/3dgridrouter.o  $(COMMLIBDIR)/graphrouter.o  $(COMMLIBDIR)/hypercubetopology.o
d32 4
a35 6
	rm -f $(CDIR)/include/ComlibModule.decl.h
	cp  ComlibModule.decl.h $(CDIR)/include
	rm -f $(CDIR)/include/ComlibModule.def.h
	cp  ComlibModule.def.h $(CDIR)/include
	rm -f $(CDIR)/tmp/ComlibManager.ci
	cp  ComlibManager.ci $(CDIR)/tmp
d40 2
a41 2
libcomm.a: $(OBJS) $(STRATEGY_OBJS) $(CONVERSE_COM_OBJS)
	$(CHARMC) -cp $(LIBDIR) -o libcomm.a $(OBJS)
d69 11
a79 1
	rm -f *~ ComlibModule.decl.h ComlibModule.def.h *.o $(LIB)
@


1.11
log
@fixed wrong directory copying and removed -cp.
@
text
@d6 1
a6 1
LIB = $(LIBDIR)/libcomm.a
d41 2
a42 2
$(LIBDIR)/libcomm.a: $(OBJS) $(STRATEGY_OBJS) $(CONVERSE_COM_OBJS)
	$(CHARMC) -o $@@ $(OBJS)
@


1.10
log
@Don't check in .o files.
@
text
@a0 1
CDIR=../../../..
d3 2
d6 1
a6 1
LIB = libcomm.a
a36 2
	rm -f $(CDIR)/lib/libcomm.a
	cp libcomm.a $(CDIR)/lib/
d41 2
a42 2
libcomm.a: $(OBJS) $(STRATEGY_OBJS) $(CONVERSE_COM_OBJS)
	$(CHARMC) -cp ../../../../../lib -o libcomm.a $(OBJS)
@


1.9
log
@A new multicast call in the commlib which can all the user to change the destination
map of processors.
@
text
@d71 1
a71 1
	rm -f *~ ComlibModule.decl.h ComlibModule.def.h *.o 
@


1.8
log
@New version of NodeMulticast which uses prefix send.
@
text
@d13 1
a13 1
	$(COMMLIBDIR)/3dgridrouter.o
@


1.7
log
@Adding new multicast strategies.
@
text
@d13 1
a13 1
	$(COMMLIBDIR)/charm_bind.o $(COMMLIBDIR)/3dgridrouter.o
@


1.6
log
@Adding new strategy for node based multicast.
@
text
@d8 1
a8 1
		DummyStrategy.o NodeMulticast.o
d22 2
d50 4
@


1.5
log
@Commiting latest version of the communications library which can easily create multiple instances
@
text
@d8 1
a8 1
		DummyStrategy.o 
d24 2
d57 3
@


1.4
log
@adding seperate files for each charm lever strategy!
@
text
@d20 6
@


1.3
log
@Adding namd code to the commlib manager
@
text
@d6 5
a10 1
OBJS = ComlibManager.o $(COMMLIBDIR)/commlib.o $(COMMLIBDIR)/gridrouter.o \
d15 2
d32 1
a32 1
libcomm.a: $(OBJS)
d36 13
a48 1
	$(CHARMC) ComlibManager.C
@


1.2
log
@Fixing bug in ComlibManager.C, for the USE_DIRECT option which did not work without the comid being passed to all the group members
@
text
@d9 1
a9 1
	$(COMMLIBDIR)/charm_bind.o 
d20 2
d29 1
a29 1
ComlibManager.o:
@


1.1
log
@Adding the charm++ communication optimization library
@
text
@d25 1
a25 1
	$(CHARMC) -cp ../../../../lib -o libcomm.a $(OBJS)
@

