[pooma-dev] Re: Cheetah Status
Richard Guenther
rguenth at tat.physik.uni-tuebingen.de
Mon Aug 16 08:15:47 UTC 2004
On Sat, 14 Aug 2004, Richard Guenther wrote:
> Jeffrey D. Oldham wrote:
> > Richard Guenther wrote:
> >
> >> Btw. I have some Cheetah fixes myself, I can collect these together
> >> and maybe we could provide at least a patch for download along the
> >> cheetah tarball.
> >>
> >> Richard.
> >
> >
> > Yes, let's put together your changes and Steve Nolen's changes into a
> > new Cheetah 1.1.5 release. Will you please send them to me? I'll
> > create a Cheetah CVS repository.
>
> I'll send my local changes to you on Monday. But I think we shouldn't
> release until others are reporting success with a set of collected
> patches. Obviously I only tested MPI and not the various other means of
> parallelism in the Cheetah library.
Ok, here's my set of local changes to the Cheetah library.
Sometimes Richard Guenther <richard.guenther at uni-tuebingen.de>
* BUGS: new.
bin/makeinstall: ignore SCCS dirs.
config/LINUXGCC.conf: use -g, not -ggdb.
config/LINUXICC.conf: new.
configure: don't set shmem_locksrc, build-system
is broken.
src/Controller/ControllerFactory.cpp: build factory
with arg not removed.
src/Controller/Group.h: reorder initializers.
src/Controller/Shmem/MM_Allocator.h: remove broken
method.
src/Utilities/CheetahRefCountedPtr.h: const pointer
by value makes no sense.
This patch is against the cheetah-1.1.4 tarball.
Richard.
--
Richard Guenther <richard dot guenther at uni-tuebingen dot de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/
-------------- next part --------------
diff -Nru a/cheetah-1.1.4/BUGS b/cheetah-1.1.4/BUGS
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/cheetah-1.1.4/BUGS 2004-08-16 10:04:52 +02:00
@@ -0,0 +1,9 @@
+From Richard Guenther <rguenth at tat.physik.uni-tuebingen.de>:
+
+ You may experience problems with passing the controller specification
+ argument using the MPICH mpirun implementation. This one doesnt set
+ up the arguments for the clients before calling MPI_Init.
+ To work around this deficiency store a file called CHEETAH_RUNTIME
+ containing "-mpi" as the first line in the same directory as the
+ executable.
+
diff -Nru a/cheetah-1.1.4/bin/makeinstall b/cheetah-1.1.4/bin/makeinstall
--- a/cheetah-1.1.4/bin/makeinstall 2004-08-16 10:04:52 +02:00
+++ b/cheetah-1.1.4/bin/makeinstall 2004-08-16 10:04:52 +02:00
@@ -46,8 +46,8 @@
### copy the source flies
cd $fromsrc
echo "Copying source files to $tosrc ..."
-hflist=`find . -name "*.h" -print`
-cflist=`find . -name "*.cpp" -print`
+hflist=`find . -name "*.h" -print | grep -v SCCS`
+cflist=`find . -name "*.cpp" -print | grep -v SCCS`
tar cf - $hflist $cflist | (cd $tosrc ; tar xvf -)
### copy the library files
diff -Nru a/cheetah-1.1.4/config/LINUXGCC.conf b/cheetah-1.1.4/config/LINUXGCC.conf
--- a/cheetah-1.1.4/config/LINUXGCC.conf 2004-08-16 10:04:52 +02:00
+++ b/cheetah-1.1.4/config/LINUXGCC.conf 2004-08-16 10:04:52 +02:00
@@ -82,7 +82,7 @@
### debug or optimized build settings for C++ applications
-$cppdbg = "-ggdb";
+$cppdbg = "-g";
$cppopt = "-O3 -funroll-loops";
diff -Nru a/cheetah-1.1.4/config/LINUXICC.conf b/cheetah-1.1.4/config/LINUXICC.conf
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/cheetah-1.1.4/config/LINUXICC.conf 2004-08-16 10:04:52 +02:00
@@ -0,0 +1,128 @@
+###########################################################################
+# Cheetah configuration settings
+#
+# Platform: LINUX
+# Compiler: Intel C++ compiler (icc)
+#
+###########################################################################
+#
+# This file contains specialized settings indicating how to build Cheetah
+# with this platform and compiler. This is a perl script executed by
+# the 'configure' script at the top level of the Cheetah directory structure.
+# This file has two sections:
+# 1) The locations of include files and libraries for external packages.
+# 3) The specialized settings on how to use this platform and compiler.
+# You should edit the lines in section 1) to the proper location of the
+# external packages. Do not edit the lines in section 2) unless you
+# know what you're doing.
+#
+###########################################################################
+
+###########################################################################
+# Section 1: external package locations.
+# Include search directories should have a '-I' prepended.
+# Library search directories should have a '-L' prepended.
+# Library filenames should just list the name or use -l prefix as needed.
+# Required defines should have -a '-D' prepended.
+###########################################################################
+
+### location of MM files, for shmem controller (if available)
+
+$has_shmem = 1;
+$shmem_default_dir = "/home/cheetah/packages/mm/build/linux";
+$shmem_inc = "-I$shmem_default_dir/include";
+$shmem_lib = "-L$shmem_default_dir/lib -lmm";
+$shmem_def = "";
+$shmem_locksrc = "Utilities/i386-lock.s";
+$shmem_lockobj = "i386-lock.o";
+$shmem_as = "as";
+
+### location of ULM files, for ULM controller (if available)
+
+$has_ulm = 0;
+
+
+###########################################################################
+# Section 2: compilation settings
+###########################################################################
+
+
+###################
+### characteristics
+###################
+
+### the name of this architecture
+
+$archtype = "linux";
+$comptype = "icc";
+
+### are shared libraries supported?
+
+$canmakesharedlib = 1;
+$sharedext = "so";
+
+
+################
+### C++ settings
+################
+
+### general settings for using the C++ compiler, for both libs and apps
+
+$cpp = "icc";
+
+$cppargs = "-restrict";
+
+$cppex = "-Kc++eh"; # flag to use exceptions
+$cppnoex = ""; # flag to turn off exceptions
+
+$cppverbose = ""; # flag for verbose compiler output
+
+$cppshare = "-KPIC"; # flag for compiling for shared libs
+
+
+### debug or optimized build settings for C++ applications
+
+$cppdbg = "-g";
+
+$cppopt = "-O3";
+
+
+###################
+### linker settings
+###################
+
+$link = "icc";
+
+$linkargs = "\$(CHEETAH_CXX_ARGS)";
+
+$linkverbose = "";
+
+$linkshare = "";
+
+
+#####################
+### archiver settings
+#####################
+
+$ar = "ar";
+
+$arargs = "rcsl";
+
+$arshare = "icc"; # program to make shared lib
+
+$arshareargs = "-shared -o"; # arguments to make shared lib
+
+
+# ACL:rcsinfo
+# ----------------------------------------------------------------------
+# $RCSfile: LINUXGCC.conf,v $ $Author: rasmussn $
+# $Revision: 1.3 $ $Date: 2000/06/26 22:07:27 $
+# ----------------------------------------------------------------------
+# ACL:rcsinfo
+
+###########################################################################
+# the last line of this file must be a '1' so that Perl sees a non-zero
+# results from this file
+###########################################################################
+1;
+
diff -Nru a/cheetah-1.1.4/configure b/cheetah-1.1.4/configure
--- a/cheetah-1.1.4/configure 2004-08-16 10:04:52 +02:00
+++ b/cheetah-1.1.4/configure 2004-08-16 10:04:52 +02:00
@@ -846,7 +846,7 @@
{
# make sure we don't try to set up any assembly file
# with mutex lock code
- $shmem_locksrc = "";
+ #$shmem_locksrc = "";
}
}
diff -Nru a/cheetah-1.1.4/src/Controller/ControllerFactory.cpp b/cheetah-1.1.4/src/Controller/ControllerFactory.cpp
--- a/cheetah-1.1.4/src/Controller/ControllerFactory.cpp 2004-08-16 10:04:52 +02:00
+++ b/cheetah-1.1.4/src/Controller/ControllerFactory.cpp 2004-08-16 10:04:52 +02:00
@@ -121,17 +121,21 @@
if (p->first == argv[i])
{
//
- // We have a match! Delete this arg from the input
- // list.
+ // We have a match! Build this factory.
+ //
+ ControllerImpl* impl = p->second(argc, argv);
+
+ //
+ // Delete the arg from the input list.
//
for (int j=i+1; j<argc; ++j)
argv[j-1] = argv[j];
--argc;
//
- // Build this factory and return it.
+ // Return the factory.
//
- return p->second(argc, argv);
+ return impl;
}
}
}
diff -Nru a/cheetah-1.1.4/src/Controller/Group.h b/cheetah-1.1.4/src/Controller/Group.h
--- a/cheetah-1.1.4/src/Controller/Group.h 2004-08-16 10:04:52 +02:00
+++ b/cheetah-1.1.4/src/Controller/Group.h 2004-08-16 10:04:52 +02:00
@@ -49,7 +49,7 @@
// state which must be corrected with the initialize() function.
//
- Group() : nContexts_m(-1), myContext_m(NOT_A_MEMBER), ranks_m(0), id_m(0) { }
+ Group() : myContext_m(NOT_A_MEMBER), nContexts_m(-1), ranks_m(0), id_m(0) { }
Group(int nContexts, int myContext, int* ranks = 0, int id = 0);
diff -Nru a/cheetah-1.1.4/src/Controller/Shmem/MM_Allocator.h b/cheetah-1.1.4/src/Controller/Shmem/MM_Allocator.h
--- a/cheetah-1.1.4/src/Controller/Shmem/MM_Allocator.h 2004-08-16 10:04:52 +02:00
+++ b/cheetah-1.1.4/src/Controller/Shmem/MM_Allocator.h 2004-08-16 10:04:52 +02:00
@@ -55,9 +55,6 @@
//
pointer allocate(int n) { return (pointer)MM_malloc(n*sizeof(T)); }
- template<class P>
- void allocate(int n, P) { return (pointer)MM_malloc(n*sizeof(T)); }
-
//
// Free back to shared memory.
//
diff -Nru a/cheetah-1.1.4/src/Utilities/CheetahRefCountedPtr.h b/cheetah-1.1.4/src/Utilities/CheetahRefCountedPtr.h
--- a/cheetah-1.1.4/src/Utilities/CheetahRefCountedPtr.h 2004-08-16 10:04:52 +02:00
+++ b/cheetah-1.1.4/src/Utilities/CheetahRefCountedPtr.h 2004-08-16 10:04:52 +02:00
@@ -79,7 +79,7 @@
// Assignment operators increment the reference count.
RefCountedPtr & operator=(const RefCountedPtr &);
- RefCountedPtr & operator=(T * const);
+ RefCountedPtr & operator=(T *);
//============================================================
// Accessors and Mutators
More information about the pooma-dev
mailing list