Skip to content
Snippets Groups Projects
Commit bcd1f1cf authored by henry's avatar henry
Browse files

* bin/rmdepall: Correction to the removing of scanned files.

parent ee6a2ced
Branches
Tags
No related merge requests found
Showing
with 1 addition and 31696 deletions
......@@ -4,7 +4,7 @@ if [ $# -eq 0 ]; then
find . \( -name '*.dep' \) -print | xargs -t rm
elif [ $# -eq 1 ]; then
echo "Removing all dep files containing $1..."
find . -name '*.dep' -exec grep "$1" '{}' \; | sed -e 's/:.*//' | xargs -t rm
find . -name '*.dep' -exec grep "$1" '{}' \; -exec rm '{}' \;
else
echo "Usage: `basename $0` to remove all .dep files"
echo " `basename $0` <file> to remove all .dep files referring to <file>"
......
The distribution of PARMGRIDGEN consists of a number of files arranged in four
directories. The files contained in each directory are as follows:
Doc/ Contains PARMGRIDGEN's user manual
Graphs/ Contains some small sample meshes that can be used with
the stand-alone programs of MGRIDGEN and PARMGRIDGEN
MGridGen/ Contains the serial library
ParMGridGen/ Contains the parallel library
mgridgen Stand-alone serial program
parmgridgen Stand-alone parallel program
The distribution of MGRIDGEN consists of a number of files arranged in three
directories. The files contained in each directory are as follows:
IMlib/ Contains some auxiliary routines
Lib/ Contains the code for MGRIDGEN's library
Programs/ Contains a comprehensive tester for MGRIDGEN's routines
The distribution of PARMGRIDGEN consists of a number of files arranged in three
directories. The files contained in each directory are as follows:
IMParMetis-2.0/ Contains some auxiliary routins from ParMetis-2.0, modified
so as to fit our data types.
ParLib/ Contains the code for MGRIDGEN's library
Programs/ Contains a comprehensive tester for PARMGRIDGEN's routines
This file contains one test problem
M6.metis
This is a small 3D mesh corresponding to a M6 wing.
You can use it to test various coarsening techniques.
===========================================================================
To run the serial code, for example, try something like
../mgridgen1.0 M6.metis 3 4 6 1 4 128
Here is how the correct output should look like.
prompt%: ../mgridgen1.0 M6.metis 3 4 6 1 4 128
Parameters: M6.metis, Dim=3 [ 1 4] CType=4 RType=6 Nvtxs=24893 Nedges=351504
Npoints: 7161, Coarsening Factor: 3.476190
Aspect Ratios: Min : 1.211900e+01, Max : 1.784692e+01
Aspect Ratios: Sum : 1.145611e+05, Wsum: 3.997483e+05
Aspect Ratios: Surf: 1.473822e+06, Avg : 1.599792e+01
Graph lmincut : 1.436660e+05
Cell size: min=1, max=4
CellSizeDist: [ 1 24] [ 2 819] [ 3 2041] [ 4 4277]
Total Time: 6.700000
===========================================================================
To run the parallel code try something like
mpirun -np 4 ../parmgridgen1.0 M6.metis 3 4 6 1 4 128
An output file, named OUTPUT4.[0-3], will be generated for every processor.
prompt% more OUTPUT4.0
Nvtxs: 24893, Nedges: 351504
------------------------ PARAMETERS --------------------------------------
M6.metis, Dim=3 [ 1 4] CType=4 RType=6 Nvtxs=6223 Nedges=87156
-------------------------- LOCAL --------------------------
Npoints: 1883, Coarsening Factor: 3.459373
Aspect Ratios: Min : 1.250444e+01, Max : 1.762476e+01
Aspect Ratios: Sum : 3.005424e+04, Wsum: 1.044060e+05
Aspect Ratios: Surf: 7.849518e+05, Avg : 1.596083e+01
Graph lmincut : 3.818850e+04
Cell size: min=1, max=4
CellSizeDist: [ 1 9] [ 2 253] [ 3 485] [ 4 1136]
-------------------------- GLOBAL --------------------------
Npoints: 7269, Coarsening Factor: 3.424543
Aspect Ratios: Min : 1.198039e+01, Max : 1.800314e+01
Aspect Ratios: Sum : 1.158327e+05, Wsum: 3.984295e+05
Aspect Ratios: Surf: 1.475658e+06, Avg : 1.593517e+01
Graph mincut : 1.440100e+05
------------------------------ END ------------------------------
Total Time = 8.627177
prompt% more OUTPUT4.1
M6.metis, Dim=3 [ 1 4] CType=4 RType=6 Nvtxs=6223 Nedges=89366
-------------------------- LOCAL --------------------------
Npoints: 1891, Coarsening Factor: 3.401904
Aspect Ratios: Min : 1.277087e+01, Max : 1.800314e+01
Aspect Ratios: Sum : 3.009639e+04, Wsum: 1.028172e+05
Aspect Ratios: Surf: 6.049566e+05, Avg : 1.591559e+01
Graph lmincut : 3.751350e+04
Cell size: min=1, max=4
CellSizeDist: [ 1 7] [ 2 265] [ 3 580] [ 4 1039]
-------------------------- GLOBAL --------------------------
Npoints: 7269, Coarsening Factor: 3.424543
Aspect Ratios: Min : 1.198039e+01, Max : 1.800314e+01
Aspect Ratios: Sum : 1.158327e+05, Wsum: 3.984295e+05
Aspect Ratios: Surf: 1.475658e+06, Avg : 1.593517e+01
Graph mincut : 1.440100e+05
------------------------------ END ------------------------------
Total Time = 8.627194
prompt% more OUTPUT4.2
M6.metis, Dim=3 [ 1 4] CType=4 RType=6 Nvtxs=6223 Nedges=88490
-------------------------- LOCAL --------------------------
Npoints: 1735, Coarsening Factor: 3.393660
Aspect Ratios: Min : 1.198039e+01, Max : 1.748248e+01
Aspect Ratios: Sum : 2.759339e+04, Wsum: 9.412172e+04
Aspect Ratios: Surf: 9.847982e+03, Avg : 1.590397e+01
Graph lmincut : 3.376950e+04
Cell size: min=1, max=4
CellSizeDist: [ 1 8] [ 2 249] [ 3 530] [ 4 948]
-------------------------- GLOBAL --------------------------
Npoints: 7269, Coarsening Factor: 3.424543
Aspect Ratios: Min : 1.198039e+01, Max : 1.800314e+01
Aspect Ratios: Sum : 1.158327e+05, Wsum: 3.984295e+05
Aspect Ratios: Surf: 1.475658e+06, Avg : 1.593517e+01
Graph mincut : 1.440100e+05
------------------------------ END ------------------------------
Total Time = 8.627183
prompt% more OUTPUT4.3
M6.metis, Dim=3 [ 1 4] CType=4 RType=6 Nvtxs=6224 Nedges=86492
-------------------------- LOCAL --------------------------
Npoints: 1760, Coarsening Factor: 3.442045
Aspect Ratios: Min : 1.252911e+01, Max : 1.763729e+01
Aspect Ratios: Sum : 2.808869e+04, Wsum: 9.708463e+04
Aspect Ratios: Surf: 7.590192e+04, Avg : 1.595948e+01
Graph lmincut : 3.453850e+04
Cell size: min=1, max=4
CellSizeDist: [ 1 6] [ 2 225] [ 3 514] [ 4 1015]
-------------------------- GLOBAL --------------------------
Npoints: 7269, Coarsening Factor: 3.424543
Aspect Ratios: Min : 1.198039e+01, Max : 1.800314e+01
Aspect Ratios: Sum : 1.158327e+05, Wsum: 3.984295e+05
Aspect Ratios: Surf: 1.475658e+06, Avg : 1.593517e+01
Graph mincut : 1.440100e+05
------------------------------ END ------------------------------
Total Time = 8.627202
Copyright 2001, Regents of the University of Minnesota.
PARMGRIDGEN-1.0 was written by George Karypis (karypis@cs.umn.edu)
and Irene Moulitsas (moulitsa@cs.umn.edu).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
THE SERIAL LIBRARY MGRIDGEN
---------------------------
INTRODUCTION
------------
MGRIDGEN is a software package for generating coarse grids.
The documentation of MGRIDGEN can be found in the Doc/manual-parmgridgen.ps file.
MGRIDGEN is written in ANSI C and should compile on Unix systems that have
a ANSI C compiler. It has been extensively tested on the following
architectures:
AIX
SunOS
Solaris
IRIX
Unicos
Linux
FreeBSD
INSTALLATION INSTRUCTIONS
-------------------------
In order to build MGRIDGEN you need
(a) a C compiler that is ANSI compatible
(b) make
Edit the file Makefile.in that resides in the same directory as this file
according to the requirements of your system. In particular you may need
to modify the following:
1. The executable for GNU make (gmake)
2. The CC and LD variables, to be the name of the ANSI C compiler
in your system. The GNU C compiler (gcc) will do.
3. The settings for the AR and RANLIB variables that are suitable for
you system. Note that some systems do not have 'ranlib' but they use
'ar -ts' instead, or it is not needed all together.
4. You can use COPTIONS and LDOPTIONS to provide additional command line
options that are required by your compiler and linker.
After saving the modified Makefile.in, type 'make' at the prompt. This will
build MGRIDGEN's library, and a program that tests the algorithm.
Upon successful completion, make creates the following files:
MGridGen/IMlib/libIMlib.a
libmgrid.a
mgridgen
Please read the instructions in the file Graphs/README on how to go and
test the various programs.
The header file mgridgen.h can be used to provide the prototype for the
main routine in MGRIDGEN.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
THE PARALLEL LIBRARY PARMGRIDGEN
--------------------------------
INTRODUCTION
------------
PARMGRIDGEN is a parallel software package for generating coarse grids.
The documentation of PARMGRIDGEN can be found in the Doc/manual-parmgridgen.ps
file.
PARMGRIDGEN is written in ANSI C, using Message Passing Interface (MPI)
for communication between the processors, and should compile on Unix systems
that have a ANSI C compiler and an installation of MPI. It has been extensively
tested on the following architectures:
AIX
IRIX
Unicos
Linux
INSTALLATION INSTRUCTIONS
-------------------------
In order to build PARMGRIDGEN you need
(a) an MPI C compiler
(b) make
Edit the file Makefile.in that resides in the same directory as this file
according to the requirements of your system. In particular you may need
to modify the following:
1. The executable for GNU make (gmake)
2. The CC and LD variables, to be the name of the ANSI C compiler
in your system. The GNU C compiler (gcc) will do.
3. The PARCC and PARLD variables, to be the name of the compiler in
your system. The default is to use mpicc from MPICH.
4. The settings for the AR and RANLIB variables that are suitable for
you system. Note that some systems do not have 'ranlib' but they use
'ar -ts' instead, or it is not needed all together.
5. You can use COPTIONS and LDOPTIONS to provide additional command line
options that are required by your compiler and linker.
After saving the modified Makefile.in, type 'make parallel' at the prompt. This
will build PARMGRIDGEN's library, and a program that tests the algorithm.
Upon successful completion, make creates the following files:
ParMGridGen/IMParMetis-2.0/libIMparmetis.a
libparmgrid.a
parmgridgen
Please read the instructions in the file Graphs/README on how to go and
test the various programs.
The header file parmgridgen.h can be used to provide the prototype for the
main routine in PARMGRIDGEN.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
NOTE-1: The results on your machine will most likely look different
because of differences in the random number generators.
Look if the test programs reports any 'incorrect' results.
If the test goes through correctly, then you have compiled
PARMGRIDGEN successfully!
NOTE-2: FYI, the header files mgridgen.h and parmgridgen.h contain
definitions for the datatypes to be used for integer and real
arithmetic. If you wish to switch to short (for integer) or
float (for real) you need to edit the files
o MGridGen/IMlib/IMlib.h
o ParMGridGen/IMParMetis-2.0/ParMETISLib/struct.h
and comment the defintion accordigly.
CONTACT INFORMATION
-------------------
If you have any comments, suggestions, or bug reports, please send them
to moulitsa@cs.umn.edu.
Any bug fixes and upgrades of the MGRIDGEN/PARMGRIDGEN package is available
on WWW at URL: http://www.cs.umn.edu/~moulitsa/software.html
Irene Moulitsas
moulitsa@cs.umn.edu
Tue Dec 4 18:24:47 CST 2001
blas.c
dfkeysort.c
file.c
ifkeysort.c
ifloatsort.c
iintsort.c
ikeysort.c
memory.c
sort.c
util.c
LIB = $(FOAM_LIBBIN)/libIMlib
TYPE_REAL=
#if defined(SP)
TYPE_REAL=-DTYPE_REAL
#endif
EXE_INC = $(TYPE_REAL)
include ../../Makefile.in
#--------------------------------------------------------------------------
DMALLOCINC =
DMALLOCFLAGS =
DEBUGFLAGS =
ifeq ($(ddmalloc),yes)
DMALLOCINC = -I$(DMALLOCDIR)/include
DMALLOCFLAGS = -DDMALLOC
DEBUGFLAGS = -DDEBUG
OPTFLAGS = -g
endif
ifeq ($(dmalloc),yes)
DMALLOCINC = -I$(DMALLOCDIR)/include
DMALLOCFLAGS = -DDMALLOC
OPTFLAGS = -g
endif
ifeq ($(debug),yes)
DEBUGFLAGS = -DDEBUG
OPTFLAGS = -g
endif
INCLUDES = -I./ $(INCDIR) $(DMALLOCINC)
CFLAGS = $(COPTIONS) $(OPTFLAGS) $(DMALLOCFLAGS) $(DEBUGFLAGS) $(INCLUDES)
#--------------------------------------------------------------------------
OBJS = blas.o dfkeysort.o dkeysort.o file.o ifkeysort.o ifloatsort.o \
iintsort.o ikeysort.o memory.o sort.o util.o
.c.o:
$(CC) $(CFLAGS) -c $*.c
./libIMlib.a: $(OBJS)
$(AR) $@ $(OBJS)
$(RANLIB) $@
clean:
rm -f *.o
realclean:
rm -f *.o ; rm -f ./libIMlib.a
/*
* Copyright 2001, Regents of the University of Minnesota
*
* file.c
*
* This file contains some simple io functions
*
* Irene
*/
#include "IMlib.h"
/*************************************************************************
* This function opens a file
**************************************************************************/
FILE *IMfopen(char *fname, char *mode, char *msg)
{
FILE *fp;
char errmsg[256];
fp = fopen(fname, mode);
if (fp != NULL)
return fp;
sprintf(errmsg,"file: %s, mode: %s, [%s]", fname, mode, msg);
perror(msg);
exit(0);
}
/*************************************************************************
* This function closes a file
**************************************************************************/
void IMfclose(FILE *fp)
{
fclose(fp);
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment