1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-19 19:59:43 +00:00

Before a calculation can be performed on a parallel computer, it must first be

decomposed into tasks which are assigned to different processors. Efficient use
of the machine requires that each processor have about the same amount of work
to do and that the quantity of interprocessor communication is kept small.
Finding an optimal decomposition is provably hard, but due to its practical
importance, a great deal of effort has been devoted to developing heuristics
for this problem.
The decomposition problem can be addressed in terms of graph partitioning. Rob
Leland and I have developed a variety of algorithms for graph partitioning and
implemented them into a package we call Chaco. The code is being used at most
of the major parallel computing centers around the world to simplify the
development of parallel applications, and to ensure that high performance is
obtained. Chaco has contributed to a wide variety of computational studies
including investigation of the molecular structure of liquid crystals,
evaluating the design of a chemical vapor deposition reactor and modeling
automobile collisions.

WWW:	 http://www.cs.sandia.gov/~bahendr/chaco.html

Note: this port includes a patch provided by Walter Landry for use within MBDyn

PR:		ports/96699
Submitted by:	Pedro Giffuni <giffunip (at) asme.org>
This commit is contained in:
Thierry Thomas 2006-05-03 21:10:26 +00:00
parent 3ab35f50c3
commit 79effcf930
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=161300
9 changed files with 153 additions and 0 deletions

View File

@ -31,6 +31,7 @@
SUBDIR += calctool
SUBDIR += ccmath
SUBDIR += cgal
SUBDIR += chaco
SUBDIR += chryzodus
SUBDIR += clarence
SUBDIR += cln

38
math/chaco/Makefile Normal file
View File

@ -0,0 +1,38 @@
# New ports collection makefile for: Chaco
# Date created: 26 April 2006
# Whom: Pedro Giffuni <giffunip@asme.org>
#
# $FreeBSD$
#
PORTNAME= chaco
PORTVERSION= 2.2
CATEGORIES= math
MASTER_SITES= http://www.cs.sandia.gov/downloads/papers/bahendr/ \
http://bsd1.csme.ru/myports/ \
http://bsd2.csme.ru/myports/ \
http://bsd3.csme.ru/myports/
DISTNAME= Chaco-${PORTVERSION}
MAINTAINER= giffunip@asme.org
COMMENT= Software for Partitioning Graphs
WRKSRC= ${WRKDIR}/${DISTNAME}/code
ALL_TARGET=
do-configure:
@${REINPLACE_CMD} -e 's+@CFLAGS@+${CFLAGS}+g' ${WRKSRC}/Makefile
do-install:
${INSTALL_PROGRAM} ${WRKDIR}/${DISTNAME}/exec/chaco ${PREFIX}/bin
${INSTALL_DATA} ${WRKDIR}/${DISTNAME}/exec/libchaco.a ${PREFIX}/lib
.ifndef NOPORTDOCS
@${MKDIR} ${DOCSDIR}
${INSTALL_DATA} ${WRKDIR}/${DISTNAME}/doc/*.ps ${DOCSDIR}
${GZIP_CMD} ${DOCSDIR}/*.ps
@${MKDIR} ${EXAMPLESDIR}
${INSTALL_DATA} ${WRKDIR}/${DISTNAME}/exec/*.graph ${EXAMPLESDIR}
${INSTALL_DATA} ${WRKDIR}/${DISTNAME}/exec/*.coords ${EXAMPLESDIR}
.endif
.include <bsd.port.mk>

3
math/chaco/distinfo Normal file
View File

@ -0,0 +1,3 @@
MD5 (Chaco-2.2.tar.gz) = fa38544d73ab780fc1912cb417577fc9
SHA256 (Chaco-2.2.tar.gz) = e7c1ab187b2dbd4b682da3dbb99097143b773f6b68b39be989442c176e9bcee1
SIZE (Chaco-2.2.tar.gz) = 854988

View File

@ -0,0 +1,41 @@
--- Makefile.orig Thu Oct 2 12:23:22 1997
+++ Makefile Mon May 1 22:19:06 2006
@@ -1,11 +1,13 @@
DEST_DIR = ../exec
DEST= ${DEST_DIR}/chaco
-CC = gcc
+CC ?= cc
IFLAG = -Imain
-CFLAGS = -O2
-OFLAGS = -O2
+CFLAGS = @CFLAGS@
+OFLAGS += -O2
-FILES.c= main/user_params.c main/interface.c main/main.c \
+main_file= main/main.c
+
+libFILES.c= main/user_params.c main/interface.c \
submain/balance.c submain/divide.c submain/submain.c \
input/input_assign.c \
input/check_input.c input/input.c input/input_geom.c \
@@ -87,11 +89,20 @@
util/update.c util/vecout.c util/vecran.c \
util/vecscale.c
+FILES.c= $(libFILES.c) $(main_file)
+
FILES.o= $(FILES.c:.c=.o)
+libFILES.o= $(libFILES.c:.c=.o)
+
+all: ${DEST} ${DEST_DIR}/libchaco.a
${DEST}: ${FILES.o} Makefile
${CC} ${OFLAGS} ${FILES.o} -lm -o ${DEST}
+
+${DEST_DIR}/libchaco.a: ${libFILES.o} Makefile
+ ar r ${DEST_DIR}/libchaco.a ${libFILES.o}
+ ranlib ${DEST_DIR}/libchaco.a
lint:
lint ${IFLAG} ${FILES.c} -lm

View File

@ -0,0 +1,11 @@
--- main/user_params.c.orig Sun Apr 27 14:04:34 1997
+++ main/user_params.c Mon May 1 22:17:29 2006
@@ -98,7 +98,7 @@
long RANDOM_SEED = 7654321L; /* Seed for random number generator */
int NSQRTS = 1000; /* # square roots to precompute if coarsening */
int MAKE_VWGTS = FALSE; /* Make vtx weights degrees+1? (TRUE/FALSE) */
-int FREE_GRAPH = TRUE; /* Free input graph data? (TRUE/FALSE) */
+int FREE_GRAPH = FALSE; /* Free input graph data? (TRUE/FALSE) */
char *PARAMS_FILENAME = "User_Params"; /* File of parameter changes */

View File

@ -0,0 +1,10 @@
--- util/seconds.c.orig Mon May 1 16:41:39 2006
+++ util/seconds.c Mon May 1 16:42:30 2006
@@ -2,6 +2,7 @@
* at Sandia National Laboratories under US Department of Energy *
* contract DE-AC04-76DP00789 and is copyrighted by Sandia Corporation. */
+#include <sys/types.h>
#include <sys/time.h>
#include <sys/resource.h>

View File

@ -0,0 +1,11 @@
--- util/smalloc.c.orig Thu Apr 13 21:02:05 2006
+++ util/smalloc.c Thu Apr 13 21:02:47 2006
@@ -3,7 +3,7 @@
* contract DE-AC04-76DP00789 and is copyrighted by Sandia Corporation. */
#include <stdio.h>
-#include <malloc.h>
+#include <stdlib.h>
static int nmalloc = 0; /* number of calls to malloc */
static int nfree = 0; /* number of calls to free */

22
math/chaco/pkg-descr Normal file
View File

@ -0,0 +1,22 @@
Before a calculation can be performed on a parallel computer, it must first be
decomposed into tasks which are assigned to different processors. Efficient use
of the machine requires that each processor have about the same amount of work
to do and that the quantity of interprocessor communication is kept small.
Finding an optimal decomposition is provably hard, but due to its practical
importance, a great deal of effort has been devoted to developing heuristics
for this problem.
The decomposition problem can be addressed in terms of graph partitioning. Rob
Leland and I have developed a variety of algorithms for graph partitioning and
implemented them into a package we call Chaco. The code is being used at most
of the major parallel computing centers around the world to simplify the
development of parallel applications, and to ensure that high performance is
obtained. Chaco has contributed to a wide variety of computational studies
including investigation of the molecular structure of liquid crystals,
evaluating the design of a chemical vapor deposition reactor and modeling
automobile collisions.
WWW: http://www.cs.sandia.gov/~bahendr/chaco.html
___
Bruce Hendrickson
Note: this port includes a patch provided by Walter Landry for use within MBDyn

16
math/chaco/pkg-plist Normal file
View File

@ -0,0 +1,16 @@
bin/chaco
lib/libchaco.a
%%PORTDOCS%%%%DOCSDIR%%/Empirical.ps.gz
%%PORTDOCS%%%%DOCSDIR%%/Multilevel.ps.gz
%%PORTDOCS%%%%DOCSDIR%%/Spectral_Overview.ps.gz
%%PORTDOCS%%%%DOCSDIR%%/Spectral_Theory.ps.gz
%%PORTDOCS%%%%DOCSDIR%%/Term_Prop.ps.gz
%%PORTDOCS%%%%DOCSDIR%%/Users_Guide.ps.gz
%%PORTDOCS%%@dirrm %%DOCSDIR%%
%%PORTDOCS%%%%EXAMPLESDIR%%/film.coords
%%PORTDOCS%%%%EXAMPLESDIR%%/film.graph
%%PORTDOCS%%%%EXAMPLESDIR%%/grid20x20.coords
%%PORTDOCS%%%%EXAMPLESDIR%%/grid20x20.graph
%%PORTDOCS%%%%EXAMPLESDIR%%/hammond.coords
%%PORTDOCS%%%%EXAMPLESDIR%%/hammond.graph
%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%