On Wed, 2009-01-28 at 09:38 -0600, Steve Wise wrote:
> Doug Ledford wrote:
> > On Thu, 2009-01-22 at 16:07 -0600, Steve Wise wrote:
> >   
> >> I understand the desire to not release new features in a point release, 
> >> but at the same time, these features are ready or near ready now.  And 
> >> prior features have definitely been released in point releases.  
> >> (connectX for example).  Another key point is that these features do not 
> >> need the kernel rebase that will happen with ofed-1.5, which will take 
> >> months...
> >>
> >> Just more thoughts.  :)
> >>     
> >
> > I'm a bit late to this discussion, and you may have already talked about
> > this in the ewg teleconference, but I want to throw in my thoughts.
> >
> > As far as new features goes, adding ConnectX support in a point release
> > is a huge difference from switching OpenMPI releases from a stable
> > series to the .0 release of the next series.  In the case of ConnectX,
> > it was "just another driver" and its addition should have had almost 0
> > impact on anyone not using that driver.  On the other hand, switching
> > OpenMPI versions changes the OpenMPI stack for everyone and has the
> > potential to create wide spread regressions should something go wrong.
> > So the risk factor comparison between these two actions simply isn't
> > valid.  One doesn't risk regressions for non-ConnectX users, one risks
> > regressions for everyone using OpenSM.
> >
> >   
> Good points.
> 
> One way to alleviate this is to ship both 1.2.8 and 1.3 in ofed-1.4.1 
> and mark 1.3 as "experimental".  Then remove 1.2.8 in ofed-1.5 and make 
> 1.3.x the production version for ofed-1.5.

That's certainly doable IMO.

> I suggested this in the last conf call but folks didn't like the thought 
> of testing both.  But perhaps marking it "experimental" resolves this 
> issue?  So the iWARP vendors will test 1.3 and little to no testing is 
> required for 1.2.8 since it has been qualified with ofed-1.4 QA.

What about adding some automated tests using mpitests?  Both automated
build tests (which does some amount of testing of the mpicc et. al.
wrappers) and run tests (which would require a slightly more
sophisticated test harness in that it at least needs to know about
machines to run the tests over, etc)?

In fact, while I'm at it, let me attach my Makefile patch I use against
the mpitests-3.1 package in OFED 1.4.  It greatly simplifies the make
environment and does something that I think the mpitests package
*should* do but currently doesn't without my patch: test the mpicc
wrappers.  The current Makefiles set all sorts of MPIHOME and CC and
other variables...these are all things that mpicc *should* take care of
for you and *not* using plain mpicc in the mpitests Makefiles simply
ignores one aspect of the testing that is perfectly valid and means you
have to validate your mpi build environment separately.  I would suggest
that this patch, or something like it, be applied to the build
environment for mpitests.  Is the person responsible for that tarball on
these lists?

-- 
Doug Ledford <[email protected]>
              GPG KeyID: CFBFF194
              http://people.redhat.com/dledford

Infiniband specific RPMs available at
              http://people.redhat.com/dledford/Infiniband

--- mpitests-3.0/IMB-3.0/src/Makefile.make	2007-11-22 09:18:07.000000000 -0500
+++ mpitests-3.0/IMB-3.0/src/Makefile	2008-09-18 14:08:56.000000000 -0400
@@ -1,21 +1,9 @@
 # Enter root directory of mpich install
-MPI_HOME=$(MPIHOME)
-
-MPICC=$(shell find ${MPI_HOME} -name mpicc -print)
-
-NULL_STRING :=
-ifneq (,$(findstring /bin/mpicc,${MPICC}))
-MPI_INCLUDE := -I${MPI_HOME}/include
-else
-$(error Variable MPI_HOME="${MPI_HOME}" does not seem to contain a valid mpicc)
-endif
-LIB_PATH    =
-LIBS        = 
-CC          = ${MPI_HOME}/bin/mpicc 
+CC          = mpicc 
 OPTFLAGS    = -O3
 CLINKER     = ${CC}
 LDFLAGS     =
 CPPFLAGS    = 
 
-export MPI_INCLUDE CC LIB_PATH LIBS OPTFLAGS CLINKER LDFLAGS CPPFLAGS
+export CC OPTFLAGS CLINKER LDFLAGS CPPFLAGS
 include Makefile.base
--- mpitests-3.0/IMB-3.0/src/Makefile.base.make	2007-11-22 09:18:07.000000000 -0500
+++ mpitests-3.0/IMB-3.0/src/Makefile.base	2008-09-18 14:08:56.000000000 -0400
@@ -59,6 +59,14 @@ EXT : $(OBJEXT) 
 IO: $(OBJIO) 
 	$(CLINKER) $(LDFLAGS) -o IMB-IO $(OBJIO)  $(LIB_PATH) $(LIBS)
 
+install:
+	mkdir -p ${DESTDIR}; \
+	for benchmark in IMB-MPI1 IMB-EXT IMB-IO; do \
+	    if [ -e $$benchmark ]; then \
+	        cp $$benchmark ${DESTDIR}${INSTALL_DIR}/mpitests-$$benchmark; \
+	    fi; \
+	done
+
 # Make sure that we remove executables for specific architectures
 clean:
 	/bin/rm -f *.o *~ PI* core IMB-IO IMB-EXT IMB-MPI1 exe_io exe_ext exe_mpi1
--- mpitests-3.0/presta-1.4.0/Makefile.make	2006-08-01 04:25:21.000000000 -0400
+++ mpitests-3.0/presta-1.4.0/Makefile	2008-09-18 14:52:46.000000000 -0400
@@ -6,14 +6,7 @@
 #
 
 #  Default values
-MPIHOME=
-CC=$(MPIHOME)/bin/mpicc
 DISTRIB=
-STACK_PREFIX=
-LIBS= -lm -L$(MPIHOME)/lib/shared -L$(MPIHOME)/lib -L$(DISTRIB)/$(STACK_PREFIX)/lib64 -L$(DISTRIB)/$(STACK_PREFIX)/lib
-CFLAGS= -O2 -g -I$(MPIHOME)/include
-LDFLAGS= 
-INCDIR=
 
 #  Setting for using gcc for lint
 LINT=
@@ -45,7 +38,12 @@ glob: glob.o util.o 
 	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ glob.o util.o $(LIBS)
 
 globalop: globalop.o 
-	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ globalop.o $(LIBS)
+	$(CC) $(CFLAGS) $(LDFLAGS) -lm -o $@ globalop.o $(LIBS)
+
+install: $(EXES)
+	for i in $(EXES); do \
+		install -m 0755 $$i $(DESTDIR)$(INSTALL_DIR)/mpitests-$$i ; \
+	done
 
 clean:
 	rm -f $(EXES) *.o
--- mpitests-3.0/Makefile.make	2007-11-22 12:38:49.000000000 -0500
+++ mpitests-3.0/Makefile	2008-09-18 14:53:45.000000000 -0400
@@ -1,44 +1,32 @@
-CFLAGS = 
-MPIHOME=./
-CC = 
-LIBS =  
-INCLUDES =
-OBJS = 
-SRCS = 
-INSTALL_DIR=tests/
-INSTALL_PMB=IMB-3.0
-INSTALL_PRESTA=presta-1.4.0
-INSTALL_OSU=osu_benchmarks-3.0
+CC = mpicc
+PMB=IMB-3.0
+PRESTA=presta-1.4.0
+OSU=osu_benchmarks-3.0
+
 all: pmb osu presta
 install: install-pmb install-presta install-osu
+clean: clean-pmb clean-presta clean-osu 
 
 # The variable $@ has the value of the target. 
 pmb: 
-	cd $(PWD)/$(INSTALL_PMB)/src && make MPIHOME=$(MPIHOME)
+	cd $(PMB)/src && make all
 osu: 
-	cd $(PWD)/$(INSTALL_OSU) && make MPIHOME=$(MPIHOME)
+	cd $(OSU) && make all
+osu-mpi1:
+	cd $(OSU) && make mpi1
 presta:
-	cd $(PWD)/$(INSTALL_PRESTA) && make MPIHOME=$(MPIHOME)
+	cd $(PRESTA) && make all
+
 clean-pmb: 
-	cd $(PWD)/$(INSTALL_PMB)/src && make MPIHOME=$(MPIHOME) clean
+	cd $(PMB)/src && make clean
 clean-osu: 
-	cd $(PWD)/$(INSTALL_OSU) && make MPIHOME=$(MPIHOME) clean
+	cd $(OSU) && make clean
 clean-presta:
-	cd $(PWD)/$(INSTALL_PRESTA) && make MPIHOME=$(MPIHOME) clean
-clean: clean-pmb clean-presta clean-osu 
-	rm -rf $(MPIHOME)/$(INSTALL_DIR)
+	cd $(PRESTA) && make clean
+
 install-pmb:
-	mkdir -p $(MPIHOME)/$(INSTALL_DIR)/$(INSTALL_PMB)
-	cp -f $(INSTALL_PMB)/src/IMB-MPI1 $(MPIHOME)/$(INSTALL_DIR)/$(INSTALL_PMB)
+	cd $(PMB)/src && make install
 install-presta:
-	mkdir -p $(MPIHOME)/$(INSTALL_DIR)/$(INSTALL_PRESTA)
-	cp -f $(INSTALL_PRESTA)/com    		$(MPIHOME)/$(INSTALL_DIR)/$(INSTALL_PRESTA)
-	cp -f $(INSTALL_PRESTA)/glob     	$(MPIHOME)/$(INSTALL_DIR)/$(INSTALL_PRESTA)
-	cp -f $(INSTALL_PRESTA)/globalop 	$(MPIHOME)/$(INSTALL_DIR)/$(INSTALL_PRESTA)
+	cd $(PRESTA) && make install
 install-osu:
-	mkdir -p $(MPIHOME)/$(INSTALL_DIR)/$(INSTALL_OSU)
-	cp -f $(INSTALL_OSU)/osu_bw		    $(MPIHOME)/$(INSTALL_DIR)/$(INSTALL_OSU)
-	cp -f $(INSTALL_OSU)/osu_bibw		$(MPIHOME)/$(INSTALL_DIR)/$(INSTALL_OSU)
-	cp -f $(INSTALL_OSU)/osu_bcast		$(MPIHOME)/$(INSTALL_DIR)/$(INSTALL_OSU)
-	cp -f $(INSTALL_OSU)/osu_latency	$(MPIHOME)/$(INSTALL_DIR)/$(INSTALL_OSU)
-	cp -f $(INSTALL_OSU)/osu_mbw_mr  	$(MPIHOME)/$(INSTALL_DIR)/$(INSTALL_OSU)
+	cd $(OSU) && make install
--- mpitests-3.0/osu_benchmarks-3.0/Makefile.make	2007-11-22 09:18:07.000000000 -0500
+++ mpitests-3.0/osu_benchmarks-3.0/Makefile	2008-09-18 14:08:56.000000000 -0400
@@ -1,6 +1,6 @@
-CC		= ${MPIHOME}/bin/mpicc
+CC		= mpicc
 MPI1_BENCHMARKS	= osu_bcast osu_bibw osu_bw osu_latency osu_mbw_mr
-MPI2_BENCHMARKS	= osu_acc_latency osu_get_bw osu_get_latency osu_latency_mt\
+MPI2_BENCHMARKS	= osu_get_bw osu_get_latency osu_latency_mt\
 		  osu_put_bibw osu_put_bw osu_put_latency
 ALL_BENCHMARKS	= ${MPI1_BENCHMARKS} ${MPI2_BENCHMARKS}
 
@@ -12,10 +12,10 @@ mpi2:	${ALL_BENCHMARKS}
 all:	${ALL_BENCHMARKS}
 
 install:
-	mkdir -p ${PREFIX}/osu_benchmarks &&\
+	mkdir -p ${DESTDIR}${INSTALL_DIR} &&\
 	  for benchmark in ${ALL_BENCHMARKS}; do\
 	  if [ -e $$benchmark ]; then\
-	  cp $$benchmark ${PREFIX}/osu_benchmarks/;\
+	  cp $$benchmark ${DESTDIR}${INSTALL_DIR}/mpitests-$$benchmark;\
 	  fi; done
 
 clean:

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to