Add new port superlu_mt

PR:		52033
Submitted by:	Pedro F. Giffuni <giffunip@yahoo.com>
This commit is contained in:
Maho Nakata 2003-07-12 03:11:47 +00:00
parent 2d3aaf068c
commit bd3ab8c828
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=84726
11 changed files with 185 additions and 0 deletions

View file

@ -167,6 +167,7 @@
SUBDIR += spooles-mpich
SUBDIR += ss
SUBDIR += superlu
SUBDIR += superlu_mt
SUBDIR += surf
SUBDIR += thx_1138
SUBDIR += topaz

48
math/superlu_mt/Makefile Normal file
View file

@ -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>

2
math/superlu_mt/distinfo Normal file
View file

@ -0,0 +1,2 @@
MD5 (superlu/superlu_mt_1.0.tar.gz) = c7b9dad115eed03dc7200d1a5d227293
MD5 (superlu/simax97.ps.gz) = 728451cbf49c2961249da054e90b6ecd

View file

@ -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"
/* ------------------

View file

@ -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) {\

View file

@ -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)

View file

@ -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"

View file

@ -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

View file

@ -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)

23
math/superlu_mt/pkg-descr Normal file
View file

@ -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.

12
math/superlu_mt/pkg-plist Normal file
View file

@ -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