summaryrefslogtreecommitdiff
path: root/math/superlu_mt
diff options
context:
space:
mode:
authorMaho Nakata <maho@FreeBSD.org>2003-07-12 03:11:47 +0000
committerMaho Nakata <maho@FreeBSD.org>2003-07-12 03:11:47 +0000
commitbd3ab8c828cc703986e44cd9f1f9794419f77f0c (patch)
treeb3d0946b127f9cdbaf55332a319c8e2d56662d30 /math/superlu_mt
parenta) patch-cgx_1.0+src+readcxx.c is not needed anymore since we (diff)
Add new port superlu_mt
PR: 52033 Submitted by: Pedro F. Giffuni <giffunip@yahoo.com>
Notes
Notes: svn path=/head/; revision=84726
Diffstat (limited to 'math/superlu_mt')
-rw-r--r--math/superlu_mt/Makefile48
-rw-r--r--math/superlu_mt/distinfo2
-rw-r--r--math/superlu_mt/files/patch-SRC+pdmemory.c11
-rw-r--r--math/superlu_mt/files/patch-SRC+pmemory.c10
-rw-r--r--math/superlu_mt/files/patch-SRC+qrnzcnt.c8
-rw-r--r--math/superlu_mt/files/patch-SRC+sp_coletree.c14
-rw-r--r--math/superlu_mt/files/patch-SRC+util.h10
-rw-r--r--math/superlu_mt/files/patch-make.inc46
-rw-r--r--math/superlu_mt/pkg-descr23
-rw-r--r--math/superlu_mt/pkg-plist12
10 files changed, 184 insertions, 0 deletions
diff --git a/math/superlu_mt/Makefile b/math/superlu_mt/Makefile
new file mode 100644
index 000000000000..66d232a330fa
--- /dev/null
+++ b/math/superlu_mt/Makefile
@@ -0,0 +1,48 @@
+# New ports collection makefile for: SuperLU_MT
+# Date created: 31 Apr 2003
+# Whom: Pedro Giffuni <giffunip@asme.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= superlu_mt
+PORTVERSION= 1.0
+CATEGORIES= math
+MASTER_SITES= http://crd.lbl.gov/~xiaoye/SuperLU/ \
+ http://crd.lbl.gov/~xiaoye/
+DISTNAME= ${PORTNAME}_${PORTVERSION}
+.ifndef NOPORTDOCS
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} simax97.ps.gz
+.endif
+DIST_SUBDIR= superlu
+EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
+
+MAINTAINER= ports@FreeBSD.org
+COMMENT= Routines for performing multithreaded sparse factorization
+
+BUILD_DEPENDS= ${LOCALBASE}/lib/libblas.a:${PORTSDIR}/math/blas
+
+USE_REINPLACE= yes
+WRKSRC= ${WRKDIR}/SuperLU_MT
+ALL_TARGET= superlulib
+
+BLAS_LIBS= ${LOCALBASE}/lib/libblas.a
+
+post-patch:
+ @${REINPLACE_CMD} -e 's+%%BLAS_LIBS%%+${BLAS_LIBS}+ ; \
+ s+%%PTHREAD_CFLAGS%%+${PTHREAD_CFLAGS}+ ; \
+ s+%%PTHREAD_LIBS%%+${PTHREAD_LIBS}+ ' \
+ ${WRKSRC}/make.inc
+
+do-install:
+ ${INSTALL_DATA} ${WRKSRC}/libsuperlu_mt.* ${PREFIX}/lib
+ ${MKDIR} ${PREFIX}/include/${PORTNAME}
+ ${INSTALL_DATA} ${WRKSRC}/SRC/*.h ${PREFIX}/include/${PORTNAME}
+.ifndef NOPORTDOCS
+ @${MKDIR} ${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/INSTALL/*.ps ${DOCSDIR}
+ ${GZIP_CMD} ${DOCSDIR}/*.ps
+ ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/simax97.ps.gz ${DOCSDIR}
+.endif
+
+.include <bsd.port.mk>
diff --git a/math/superlu_mt/distinfo b/math/superlu_mt/distinfo
new file mode 100644
index 000000000000..0e6a241940c7
--- /dev/null
+++ b/math/superlu_mt/distinfo
@@ -0,0 +1,2 @@
+MD5 (superlu/superlu_mt_1.0.tar.gz) = c7b9dad115eed03dc7200d1a5d227293
+MD5 (superlu/simax97.ps.gz) = 728451cbf49c2961249da054e90b6ecd
diff --git a/math/superlu_mt/files/patch-SRC+pdmemory.c b/math/superlu_mt/files/patch-SRC+pdmemory.c
new file mode 100644
index 000000000000..ce766f1fe714
--- /dev/null
+++ b/math/superlu_mt/files/patch-SRC+pdmemory.c
@@ -0,0 +1,11 @@
+--- SRC/pdmemory.c.orig Thu May 8 22:40:59 2003
++++ SRC/pdmemory.c Thu May 8 22:41:20 2003
+@@ -6,7 +6,7 @@
+ *
+ */
+ #include <stdio.h>
+-#include <malloc.h>
++#include <stdlib.h>
+ #include "pdsp_defs.h"
+
+ /* ------------------
diff --git a/math/superlu_mt/files/patch-SRC+pmemory.c b/math/superlu_mt/files/patch-SRC+pmemory.c
new file mode 100644
index 000000000000..aa971492703f
--- /dev/null
+++ b/math/superlu_mt/files/patch-SRC+pmemory.c
@@ -0,0 +1,10 @@
+--- SRC/pmemory.c.orig Thu May 8 22:45:07 2003
++++ SRC/pmemory.c Thu May 8 22:45:27 2003
+@@ -7,7 +7,6 @@
+ */
+ #include <stdlib.h>
+ #include <stdio.h>
+-#include <malloc.h>
+ #include "pdsp_defs.h"
+
+ #define XPAND_HINT(memtype, new_next, jcol, param) {\
diff --git a/math/superlu_mt/files/patch-SRC+qrnzcnt.c b/math/superlu_mt/files/patch-SRC+qrnzcnt.c
new file mode 100644
index 000000000000..70aba701188d
--- /dev/null
+++ b/math/superlu_mt/files/patch-SRC+qrnzcnt.c
@@ -0,0 +1,8 @@
+--- SRC/qrnzcnt.c.orig Thu May 8 22:47:27 2003
++++ SRC/qrnzcnt.c Thu May 8 22:47:47 2003
+@@ -1,4 +1,4 @@
+-#include <malloc.h>
++#include <stdlib.h>
+ #include "pdsp_defs.h"
+
+ #define EMPTY (-1)
diff --git a/math/superlu_mt/files/patch-SRC+sp_coletree.c b/math/superlu_mt/files/patch-SRC+sp_coletree.c
new file mode 100644
index 000000000000..f0a53b9b793e
--- /dev/null
+++ b/math/superlu_mt/files/patch-SRC+sp_coletree.c
@@ -0,0 +1,14 @@
+*** SRC/sp_coletree.c.orig Fri Aug 6 05:31:22 1999
+--- SRC/sp_coletree.c Thu Dec 16 03:29:12 1999
+***************
+*** 2,8 ****
+--- 2,10 ----
+ /* Elimination tree computation and layout routines */
+
+ #include <stdio.h>
++ #ifndef __STDC__
+ #include <malloc.h>
++ #endif
+ #include <stdlib.h>
+ #include "util.h"
+
diff --git a/math/superlu_mt/files/patch-SRC+util.h b/math/superlu_mt/files/patch-SRC+util.h
new file mode 100644
index 000000000000..24bf513817cb
--- /dev/null
+++ b/math/superlu_mt/files/patch-SRC+util.h
@@ -0,0 +1,10 @@
+--- SRC/util.h.orig Wed Sep 1 19:13:00 1999
++++ SRC/util.h Thu May 8 22:31:53 2003
+@@ -12,7 +12,6 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+-#include <malloc.h>
+
+ /* Macros */
+ #ifndef USER_ABORT
diff --git a/math/superlu_mt/files/patch-make.inc b/math/superlu_mt/files/patch-make.inc
new file mode 100644
index 000000000000..31ec2aa36745
--- /dev/null
+++ b/math/superlu_mt/files/patch-make.inc
@@ -0,0 +1,46 @@
+--- make.inc.orig Thu Sep 2 15:47:13 1999
++++ make.inc Tue May 27 19:32:12 2003
+@@ -14,14 +14,15 @@
+ #
+ # The machine (platform) identifier to append to the library names
+ #
+-PLAT = _SOLARIS
++PLAT = _PTHREAD
+
+ # Common Libraries
+-TMGLIB = tmglib$(PLAT).a
+-SUPERLULIB = superlu_mt$(PLAT).a
+-BLASLIB = ../blas$(PLAT).a
++TMGLIB = libtmg.a
++SUPERLULIB = libsuperlu_mt.a
++BLASDEF = -DUSE_VENDOR_BLAS
++BLASLIB = %%BLAS_LIBS%%
+ MATHLIB = -lm
+-MPLIB = -lthread
++MPLIB = %%PTHREAD_LIBS%%
+
+ #
+ # The archiver and the flag(s) to use when building archive (library)
+@@ -32,18 +33,18 @@
+ RANLIB = ranlib
+
+ # for Solaris 2.x
+-CC = cc
++CC ?= cc
+ #
+ # Definitions used by CPP:
+ PREDEFS = -D$(PLAT)
+ #
+-CFLAGS = $(PREDEFS) -xO3 -xcg92 $(DBG)
++CFLAGS += $(PREDEFS) %%PTHREAD_CFLAGS%%
+ NOOPTS =
+ BLASOPTS =
+ LOADER = cc
+ LOADOPTS = -O
+-FORTRAN = f77
+-FFLAGS = -O
++FORTRAN ?= f77
++FFLAGS ?= -O
+
+ #
+ # C preprocessor defs for compilation (-DNoChange, -DAdd_, or -DUpCase)
diff --git a/math/superlu_mt/pkg-descr b/math/superlu_mt/pkg-descr
new file mode 100644
index 000000000000..151b94d55d00
--- /dev/null
+++ b/math/superlu_mt/pkg-descr
@@ -0,0 +1,23 @@
+ SuperLU_MT (version 1.0)
+ ========================
+
+SuperLU_MT contains a set of subroutines to solve a sparse linear system
+A*X=B. It uses Gaussian elimination with partial pivoting (GEPP).
+The columns of A may be preordered before factorization; the
+preordering for sparsity is completely separate from the factorization.
+
+SuperLU_MT is a parallel extension to the serial SuperLU library.
+SuperLU_MT is implemented in ANSI C, with multithreading extension,
+for example, using POSIX threads. Currently, only the LU factorization
+routine, which is the most time-consuming part of the solution process,
+is parallelized on machines with a shared address space. The other
+routines, such as column preordering and the forward and back substitutions
+are performed sequentially. This "alpha" release contains only
+double-precision real data type.
+
+WWW: http://www.nersc.gov/~xiaoye/SuperLU/
+____
+Xiaoye S. Li, Lawrence Berkeley National Lab, xiaoye@nersc.gov
+James Demmel, Univ. of California Berkeley, demmel@cs.berkeley.edu
+John R. Gilbert, Xerox Palo Alto Research Center, gilbert@parc.xerox.com
+NOTE: This library has to be linked with BLAS or a thread safe replacement.
diff --git a/math/superlu_mt/pkg-plist b/math/superlu_mt/pkg-plist
new file mode 100644
index 000000000000..c0c3220730ae
--- /dev/null
+++ b/math/superlu_mt/pkg-plist
@@ -0,0 +1,12 @@
+include/superlu_mt/Cnames.h
+include/superlu_mt/colamd.h
+include/superlu_mt/machines.h
+include/superlu_mt/pdsp_defs.h
+include/superlu_mt/pxgstrf_synch.h
+include/superlu_mt/supermatrix.h
+include/superlu_mt/util.h
+lib/libsuperlu_mt.a
+@dirrm include/superlu_mt
+%%PORTDOCS%%share/doc/superlu_mt/simax97.ps.gz
+%%PORTDOCS%%share/doc/superlu_mt/ug.ps.gz
+%%PORTDOCS%%@dirrm share/doc/superlu_mt