aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormaho <maho@FreeBSD.org>2004-03-18 20:20:30 +0800
committermaho <maho@FreeBSD.org>2004-03-18 20:20:30 +0800
commited55fc44c7e3f1e33209edcc55322d0857736651 (patch)
tree8ddbc38a462c4d62fde27f2f9243f67982f1ed1c
parent22bf49df2ed13848277efc934d36731b4ea74654 (diff)
downloadfreebsd-ports-graphics-ed55fc44c7e3f1e33209edcc55322d0857736651.tar.gz
freebsd-ports-graphics-ed55fc44c7e3f1e33209edcc55322d0857736651.tar.zst
freebsd-ports-graphics-ed55fc44c7e3f1e33209edcc55322d0857736651.zip
The SDPARA (SemiDefinite Programming Algorithm PARAllel version)
is a parallel version of the SDPA (math/sdpa). solving SDPs in parallel with the help of MPI (Message Passing Interface) and ScaLAPACK (Scalable LAPACK).
-rw-r--r--math/Makefile1
-rw-r--r--math/sdpara/Makefile78
-rw-r--r--math/sdpara/distinfo4
-rw-r--r--math/sdpara/files/patch-Makefile39
-rw-r--r--math/sdpara/files/patch-rsdpa_include.h19
-rw-r--r--math/sdpara/pkg-descr9
-rw-r--r--math/sdpara/pkg-plist12
7 files changed, 162 insertions, 0 deletions
diff --git a/math/Makefile b/math/Makefile
index f78df834d3e..4132fe7ccd3 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -188,6 +188,7 @@
SUBDIR += scigraphica
SUBDIR += scilab
SUBDIR += sdpa
+ SUBDIR += sdpara
SUBDIR += slsc
SUBDIR += snns
SUBDIR += solitaire
diff --git a/math/sdpara/Makefile b/math/sdpara/Makefile
new file mode 100644
index 00000000000..ecb756f6ad6
--- /dev/null
+++ b/math/sdpara/Makefile
@@ -0,0 +1,78 @@
+# New ports collection makefile for: sdpara
+# Date created: March 17 2003
+# Whom: NAKATA, Maho <maho@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= sdpara
+PORTVERSION= 0.90
+CATEGORIES= math paralell
+MASTER_SITES= http://sdpa.is.titech.ac.jp/
+DISTFILES= ${PORTNAME}.${PORTVERSION}.src.tar.gz
+.if !defined(NOPORTDOCS)
+DISTFILES+= ${PORTNAME}.${PORTVERSION}.install.txt
+.endif
+DIST_SUBDIR= sdpara
+EXTRACT_ONLY= ${PORTNAME}.${PORTVERSION}.src.tar.gz
+
+MAINTAINER= maho@FreeBSD.org
+COMMENT= SDPARA paralell version of SDPA (math/sdpa)
+
+LIB_DEPENDS= atlas:${PORTSDIR}/math/atlas
+BUILD_DEPENDS= ${LOCALBASE}/lib/libscalapack.a:${PORTSDIR}/math/scalapack
+
+RESTRICTED= "unsure distribution condition"
+
+USE_REINPLACE= yes
+USE_GMAKE= yes
+USE_REINPLACE= yes
+WRKSRC= ${WRKDIR}/${PORTNAME}
+LAPACK= -lalapack
+CBLAS= -lcblas -lf77blas -latlas -lg2c
+
+.if defined(WITH_OPTIMIZED_FLAGS)
+FFLAGS+= -O3 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations -malign-double
+CXXFLAGS+= -O3 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations -malign-double -Wno-multichar
+.if (${MACHINE_ARCH} == "i386")
+FFLAGS+= -mfancy-math-387 -mpreferred-stack-boundary=3
+CXXFLAGS+= -mfancy-math-387 -mpreferred-stack-boundary=3
+.endif # i386
+.endif
+
+pre-build:
+ ${CP} ${FILESDIR}/Makefile ${WRKDIR}
+ @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g ; \
+ s|%%LAPACK%%|${LAPACK}|g ; \
+ s|%%LOCALBASE%%|${LOCALBASE}|g ; \
+ s|%%CBLAS%%|${CBLAS}|g' ${WRKDIR}/Makefile
+ @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g ; \
+ s|%%LOCALBASE%%|${LOCALBASE}|g ; \
+ s|%%CXXFLAGS%%|${CXXFLAGS}|g ; \
+ s|%%FFLAGS%%|${FFLAGS}|g ; \
+ s|%%LAPACK%%|${LAPACK}|g ; \
+ s|%%CBLAS%%|${CBLAS}|g' ${WRKSRC}/Makefile
+.if !defined(WITH_OPTIMIZED_FLAGS)
+ @${ECHO} "You can optimize by setting WITH_OPTIMIZED_FLAGS=yes."
+.endif
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/sdpara ${PREFIX}/bin
+ @${MKDIR} ${DATADIR}
+ ${INSTALL_DATA} ${WRKSRC}/param.sdpa ${DATADIR}
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${DOCSDIR}
+.for i in sdpara.0.90.install.txt
+ ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/${i} ${DOCSDIR}
+.endfor
+ @${MKDIR} ${EXAMPLESDIR}
+
+.for i in example1.dat example1.dat-s example1.ini \
+ example1.ini-s example2.dat
+ ${INSTALL_DATA} ${WRKSRC}/${i} ${EXAMPLESDIR}
+.endfor
+ ${INSTALL_DATA} ${WRKSRC}/param.sdpa ${EXAMPLESDIR}
+
+.endif
+
+.include <bsd.port.mk>
diff --git a/math/sdpara/distinfo b/math/sdpara/distinfo
new file mode 100644
index 00000000000..623ceddd20f
--- /dev/null
+++ b/math/sdpara/distinfo
@@ -0,0 +1,4 @@
+MD5 (sdpara/sdpara.0.90.src.tar.gz) = cdcdf52e2226dd5e477141da10272461
+SIZE (sdpara/sdpara.0.90.src.tar.gz) = 71394
+MD5 (sdpara/sdpara.0.90.install.txt) = cdafeaeb3c897c8a52a5ee9959f2a0d8
+SIZE (sdpara/sdpara.0.90.install.txt) = 3794
diff --git a/math/sdpara/files/patch-Makefile b/math/sdpara/files/patch-Makefile
new file mode 100644
index 00000000000..feee9d9f0d3
--- /dev/null
+++ b/math/sdpara/files/patch-Makefile
@@ -0,0 +1,39 @@
+--- Makefile.orig Fri Jun 6 17:43:02 2003
++++ Makefile Thu Mar 18 20:25:55 2004
+@@ -1,8 +1,7 @@
+-LAPACK = $(HOME)/lib/b/lapack
++LAPACK = %%LOCALBASE%%
+ RSDPA = .
+
+-LAPACK_LIB = -llapack -lcblaswr -lcblas \
+- -lf77blas -lI77 -lF77 -latlas
++LAPACK_LIB = -lalapack -lcblas -lf77blas -latlas -lg2c
+
+ # if you use BLAS in clapack.tgz, use next line
+ # and set NON_ATLAS_SDPA in rsdpa_include.h to 1.
+@@ -17,10 +16,11 @@
+ RSDPA_LIB = -l$(RSDPA_LIB_NAME)
+
+ # CC = /home/yamashi9/lib/b/mpich/bin/mpiCC
+-MPIBIN=
++MPIBIN= %%LOCALBASE%%/mpich/bin/
+ CC = $(MPIBIN)mpiCC
+ F77 = $(MPIBIN)mpif77
+-OPTION = -O3 #-Wall # -g
++FFLAGS = %%FFLAGS%%
++CXXFLAGS = %%CXXFLAGS%%
+
+ TARGET_EXE = $(RSDPA_LIB_NAME)
+ #TARGET_EXE = rsdpa_main.exe
+@@ -41,9 +41,9 @@
+ -L$(LAPACK)/lib $(SCALAPACK_LIB) $(LAPACK_LIB)
+
+ .cpp.o:
+- $(CC) $(OPTION) -c -I$(RSDPA) -I$(LAPACK)/include $<
++ $(CC) $(CXXFLAGS) -c -I$(RSDPA) -I$(LAPACK)/include $<
+ .f.o:
+- $(F77) $(OPTION) -c $<
++ $(F77) $(FFLAGS) -c $<
+
+ force: clean now
+ forceall: clean all
diff --git a/math/sdpara/files/patch-rsdpa_include.h b/math/sdpara/files/patch-rsdpa_include.h
new file mode 100644
index 00000000000..fd8d39bd5a0
--- /dev/null
+++ b/math/sdpara/files/patch-rsdpa_include.h
@@ -0,0 +1,19 @@
+--- rsdpa_include.h.orig Sat Nov 2 11:10:59 2002
++++ rsdpa_include.h Sun Aug 3 09:07:52 2003
+@@ -21,13 +21,13 @@
+ #include <cstring>
+
+ extern "C" {
+-#include <f2c.h>
++#include <g2c.h>
+ #if NON_ATLAS_SDPA
+ #include <blaswrap.h>
+ #endif
+-#include <fblaswr.h>
+ #include <cblas.h>
+-#include <clapack.h>
++#include <blas.h>
++#include <lapack.h>
+ };
+
+ using namespace std;
diff --git a/math/sdpara/pkg-descr b/math/sdpara/pkg-descr
new file mode 100644
index 00000000000..e03e775a304
--- /dev/null
+++ b/math/sdpara/pkg-descr
@@ -0,0 +1,9 @@
+The SDPARA (SemiDefinite Programming Algorithm PARAllel version) is a parallel
+version of the SDPA. C++ source codes of the SDPARA are available in
+this homepage. They form a stand-alone software package for solving SDPs in
+parallel with the help of MPI (Message Passing Interface) and ScaLAPACK
+(Scalable LAPACK). However callable libraries of the SDPARA, which could be
+used combinedly with other C++ programs, are not available.
+We assume that you know how to use the latest version of the SDPA and MPICH.
+
+WWW: http://sdpa.is.titech.ac.jp/sdpara.index.html.
diff --git a/math/sdpara/pkg-plist b/math/sdpara/pkg-plist
new file mode 100644
index 00000000000..fd330f91115
--- /dev/null
+++ b/math/sdpara/pkg-plist
@@ -0,0 +1,12 @@
+bin/sdpara
+share/examples/sdpara/example1.dat
+share/examples/sdpara/example1.dat-s
+share/examples/sdpara/example1.ini
+share/examples/sdpara/example1.ini-s
+share/examples/sdpara/example2.dat
+share/examples/sdpara/param.sdpa
+share/sdpara/param.sdpa
+@dirrm share/sdpara
+@dirrm share/examples/sdpara
+%%PORTDOCS%%%%DOCSDIR%%/sdpara.0.90.install.txt
+%%PORTDOCS%%@dirrm %%DOCSDIR%%