forked from Lainports/freebsd-ports
Add blocksolve95 3.0, sofware for the efficient solution of large,
sparse linear systems.
This commit is contained in:
parent
cf67891e3f
commit
29e92be353
12 changed files with 330 additions and 0 deletions
|
|
@ -21,6 +21,7 @@
|
|||
SUBDIR += blacs
|
||||
SUBDIR += blas
|
||||
SUBDIR += blitz++
|
||||
SUBDIR += blocksolve95
|
||||
SUBDIR += calc
|
||||
SUBDIR += calcoo
|
||||
SUBDIR += calctool
|
||||
|
|
|
|||
60
math/blocksolve95/Makefile
Normal file
60
math/blocksolve95/Makefile
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
# New ports collection makefile for: blocksolve95
|
||||
# Date created: 03 October 2004
|
||||
# Whom: Thierry Thomas <thierry@pompo.net>
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
PORTNAME= blocksolve95
|
||||
PORTVERSION= 3.0
|
||||
CATEGORIES= math parallel
|
||||
MASTER_SITES= ftp://info.mcs.anl.gov/pub/BlockSolve95/ \
|
||||
ftp://ftp.irisa.fr/pub/mirrors/BlockSolve95/
|
||||
DISTNAME= BlockSolve95
|
||||
EXTRACT_SUFX= .tar.Z
|
||||
DIST_SUBDIR= ${PORTNAME}-${PORTVERSION}
|
||||
|
||||
MAINTAINER= ports@FreeBSD.org
|
||||
COMMENT= Sofware for the efficient solution of large, sparse linear systems
|
||||
|
||||
LIB_DEPENDS= f77blas.1:${PORTSDIR}/math/atlas
|
||||
BUILD_DEPENDS= ${MPIDIR}/lib/libmpich.a:${PORTSDIR}/net/mpich
|
||||
RUN_DEPENDS= ${MPIDIR}/bin/mpirun:${PORTSDIR}/net/mpich
|
||||
|
||||
USE_XLIB= yes
|
||||
USE_GMAKE= yes
|
||||
MAKEFILE= makefile
|
||||
MAKE_ARGS= GMAKE=${GMAKE} PETSC_ARCH=${PETSC_ARCH} BOPT=${BOPT}
|
||||
|
||||
MPIDIR= ${LOCALBASE}/mpich
|
||||
PETSC_ARCH= freebsd
|
||||
BOPT?= O
|
||||
|
||||
FFLAGS?= -O2
|
||||
|
||||
INCLUDES= BMmsg.h BSdepend.h BSlog.h BSmy_blas.h BSprivate.h BSsparse.h
|
||||
PORTDOCS= manual.ps
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
do-install:
|
||||
${INSTALL_DATA} ${WRKSRC}/lib/lib${BOPT}/${PETSC_ARCH}/libBS95.a \
|
||||
${PREFIX}/lib
|
||||
${INSTALL_DATA} ${INCLUDES:S|^|${WRKSRC}/include/|} ${PREFIX}/include
|
||||
${INSTALL_MAN} ${MAN3:S|^|${WRKSRC}/doc/man/man3/|} ${MANPREFIX}/man/man3
|
||||
.if !defined(NOPORTDOCS)
|
||||
${MKDIR} ${DOCSDIR}
|
||||
${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/doc/manual/|} ${DOCSDIR}
|
||||
${MKDIR} ${EXAMPLESDIR}
|
||||
${INSTALL_DATA} ${WRKSRC}/examples/* ${EXAMPLESDIR}
|
||||
@${RM} ${EXAMPLESDIR}/makefile.orig
|
||||
.endif
|
||||
|
||||
.if defined(MAINTAINER_MODE)
|
||||
test: build
|
||||
@(cd ${BUILD_WRKSRC}/examples; \
|
||||
${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} bsrunexamples clean)
|
||||
.endif
|
||||
|
||||
.include "${FILESDIR}/BSman3.inc"
|
||||
.include <bsd.port.post.mk>
|
||||
2
math/blocksolve95/distinfo
Normal file
2
math/blocksolve95/distinfo
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
MD5 (blocksolve95-3.0/BlockSolve95.tar.Z) = 8b7cc41f0fe6e9a7b53ab0f4697b7cae
|
||||
SIZE (blocksolve95-3.0/BlockSolve95.tar.Z) = 655906
|
||||
85
math/blocksolve95/files/BSman3.inc
Normal file
85
math/blocksolve95/files/BSman3.inc
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
MAN3= BSb_back_solve.3 \
|
||||
BSb_backward.3 \
|
||||
BSb_for_solve.3 \
|
||||
BSb_forward.3 \
|
||||
BSback_solve.3 \
|
||||
BSback_solve1.3 \
|
||||
BSbackward.3 \
|
||||
BSbackward1.3 \
|
||||
BSbjacobi.3 \
|
||||
BScopy_nz.3 \
|
||||
BScopy_par_mat.3 \
|
||||
BScreate_ctx.3 \
|
||||
BSctx_print.3 \
|
||||
BSctx_set_cs.3 \
|
||||
BSctx_set_ct.3 \
|
||||
BSctx_set_err.3 \
|
||||
BSctx_set_guess.3 \
|
||||
BSctx_set_id.3 \
|
||||
BSctx_set_is.3 \
|
||||
BSctx_set_max_it.3 \
|
||||
BSctx_set_method.3 \
|
||||
BSctx_set_np.3 \
|
||||
BSctx_set_num_rhs.3 \
|
||||
BSctx_set_pr.3 \
|
||||
BSctx_set_pre.3 \
|
||||
BSctx_set_print_log.3 \
|
||||
BSctx_set_ps.3 \
|
||||
BSctx_set_restart.3 \
|
||||
BSctx_set_rt.3 \
|
||||
BSctx_set_scaling.3 \
|
||||
BSctx_set_si.3 \
|
||||
BSctx_set_tol.3 \
|
||||
BSeasy_A.3 \
|
||||
BSfactor.3 \
|
||||
BSfinalize.3 \
|
||||
BSfor_solve.3 \
|
||||
BSfor_solve1.3 \
|
||||
BSforward.3 \
|
||||
BSforward1.3 \
|
||||
BSfree_comm.3 \
|
||||
BSfree_copy_par_mat.3 \
|
||||
BSfree_ctx.3 \
|
||||
BSfree_easymat.3 \
|
||||
BSfree_off_map.3 \
|
||||
BSfree_par_mat.3 \
|
||||
BSfree_reperm.3 \
|
||||
BSfree_spmat.3 \
|
||||
BSfreeg2l.3 \
|
||||
BSfreel2g.3 \
|
||||
BSget_diag.3 \
|
||||
BSglob2loc.3 \
|
||||
BSglob2proc.3 \
|
||||
BSglobal_flops.3 \
|
||||
BSglobal_nnz.3 \
|
||||
BSglobal_num_cliques.3 \
|
||||
BSglobal_num_inodes.3 \
|
||||
BSinit.3 \
|
||||
BSinv_diag_block.3 \
|
||||
BSloc2glob.3 \
|
||||
BSlocal_flops.3 \
|
||||
BSlocal_nnz.3 \
|
||||
BSlocal_num_cliques.3 \
|
||||
BSlocal_num_inodes.3 \
|
||||
BSmain_perm.3 \
|
||||
BSmain_reperm.3 \
|
||||
BSmake_off_map.3 \
|
||||
BSmat_subtract.3 \
|
||||
BSnum_colors.3 \
|
||||
BSoffset.3 \
|
||||
BSpar_gmres.3 \
|
||||
BSpar_isolve.3 \
|
||||
BSpar_solve.3 \
|
||||
BSpar_sym_solve.3 \
|
||||
BSprint_log.3 \
|
||||
BSsave_diag.3 \
|
||||
BSscale_diag.3 \
|
||||
BSset_diag.3 \
|
||||
BSset_diagv.3 \
|
||||
BSset_mat_icc_storage.3 \
|
||||
BSset_mat_symmetric.3 \
|
||||
BSsetup_block.3 \
|
||||
BSsetup_factor.3 \
|
||||
BSsetup_forward.3 \
|
||||
BStri_mult.3 \
|
||||
BStri_solve.3
|
||||
19
math/blocksolve95/files/patch-bmake::common
Normal file
19
math/blocksolve95/files/patch-bmake::common
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
--- bmake/common.orig Tue Jan 9 16:35:45 1996
|
||||
+++ bmake/common Sun Oct 3 23:03:55 2004
|
||||
@@ -161,13 +161,13 @@
|
||||
#
|
||||
# Builds library - fast version
|
||||
libfast: chkpetsc_dir $(SOURCEC) $(SOURCEF)
|
||||
- @-if [ "$(SOURCEC)" != "" ] ; then \
|
||||
+ -if [ "$(SOURCEC)" != "" ] ; then \
|
||||
$(CC) -c $(CFLAGS) $(BASEOPT) $(SOURCEC) ;\
|
||||
fi
|
||||
- @-if [ "$(SOURCEF)" != "" ] ; then \
|
||||
+ -if [ "$(SOURCEF)" != "" ] ; then \
|
||||
$(FC) -c $(FFLAGS) $(BASEOPTF) $(SOURCEF) ;\
|
||||
fi
|
||||
- @-if [ "$(OBJS)" != " " ] ; then \
|
||||
+ -if [ "$(OBJS)" != " " ] ; then \
|
||||
$(AR) cr $(LIBNAME) $(OBJS); \
|
||||
$(RM) -f $(OBJS); \
|
||||
fi
|
||||
37
math/blocksolve95/files/patch-bmake::freebsd::freebsd
Normal file
37
math/blocksolve95/files/patch-bmake::freebsd::freebsd
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
--- bmake/freebsd/freebsd.orig Tue Jan 9 16:40:08 1996
|
||||
+++ bmake/freebsd/freebsd Sun Oct 3 18:12:06 2004
|
||||
@@ -1,13 +1,13 @@
|
||||
|
||||
-CC = gcc -DPARCH_freebsd
|
||||
-FC = f77
|
||||
+CC += -DPARCH_freebsd
|
||||
+#FC = f77
|
||||
AR = ar
|
||||
RM = rm -f *.c.*
|
||||
-OMAKE = gnumake --no-print-directory
|
||||
+OMAKE = $(GMAKE)
|
||||
RANLIB = ranlib
|
||||
SHELL = /bin/sh
|
||||
-CLINKER = gcc $(BASEOPT)
|
||||
-FLINKER = f77 $(BASEOPTF)
|
||||
+CLINKER = $(CC) $(BASEOPT)
|
||||
+FLINKER = $(FC) $(BASEOPTF)
|
||||
CONF = -DHAVE_PWD_H -DHAVE_MALLOC_H -DHAVE_STRING_H \
|
||||
-DHAVE_SWAPPED_BYTES -DHAVE_X11
|
||||
SYS_LIB =
|
||||
@@ -33,13 +33,13 @@
|
||||
$(RM) $*.o
|
||||
.F.o:
|
||||
$(RM) $*.f
|
||||
- cpp $(PETSC_INCLUDE) $*.F > $*.f
|
||||
+ $(CPP) $(PETSC_INCLUDE) $*.F > $*.f
|
||||
$(FC) -c $(FFLAGS) $(BASEOPTF) $*.f
|
||||
$(RM) $*.f
|
||||
|
||||
.F.a:
|
||||
$(RM) $*.f
|
||||
- cpp $(PETSC_INCLUDE) $*.F > $*.f
|
||||
+ $(CPP) $(PETSC_INCLUDE) $*.F > $*.f
|
||||
$(FC) -c $(FFLAGS) $(BASEOPTF) $*.f
|
||||
$(RM) $*.f
|
||||
$(AR) cr $(LIBNAME) $*.o
|
||||
8
math/blocksolve95/files/patch-bmake::freebsd::freebsd.O
Normal file
8
math/blocksolve95/files/patch-bmake::freebsd::freebsd.O
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
--- bmake/freebsd/freebsd.O.orig Thu Dec 14 20:49:35 1995
|
||||
+++ bmake/freebsd/freebsd.O Sun Oct 3 23:08:37 2004
|
||||
@@ -1,3 +1,3 @@
|
||||
-BASEOPT = -O -Wall -Wshadow -fomit-frame-pointer -DINLINE_FOR \
|
||||
+BASEOPT = $(CFLAGS) -fomit-frame-pointer -DINLINE_FOR \
|
||||
-DPETSC_LOG -DPETSC_DEBUG -Dlint -DPETSC_BOPT_O
|
||||
-BASEOPTF = -O4
|
||||
+BASEOPTF = $(FFLAGS)
|
||||
35
math/blocksolve95/files/patch-bmake::freebsd::freebsd.site
Normal file
35
math/blocksolve95/files/patch-bmake::freebsd::freebsd.site
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
--- ./bmake/freebsd/freebsd.site.orig Thu Feb 15 22:53:34 1996
|
||||
+++ ./bmake/freebsd/freebsd.site Sun Oct 3 20:40:47 2004
|
||||
@@ -15,24 +15,24 @@
|
||||
# Location of BLAS and LAPACK. These libraries are available via Netlib,
|
||||
# or see $(BS_DIR)/readme for information on retrieving a subset.
|
||||
#
|
||||
-BLAS_LIB = /home/bsmith/lapack/blas_freebsd.a $(FC_LIB)
|
||||
-LAPACK_LIB = /home/bsmith/lapack/lapack_freebsd.a
|
||||
+BLAS_LIB = -lf77blas -lcblas -latlas -lg2c -lm
|
||||
+LAPACK_LIB = -L$(LOCALBASE)/lib -lalapack
|
||||
#
|
||||
# Location of X-windows software
|
||||
#
|
||||
-X11_INCLUDE =
|
||||
+X11_INCLUDE = -I$(X11BASE)/include
|
||||
X11_LIB = -lX11
|
||||
#
|
||||
# Location of MPI (Message Passing Interface) software
|
||||
#
|
||||
-MPI_LIB = /usr/local/mpi/lib/freebsd/ch_p4/libmpi.a
|
||||
-MPI_INCLUDE = -I/usr/local/mpi/include
|
||||
-MPIRUN = /usr/local/mpi/bin/mpirun
|
||||
+MPI_LIB = $(LOCALBASE)/mpich/lib/libmpich.a
|
||||
+MPI_INCLUDE = -I$(LOCALBASE)/mpich/include
|
||||
+MPIRUN = $(LOCALBASE)/mpich/bin/mpirun
|
||||
#
|
||||
# Location of BlockSolve95
|
||||
#
|
||||
-BS_INCLUDE =
|
||||
-BS_LIB =
|
||||
+BS_INCLUDE = $(PETSC_INCLUDE)
|
||||
+BS_LIB = $(BS_DIR)/lib/lib$(BOPT)/$(PETSC_ARCH)/libBS95.a
|
||||
#
|
||||
# PCONF - indicates which external packages are available at your site
|
||||
#
|
||||
11
math/blocksolve95/files/patch-examples::makefile
Normal file
11
math/blocksolve95/files/patch-examples::makefile
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
--- examples/makefile.orig Thu Oct 17 22:15:08 1996
|
||||
+++ examples/makefile Sun Oct 3 21:38:26 2004
|
||||
@@ -19,7 +19,7 @@
|
||||
$(MPI_LIB) $(FC_LIB) $(SYS_LIB) -lm
|
||||
LINCLUDE = $(SOURCEH)
|
||||
|
||||
-bsrunexamples:
|
||||
+bsrunexamples: $(EXAMPLES_1)
|
||||
-@echo ">>>>>> Running examples in example directory <<<<<<"
|
||||
-@$(MPIRUN) -np 4 grid0.$(PETSC_ARCH) 2 2 1 10 10 10
|
||||
-@$(MPIRUN) -np 4 grid1.$(PETSC_ARCH) 2 2 1 10 10 10
|
||||
14
math/blocksolve95/files/patch-include::BSdepend.h
Normal file
14
math/blocksolve95/files/patch-include::BSdepend.h
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
--- include/BSdepend.h.orig Tue Jul 8 21:10:10 1997
|
||||
+++ include/BSdepend.h Sun Oct 3 18:23:32 2004
|
||||
@@ -16,6 +16,11 @@
|
||||
#define MPI_Aint int
|
||||
|
||||
#include <stdio.h>
|
||||
+
|
||||
+#if defined(PARCH_freebsd)
|
||||
+#include <stdlib.h>
|
||||
+#endif
|
||||
+
|
||||
#if defined(PARCH_sun4) && !defined(__cplusplus) && defined(_Gnu_)
|
||||
extern int fprintf(FILE*,const char*,...);
|
||||
extern void sscanf(char *,...);
|
||||
15
math/blocksolve95/pkg-descr
Normal file
15
math/blocksolve95/pkg-descr
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
BlockSolve95 is a scalable parallel software library primarily intended for the
|
||||
solution of sparse linear systems that arise from physical models, especially
|
||||
problems involving multiple degrees of freedom at each node. For example, when
|
||||
the finite element method is used to solve practical problems in structural
|
||||
engineering, each node typically has two to five degrees of freedom;
|
||||
BlockSolve95 is designed to take advantage of problems with this type of local
|
||||
structure. BlockSolve95 is also reasonably efficient for problems that have
|
||||
only one degree of freedom associated with each node, such as the three-
|
||||
dimensional Poisson problem.
|
||||
|
||||
BlockSolve95 is general purpose; we do not require that the matrices have any
|
||||
particular structure other than being sparse and being symmetric in structure
|
||||
(but not necessarily in value).
|
||||
|
||||
WWW: http://www-unix.mcs.anl.gov/sumaa3d/BlockSolve/
|
||||
43
math/blocksolve95/pkg-plist
Normal file
43
math/blocksolve95/pkg-plist
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
include/BMmsg.h
|
||||
include/BSdepend.h
|
||||
include/BSlog.h
|
||||
include/BSmy_blas.h
|
||||
include/BSprivate.h
|
||||
include/BSsparse.h
|
||||
lib/libBS95.a
|
||||
%%EXAMPLESDIR%%/README.examples
|
||||
%%EXAMPLESDIR%%/free_grid.c
|
||||
%%EXAMPLESDIR%%/get_mat.c
|
||||
%%EXAMPLESDIR%%/get_mat3.c
|
||||
%%EXAMPLESDIR%%/get_mat3d.c
|
||||
%%EXAMPLESDIR%%/get_mat4.c
|
||||
%%EXAMPLESDIR%%/makefile
|
||||
%%EXAMPLESDIR%%/map3.c
|
||||
%%EXAMPLESDIR%%/master0.c
|
||||
%%EXAMPLESDIR%%/master1.c
|
||||
%%EXAMPLESDIR%%/master2.c
|
||||
%%EXAMPLESDIR%%/master3.c
|
||||
%%EXAMPLESDIR%%/master4.c
|
||||
%%EXAMPLESDIR%%/master5.c
|
||||
%%EXAMPLESDIR%%/master6.c
|
||||
%%EXAMPLESDIR%%/master7.c
|
||||
%%EXAMPLESDIR%%/master8.c
|
||||
%%EXAMPLESDIR%%/num_grid3d.c
|
||||
%%EXAMPLESDIR%%/pargrid.h
|
||||
%%EXAMPLESDIR%%/res.m
|
||||
%%EXAMPLESDIR%%/res2.m
|
||||
%%EXAMPLESDIR%%/run.paragon
|
||||
%%EXAMPLESDIR%%/testm
|
||||
%%EXAMPLESDIR%%/worker0.c
|
||||
%%EXAMPLESDIR%%/worker1.c
|
||||
%%EXAMPLESDIR%%/worker2.c
|
||||
%%EXAMPLESDIR%%/worker3.c
|
||||
%%EXAMPLESDIR%%/worker4.c
|
||||
%%EXAMPLESDIR%%/worker5.c
|
||||
%%EXAMPLESDIR%%/worker5.c.free
|
||||
%%EXAMPLESDIR%%/worker5.c.nofree
|
||||
%%EXAMPLESDIR%%/worker6.c
|
||||
%%EXAMPLESDIR%%/worker7.c
|
||||
%%EXAMPLESDIR%%/worker8.c
|
||||
%%EXAMPLESDIR%%/write_mat_matlab.c
|
||||
@dirrm %%EXAMPLESDIR%%
|
||||
Loading…
Add table
Reference in a new issue