mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 09:49:18 -04:00
Add new port atlas-devel, developer version of math/atlas
This commit is contained in:
parent
4cb3de9d61
commit
00d8ae51a7
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=90176
12 changed files with 6276 additions and 0 deletions
|
@ -11,6 +11,7 @@
|
||||||
SUBDIR += arpack
|
SUBDIR += arpack
|
||||||
SUBDIR += asir2000
|
SUBDIR += asir2000
|
||||||
SUBDIR += atlas
|
SUBDIR += atlas
|
||||||
|
SUBDIR += atlas-devel
|
||||||
SUBDIR += biggles
|
SUBDIR += biggles
|
||||||
SUBDIR += blacs
|
SUBDIR += blacs
|
||||||
SUBDIR += blas
|
SUBDIR += blas
|
||||||
|
|
111
math/atlas-devel/Makefile
Normal file
111
math/atlas-devel/Makefile
Normal file
|
@ -0,0 +1,111 @@
|
||||||
|
# New ports collection makefile for: atlas-devel
|
||||||
|
# Date created: 14 September 2003
|
||||||
|
# Whom: Nakata Maho <maho@FreeBSD.org>
|
||||||
|
#
|
||||||
|
# $FreeBSD$
|
||||||
|
#
|
||||||
|
|
||||||
|
# NOTE: This port purposely ignores the CC and CFLAGS settings.
|
||||||
|
# Program and compiler flags are finetuned to gcc 2.95/3.1.
|
||||||
|
|
||||||
|
PORTNAME= atlas
|
||||||
|
PORTVERSION= 3.5.11
|
||||||
|
CATEGORIES= math
|
||||||
|
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
|
||||||
|
MASTER_SITE_SUBDIR= math-atlas
|
||||||
|
DISTNAME= ${PORTNAME}${PORTVERSION}
|
||||||
|
|
||||||
|
MAINTAINER= maho@FreeBSD.org
|
||||||
|
COMMENT= Development version of math/atlas
|
||||||
|
|
||||||
|
LIB_DEPENDS= lapack:${PORTSDIR}/math/lapack
|
||||||
|
|
||||||
|
USE_BZIP2= yes
|
||||||
|
WRKSRC= ${WRKDIR}/ATLAS
|
||||||
|
INSTALLS_SHLIB= yes
|
||||||
|
USE_REINPLACE= yes
|
||||||
|
PKGNAMESUFFIX= -devel
|
||||||
|
|
||||||
|
post-patch:
|
||||||
|
@${REINPLACE_CMD} -e 's+%%PTHREAD_CFLAGS%%+ ${PTHREAD_CFLAGS}+' \
|
||||||
|
${WRKSRC}/config.c
|
||||||
|
@${REINPLACE_CMD} -e 's+%%PTHREAD_LIBS%%+ ${PTHREAD_LIBS}+' \
|
||||||
|
${WRKSRC}/config.c
|
||||||
|
.if (${MACHINE_ARCH} == "alpha")
|
||||||
|
@(cd ${WRKSRC}; ${PATCH} < ${FILESDIR}/alpha-patch)
|
||||||
|
.endif
|
||||||
|
|
||||||
|
do-configure:
|
||||||
|
@(cd ${WRKSRC}; ${PATCH} < ${FILESDIR}/non-thread-patch)
|
||||||
|
@(cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} config < ${FILESDIR}/answer)
|
||||||
|
@(cd ${WRKSRC}; ${PATCH} < ${FILESDIR}/thread-patch)
|
||||||
|
@(cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} config < ${FILESDIR}/answer)
|
||||||
|
|
||||||
|
NON_THREADED_ATLAS=`cat ${WRKSRC}/ARCHNAME-NON-THREADED`
|
||||||
|
THREADED_ATLAS=`cat ${WRKSRC}/ARCHNAME-THREADED`
|
||||||
|
ATLAS_LIBS1=libatlas libcblas libf77blas libtstatlas libalapack
|
||||||
|
ATLAS_LIBS2=libptcblas libptf77blas
|
||||||
|
|
||||||
|
post-configure:
|
||||||
|
.if defined(USE_GCC)
|
||||||
|
@${REINPLACE_CMD} -e 's|/usr/bin/gcc|${CC}|g;' ${WRKSRC}/Make.${NON_THREADED_ATLAS}
|
||||||
|
@${REINPLACE_CMD} -e 's|/usr/bin/gcc|${CC}|g;' ${WRKSRC}/Make.${THREADED_ATLAS}
|
||||||
|
.endif
|
||||||
|
|
||||||
|
do-build:
|
||||||
|
# non thread version
|
||||||
|
(cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} install arch=${NON_THREADED_ATLAS})
|
||||||
|
# (cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} sanity_test arch=${NON_THREADED_ATLAS})
|
||||||
|
(cd ${WRKSRC}; ${MKDIR} tmp ; \
|
||||||
|
${CP} ${LOCALBASE}/lib/liblapack.a tmp ;\
|
||||||
|
cd tmp ;\
|
||||||
|
ar x liblapack.a ;\
|
||||||
|
ar x ../lib/${NON_THREADED_ATLAS}/liblapack.a ;\
|
||||||
|
ar r ../lib/${NON_THREADED_ATLAS}/libalapack.a *.o ;\
|
||||||
|
ranlib ../lib/${NON_THREADED_ATLAS}/libalapack.a )
|
||||||
|
.for i in ${ATLAS_LIBS1}
|
||||||
|
( cd ${WRKSRC}/lib/${NON_THREADED_ATLAS}/ ; \
|
||||||
|
ld -Bshareable -o ${i}.so.1 -x -soname ${i}.so.1 --whole-archive ${i}.a )
|
||||||
|
.endfor
|
||||||
|
|
||||||
|
# thread version
|
||||||
|
(cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} install arch=${THREADED_ATLAS})
|
||||||
|
# (cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} sanity_test arch=${THREADED_ATLAS})
|
||||||
|
(cd ${WRKSRC}; ${MKDIR} tmp2 ; \
|
||||||
|
${CP} ${LOCALBASE}/lib/liblapack.a tmp2 ;\
|
||||||
|
cd tmp2 ;\
|
||||||
|
ar x liblapack.a ;\
|
||||||
|
ar x ../lib/${THREADED_ATLAS}/liblapack.a ;\
|
||||||
|
ar r ../lib/${THREADED_ATLAS}/libalapack.a *.o ;\
|
||||||
|
ranlib ../lib/${THREADED_ATLAS}/libalapack.a )
|
||||||
|
.for i in ${ATLAS_LIBS1} ${ATLAS_LIBS2}
|
||||||
|
( cd ${WRKSRC}/lib/${THREADED_ATLAS}/ ; \
|
||||||
|
ld -Bshareable -o ${i}.so.1 -x -soname ${i}.so.1 --whole-archive ${i}.a )
|
||||||
|
.endfor
|
||||||
|
|
||||||
|
do-install:
|
||||||
|
.for i in ${ATLAS_LIBS1}
|
||||||
|
@${INSTALL_DATA} ${WRKSRC}/lib/${NON_THREADED_ATLAS}/${i}.a ${PREFIX}/lib
|
||||||
|
@${INSTALL_DATA} ${WRKSRC}/lib/${NON_THREADED_ATLAS}/${i}.so.1 ${PREFIX}/lib
|
||||||
|
@${LN} -sf ${i}.so.1 ${PREFIX}/lib/${i}.so
|
||||||
|
.endfor
|
||||||
|
.for i in ${ATLAS_LIBS1}
|
||||||
|
@${INSTALL_DATA} ${WRKSRC}/lib/${THREADED_ATLAS}/${i}.a ${PREFIX}/lib/${i}_r.a
|
||||||
|
@${INSTALL_DATA} ${WRKSRC}/lib/${THREADED_ATLAS}/${i}.so.1 ${PREFIX}/lib/${i}_r.so.1
|
||||||
|
@${LN} -sf ${i}_r.so.1 ${PREFIX}/lib/${i}_r.so
|
||||||
|
.endfor
|
||||||
|
.for i in ${ATLAS_LIBS2}
|
||||||
|
@${INSTALL_DATA} ${WRKSRC}/lib/${THREADED_ATLAS}/${i}.a ${PREFIX}/lib
|
||||||
|
@${INSTALL_DATA} ${WRKSRC}/lib/${THREADED_ATLAS}/${i}.so.1 ${PREFIX}/lib
|
||||||
|
@${LN} -sf ${i}.so.1 ${PREFIX}/lib/${i}.so
|
||||||
|
.endfor
|
||||||
|
@${INSTALL_DATA} ${WRKSRC}/include/cblas.h ${PREFIX}/include
|
||||||
|
@${INSTALL_DATA} ${WRKSRC}/include/clapack.h ${PREFIX}/include
|
||||||
|
@${INSTALL_DATA} ${FILESDIR}/blas.h ${PREFIX}/include
|
||||||
|
@${INSTALL_DATA} ${FILESDIR}/lapack.h ${PREFIX}/include
|
||||||
|
.if !defined(NOPORTDOCS)
|
||||||
|
@${MKDIR} ${DOCSDIR}
|
||||||
|
${INSTALL_DATA} ${WRKSRC}/doc/* ${DOCSDIR}
|
||||||
|
.endif
|
||||||
|
|
||||||
|
.include <bsd.port.mk>
|
1
math/atlas-devel/distinfo
Normal file
1
math/atlas-devel/distinfo
Normal file
|
@ -0,0 +1 @@
|
||||||
|
MD5 (atlas3.5.11.tar.bz2) = 8d8e5ac75c1d17acca8586d5fe78d26e
|
9
math/atlas-devel/files/alpha-patch
Normal file
9
math/atlas-devel/files/alpha-patch
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
--- src/blas/gemm/GOTO/ATLU_usergemm.c~ Mon Jun 17 10:38:22 2002
|
||||||
|
+++ src/blas/gemm/GOTO/ATLU_usergemm.c Sun Aug 18 10:41:19 2002
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
#include "atlas_misc.h"
|
||||||
|
-#include <sys/mman.h>
|
||||||
|
+/*#include <sys/mman.h>*/
|
||||||
|
|
||||||
|
#ifdef EV6
|
||||||
|
#ifdef ATL_OS_OSF1
|
10
math/atlas-devel/files/answer
Normal file
10
math/atlas-devel/files/answer
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
857
math/atlas-devel/files/blas.h
Normal file
857
math/atlas-devel/files/blas.h
Normal file
|
@ -0,0 +1,857 @@
|
||||||
|
// blas prototypes file for C++
|
||||||
|
// based on BLAS/WRAP/fblaswr.h
|
||||||
|
// in clapack.tgz, version 3.0(September 20, 2000)
|
||||||
|
// available at http://www.netlib.org/clapack/
|
||||||
|
// and modified by Nakata Maho <chat95@mbox.kyoto-inet.or.jp>
|
||||||
|
// for C++, which requires proper prototype definitions.
|
||||||
|
|
||||||
|
extern "C"
|
||||||
|
{
|
||||||
|
#include <g2c.h>
|
||||||
|
|
||||||
|
real
|
||||||
|
sdot_(integer* N,
|
||||||
|
real* X, integer* incX,
|
||||||
|
real* Y, integer* incY);
|
||||||
|
|
||||||
|
doublereal
|
||||||
|
ddot_(integer* N,
|
||||||
|
doublereal* X, integer* incX,
|
||||||
|
doublereal* Y, integer* incY);
|
||||||
|
|
||||||
|
void
|
||||||
|
cdotu_(complex* retval,
|
||||||
|
integer* N,
|
||||||
|
complex* X, integer* incX,
|
||||||
|
complex* Y, integer* incY);
|
||||||
|
|
||||||
|
void
|
||||||
|
cdotc_(complex* retval,
|
||||||
|
integer* N,
|
||||||
|
complex* X, integer* incX,
|
||||||
|
complex* Y, integer* incY);
|
||||||
|
|
||||||
|
void
|
||||||
|
zdotu_(doublecomplex* retval,
|
||||||
|
integer* N,
|
||||||
|
doublecomplex* X, integer* incX,
|
||||||
|
doublecomplex* Y, integer* incY);
|
||||||
|
|
||||||
|
void
|
||||||
|
zdotc_(doublecomplex* retval,
|
||||||
|
integer* N,
|
||||||
|
doublecomplex* X, integer* incX,
|
||||||
|
doublecomplex* Y, integer* incY);
|
||||||
|
|
||||||
|
real
|
||||||
|
snrm2_(integer* N,
|
||||||
|
real* X, integer* incX);
|
||||||
|
|
||||||
|
real
|
||||||
|
sasum_(integer* N,
|
||||||
|
real* X, integer* incX);
|
||||||
|
|
||||||
|
doublereal
|
||||||
|
dnrm2_(integer* N,
|
||||||
|
doublereal* X, integer* incX);
|
||||||
|
|
||||||
|
doublereal
|
||||||
|
dasum_(integer* N,
|
||||||
|
doublereal* X, integer* incX);
|
||||||
|
|
||||||
|
real
|
||||||
|
scnrm2_(integer* N,
|
||||||
|
complex* X, integer* incX);
|
||||||
|
|
||||||
|
real
|
||||||
|
scasum_(integer* N,
|
||||||
|
complex* X, integer* incX);
|
||||||
|
|
||||||
|
doublereal
|
||||||
|
dznrm2_(integer* N,
|
||||||
|
doublecomplex* X, integer* incX);
|
||||||
|
|
||||||
|
doublereal
|
||||||
|
dzasum_(integer* N,
|
||||||
|
doublecomplex* X, integer* incX);
|
||||||
|
|
||||||
|
integer
|
||||||
|
isamax_(integer* N,
|
||||||
|
real* X, integer* incX);
|
||||||
|
|
||||||
|
integer
|
||||||
|
idamax_(integer* N,
|
||||||
|
doublereal* X, integer* incX);
|
||||||
|
|
||||||
|
integer
|
||||||
|
icamax_(integer* N,
|
||||||
|
complex* X, integer* incX);
|
||||||
|
|
||||||
|
integer
|
||||||
|
izamax_(integer* N,
|
||||||
|
doublecomplex* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
sswap_(integer* N,
|
||||||
|
real* X, integer* incX,
|
||||||
|
real* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
scopy_(integer* N,
|
||||||
|
real* X, integer* incX,
|
||||||
|
real* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
saxpy_(integer* N,
|
||||||
|
real* alpha,
|
||||||
|
real* X, integer* incX,
|
||||||
|
real* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
dswap_(integer* N,
|
||||||
|
doublereal* X, integer* incX,
|
||||||
|
doublereal* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
dcopy_(integer* N,
|
||||||
|
doublereal* X, integer* incX,
|
||||||
|
doublereal* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
daxpy_(integer* N,
|
||||||
|
doublereal* alpha,
|
||||||
|
doublereal* X, integer* incX,
|
||||||
|
doublereal* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
cswap_(integer* N,
|
||||||
|
complex* X, integer* incX,
|
||||||
|
complex* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
ccopy_(integer* N,
|
||||||
|
complex* X, integer* incX,
|
||||||
|
complex* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
caxpy_(integer* N,
|
||||||
|
complex* alpha,
|
||||||
|
complex* X, integer* incX,
|
||||||
|
complex* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
zswap_(integer* N,
|
||||||
|
doublecomplex* X, integer* incX,
|
||||||
|
doublecomplex* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
zcopy_(integer* N,
|
||||||
|
doublecomplex* X, integer* incX,
|
||||||
|
doublecomplex* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
zaxpy_(integer* N,
|
||||||
|
doublecomplex* alpha,
|
||||||
|
doublecomplex* X, integer* incX,
|
||||||
|
doublecomplex* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
srotg_(real* a, real* b, real* c, real* s);
|
||||||
|
|
||||||
|
int
|
||||||
|
srot_(integer* N,
|
||||||
|
real* X, integer* incX,
|
||||||
|
real* Y, integer* incY,
|
||||||
|
real* c, real* s);
|
||||||
|
|
||||||
|
int
|
||||||
|
drotg_(doublereal* a, doublereal* b, doublereal* c, doublereal* s);
|
||||||
|
|
||||||
|
int
|
||||||
|
drot_(integer* N,
|
||||||
|
doublereal* X, integer* incX,
|
||||||
|
doublereal* Y, integer* incY,
|
||||||
|
doublereal* c, doublereal* s);
|
||||||
|
|
||||||
|
int
|
||||||
|
sscal_(integer* N,
|
||||||
|
real* alpha,
|
||||||
|
real* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
dscal_(integer* N,
|
||||||
|
doublereal* alpha,
|
||||||
|
doublereal* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
cscal_(integer* N,
|
||||||
|
complex* alpha,
|
||||||
|
complex* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
zscal_(integer* N,
|
||||||
|
doublecomplex* alpha,
|
||||||
|
doublecomplex* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
csscal_(integer* N,
|
||||||
|
real* alpha,
|
||||||
|
complex* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
zdscal_(integer* N,
|
||||||
|
doublereal* alpha,
|
||||||
|
doublecomplex* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
sgemv_(char* trans, integer* M, integer* N,
|
||||||
|
real* alpha,
|
||||||
|
real* A, integer* lda,
|
||||||
|
real* X, integer* incX,
|
||||||
|
real* beta,
|
||||||
|
real* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
sgbmv_(char *trans, integer *M, integer *N, integer *KL, integer *KU,
|
||||||
|
real *alpha,
|
||||||
|
real *A, integer *lda,
|
||||||
|
real *X, integer *incX,
|
||||||
|
real *beta,
|
||||||
|
real *Y, integer *incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
strmv_(char* uplo, char *trans, char* diag, integer *N,
|
||||||
|
real *A, integer *lda,
|
||||||
|
real *X, integer *incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
stbmv_(char* uplo, char* trans, char* diag, integer* N, integer* K,
|
||||||
|
real* A, integer* lda,
|
||||||
|
real* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
stpmv_(char* uplo, char* trans, char* diag, integer* N,
|
||||||
|
real* Ap,
|
||||||
|
real* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
strsv_(char* uplo, char* trans, char* diag, integer* N,
|
||||||
|
real* A, integer* lda,
|
||||||
|
real* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
stbsv_(char* uplo, char* trans, char* diag, integer* N, integer* K,
|
||||||
|
real* A, integer* lda,
|
||||||
|
real* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
stpsv_(char* uplo, char* trans, char* diag, integer* N,
|
||||||
|
real* Ap,
|
||||||
|
real* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
dgemv_(char* trans, integer* M, integer* N,
|
||||||
|
doublereal* alpha,
|
||||||
|
doublereal* A, integer* lda,
|
||||||
|
doublereal* X, integer* incX,
|
||||||
|
doublereal* beta,
|
||||||
|
doublereal* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
dgbmv_(char *trans, integer *M, integer *N, integer *KL, integer *KU,
|
||||||
|
doublereal *alpha,
|
||||||
|
doublereal *A, integer *lda,
|
||||||
|
doublereal *X, integer *incX,
|
||||||
|
doublereal *beta,
|
||||||
|
doublereal *Y, integer *incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
dtrmv_(char* uplo, char *trans, char* diag, integer *N,
|
||||||
|
doublereal *A, integer *lda,
|
||||||
|
doublereal *X, integer *incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
dtbmv_(char* uplo, char* trans, char* diag, integer* N, integer* K,
|
||||||
|
doublereal* A, integer* lda,
|
||||||
|
doublereal* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
dtpmv_(char* uplo, char* trans, char* diag, integer* N,
|
||||||
|
doublereal* Ap,
|
||||||
|
doublereal* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
dtrsv_(char* uplo, char* trans, char* diag, integer* N,
|
||||||
|
doublereal* A, integer* lda,
|
||||||
|
doublereal* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
dtbsv_(char* uplo, char* trans, char* diag, integer* N, integer* K,
|
||||||
|
doublereal* A, integer* lda,
|
||||||
|
doublereal* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
dtpsv_(char* uplo, char* trans, char* diag, integer* N,
|
||||||
|
doublereal* Ap,
|
||||||
|
doublereal* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
cgemv_(char* trans, integer* M, integer* N,
|
||||||
|
complex* alpha,
|
||||||
|
complex* A, integer* lda,
|
||||||
|
complex* X, integer* incX,
|
||||||
|
complex* beta,
|
||||||
|
complex* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
cgbmv_(char *trans, integer *M, integer *N, integer *KL, integer *KU,
|
||||||
|
complex *alpha,
|
||||||
|
complex *A, integer *lda,
|
||||||
|
complex *X, integer *incX,
|
||||||
|
complex *beta,
|
||||||
|
complex *Y, integer *incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
ctrmv_(char* uplo, char *trans, char* diag, integer *N,
|
||||||
|
complex *A, integer *lda,
|
||||||
|
complex *X, integer *incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
ctbmv_(char* uplo, char* trans, char* diag, integer* N, integer* K,
|
||||||
|
complex* A, integer* lda,
|
||||||
|
complex* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
ctpmv_(char* uplo, char* trans, char* diag, integer* N,
|
||||||
|
complex* Ap,
|
||||||
|
complex* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
ctrsv_(char* uplo, char* trans, char* diag, integer* N,
|
||||||
|
complex* A, integer* lda,
|
||||||
|
complex* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
ctbsv_(char* uplo, char* trans, char* diag, integer* N, integer* K,
|
||||||
|
complex* A, integer* lda,
|
||||||
|
complex* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
ctpsv_(char* uplo, char* trans, char* diag, integer* N,
|
||||||
|
complex* Ap,
|
||||||
|
complex* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
zgemv_(char* trans, integer* M, integer* N,
|
||||||
|
doublecomplex* alpha,
|
||||||
|
doublecomplex* A, integer* lda,
|
||||||
|
doublecomplex* X, integer* incX,
|
||||||
|
doublecomplex* beta,
|
||||||
|
doublecomplex* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
zgbmv_(char *trans, integer *M, integer *N, integer *KL, integer *KU,
|
||||||
|
doublecomplex *alpha,
|
||||||
|
doublecomplex *A, integer *lda,
|
||||||
|
doublecomplex *X, integer *incX,
|
||||||
|
doublecomplex *beta,
|
||||||
|
doublecomplex *Y, integer *incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
ztrmv_(char* uplo, char *trans, char* diag, integer *N,
|
||||||
|
doublecomplex *A, integer *lda,
|
||||||
|
doublecomplex *X, integer *incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
ztbmv_(char* uplo, char* trans, char* diag, integer* N, integer* K,
|
||||||
|
doublecomplex* A, integer* lda,
|
||||||
|
doublecomplex* X, integer* incX);
|
||||||
|
|
||||||
|
void
|
||||||
|
ztpmv_(char* uplo, char* trans, char* diag, integer* N,
|
||||||
|
doublecomplex* Ap,
|
||||||
|
doublecomplex* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
ztrsv_(char* uplo, char* trans, char* diag, integer* N,
|
||||||
|
doublecomplex* A, integer* lda,
|
||||||
|
doublecomplex* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
ztbsv_(char* uplo, char* trans, char* diag, integer* N, integer* K,
|
||||||
|
doublecomplex* A, integer* lda,
|
||||||
|
doublecomplex* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
ztpsv_(char* uplo, char* trans, char* diag, integer* N,
|
||||||
|
doublecomplex* Ap,
|
||||||
|
doublecomplex* X, integer* incX);
|
||||||
|
|
||||||
|
int
|
||||||
|
ssymv_(char* uplo, integer* N,
|
||||||
|
real* alpha,
|
||||||
|
real* A, integer* lda,
|
||||||
|
real* X, integer* incX,
|
||||||
|
real* beta,
|
||||||
|
real* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
ssbmv_(char* uplo, integer* N, integer* K,
|
||||||
|
real* alpha,
|
||||||
|
real* A, integer* lda,
|
||||||
|
real* X, integer* incX,
|
||||||
|
real* beta,
|
||||||
|
real* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
sspmv_(char* uplo, integer* N,
|
||||||
|
real* alpha,
|
||||||
|
real* Ap,
|
||||||
|
real* X, integer* incX,
|
||||||
|
real* beta,
|
||||||
|
real* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
sger_(integer* M, integer* N,
|
||||||
|
real* alpha,
|
||||||
|
real* X, integer* incX,
|
||||||
|
real* Y, integer* incY,
|
||||||
|
real* A, integer* lda);
|
||||||
|
|
||||||
|
int
|
||||||
|
ssyr_(char* uplo, integer* N,
|
||||||
|
real* alpha,
|
||||||
|
real* X, integer* incX,
|
||||||
|
real* A, integer* lda);
|
||||||
|
|
||||||
|
int
|
||||||
|
sspr_(char* uplo, integer* N,
|
||||||
|
real* alpha,
|
||||||
|
real* X, integer* incX,
|
||||||
|
real* Ap);
|
||||||
|
|
||||||
|
int
|
||||||
|
ssyr2_(char* uplo, integer* N,
|
||||||
|
real* alpha,
|
||||||
|
real* X, integer* incX,
|
||||||
|
real* Y, integer* incY,
|
||||||
|
real* A, integer* lda);
|
||||||
|
|
||||||
|
int
|
||||||
|
sspr2_(char* uplo, integer* N,
|
||||||
|
real* alpha,
|
||||||
|
real* X, integer* incX,
|
||||||
|
real* Y, integer* incY,
|
||||||
|
real* A);
|
||||||
|
|
||||||
|
int
|
||||||
|
dsymv_(char* uplo, integer* N,
|
||||||
|
doublereal* alpha,
|
||||||
|
doublereal* A, integer* lda,
|
||||||
|
doublereal* X, integer* incX,
|
||||||
|
doublereal* beta,
|
||||||
|
doublereal* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
dsbmv_(char* uplo, integer* N, integer* K,
|
||||||
|
doublereal* alpha,
|
||||||
|
doublereal* A, integer* lda,
|
||||||
|
doublereal* X, integer* incX,
|
||||||
|
doublereal* beta,
|
||||||
|
doublereal* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
dspmv_(char* uplo, integer* N,
|
||||||
|
doublereal* alpha,
|
||||||
|
doublereal* Ap,
|
||||||
|
doublereal* X, integer* incX,
|
||||||
|
doublereal* beta,
|
||||||
|
doublereal* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
dger_(integer* M, integer* N,
|
||||||
|
doublereal* alpha,
|
||||||
|
doublereal* X, integer* incX,
|
||||||
|
doublereal* Y, integer* incY,
|
||||||
|
doublereal* A, integer* lda);
|
||||||
|
|
||||||
|
int
|
||||||
|
dsyr_(char* uplo, integer* N,
|
||||||
|
doublereal* alpha,
|
||||||
|
doublereal* X, integer* incX,
|
||||||
|
doublereal* A, integer* lda);
|
||||||
|
|
||||||
|
int
|
||||||
|
dspr_(char* uplo, integer* N,
|
||||||
|
doublereal* alpha,
|
||||||
|
doublereal* X, integer* incX,
|
||||||
|
doublereal* Ap);
|
||||||
|
|
||||||
|
int
|
||||||
|
dsyr2_(char* uplo, integer* N,
|
||||||
|
doublereal* alpha,
|
||||||
|
doublereal* X, integer* incX,
|
||||||
|
doublereal* Y, integer* incY,
|
||||||
|
doublereal* A, integer* lda);
|
||||||
|
|
||||||
|
int
|
||||||
|
dspr2_(char* uplo, integer* N,
|
||||||
|
doublereal* alpha,
|
||||||
|
doublereal* X, integer* incX,
|
||||||
|
doublereal* Y, integer* incY,
|
||||||
|
doublereal* A);
|
||||||
|
|
||||||
|
int
|
||||||
|
chemv_(char* uplo, integer* N,
|
||||||
|
complex* alpha,
|
||||||
|
complex* A, integer* lda,
|
||||||
|
complex* X, integer* incX,
|
||||||
|
complex* beta,
|
||||||
|
complex* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
chbmv_(char* uplo, integer* N, integer* K,
|
||||||
|
complex* alpha,
|
||||||
|
complex* A, integer* lda,
|
||||||
|
complex* X, integer* incX,
|
||||||
|
complex* beta,
|
||||||
|
complex* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
chpmv_(char* uplo, integer* N,
|
||||||
|
complex* alpha,
|
||||||
|
complex* Ap,
|
||||||
|
complex* X, integer* incX,
|
||||||
|
complex* beta,
|
||||||
|
complex* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
cgeru_(integer* M, integer* N,
|
||||||
|
complex* alpha,
|
||||||
|
complex* X, integer* incX,
|
||||||
|
complex* Y, integer* incY,
|
||||||
|
complex* A, integer* lda);
|
||||||
|
|
||||||
|
int
|
||||||
|
cgerc_(integer* M, integer* N,
|
||||||
|
complex* alpha,
|
||||||
|
complex* X, integer* incX,
|
||||||
|
complex* Y, integer* incY,
|
||||||
|
complex* A, integer* lda);
|
||||||
|
|
||||||
|
int
|
||||||
|
cher_(char* uplo, integer* N,
|
||||||
|
real* alpha,
|
||||||
|
complex* X, integer* incX,
|
||||||
|
complex* A, integer* lda);
|
||||||
|
|
||||||
|
int
|
||||||
|
chpr_(char* uplo, integer* N,
|
||||||
|
real* alpha,
|
||||||
|
complex* X, integer* incX,
|
||||||
|
complex* Ap);
|
||||||
|
|
||||||
|
int
|
||||||
|
cher2_(char* uplo, integer* N,
|
||||||
|
complex* alpha,
|
||||||
|
complex* X, integer* incX,
|
||||||
|
complex* Y, integer* incY,
|
||||||
|
complex* A, integer* lda);
|
||||||
|
|
||||||
|
int
|
||||||
|
chpr2_(char* uplo, integer* N,
|
||||||
|
complex* alpha,
|
||||||
|
complex* X, integer* incX,
|
||||||
|
complex* Y, integer* incY,
|
||||||
|
complex* Ap);
|
||||||
|
|
||||||
|
int
|
||||||
|
zhemv_(char* uplo, integer* N,
|
||||||
|
doublecomplex* alpha,
|
||||||
|
doublecomplex* A, integer* lda,
|
||||||
|
doublecomplex* X, integer* incX,
|
||||||
|
doublecomplex* beta,
|
||||||
|
doublecomplex* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
zhbmv_(char* uplo, integer* N, integer* K,
|
||||||
|
doublecomplex* alpha,
|
||||||
|
doublecomplex* A, integer* lda,
|
||||||
|
doublecomplex* X, integer* incX,
|
||||||
|
doublecomplex* beta,
|
||||||
|
doublecomplex* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
zhpmv_(char* uplo, integer* N,
|
||||||
|
doublecomplex* alpha,
|
||||||
|
doublecomplex* Ap,
|
||||||
|
doublecomplex* X, integer* incX,
|
||||||
|
doublecomplex* beta,
|
||||||
|
doublecomplex* Y, integer* incY);
|
||||||
|
|
||||||
|
int
|
||||||
|
zgeru_(integer* M, integer* N,
|
||||||
|
doublecomplex* alpha,
|
||||||
|
doublecomplex* X, integer* incX,
|
||||||
|
doublecomplex* Y, integer* incY,
|
||||||
|
doublecomplex* A, integer* lda);
|
||||||
|
|
||||||
|
int
|
||||||
|
zgerc_(integer* M, integer* N,
|
||||||
|
doublecomplex* alpha,
|
||||||
|
doublecomplex* X, integer* incX,
|
||||||
|
doublecomplex* Y, integer* incY,
|
||||||
|
doublecomplex* A, integer* lda);
|
||||||
|
|
||||||
|
int
|
||||||
|
zher_(char* uplo, integer* N,
|
||||||
|
doublereal* alpha,
|
||||||
|
doublecomplex* X, integer* incX,
|
||||||
|
doublecomplex* A, integer* lda);
|
||||||
|
|
||||||
|
int
|
||||||
|
zhpr_(char* uplo, integer* N,
|
||||||
|
doublereal* alpha,
|
||||||
|
doublecomplex* X, integer* incX,
|
||||||
|
doublecomplex* Ap);
|
||||||
|
|
||||||
|
int
|
||||||
|
zher2_(char* uplo, integer* N,
|
||||||
|
doublecomplex* alpha,
|
||||||
|
doublecomplex* X, integer* incX,
|
||||||
|
doublecomplex* Y, integer* incY,
|
||||||
|
doublecomplex* A, integer* lda);
|
||||||
|
|
||||||
|
int
|
||||||
|
zhpr2_(char* uplo, integer* N,
|
||||||
|
doublecomplex* alpha,
|
||||||
|
doublecomplex* X, integer* incX,
|
||||||
|
doublecomplex* Y, integer* incY,
|
||||||
|
doublecomplex* Ap);
|
||||||
|
|
||||||
|
int
|
||||||
|
sgemm_(char* transA, char* transB, integer* M, integer* N, integer* K,
|
||||||
|
real* alpha,
|
||||||
|
real* A, integer* lda,
|
||||||
|
real* B, integer* ldb,
|
||||||
|
real* beta,
|
||||||
|
real* C, integer* ldc);
|
||||||
|
|
||||||
|
int
|
||||||
|
ssymm_(char* side, char* uplo, integer* M, integer* N,
|
||||||
|
real* alpha,
|
||||||
|
real* A, integer* lda,
|
||||||
|
real* B, integer* ldb,
|
||||||
|
real* beta,
|
||||||
|
real* C, integer* ldc);
|
||||||
|
|
||||||
|
int
|
||||||
|
ssyrk_(char* uplo, char* trans, integer* N, integer* K,
|
||||||
|
real* alpha,
|
||||||
|
real* A, integer* lda,
|
||||||
|
real* beta,
|
||||||
|
real* C, integer* ldc);
|
||||||
|
|
||||||
|
int
|
||||||
|
ssyr2k_(char* uplo, char* trans, integer* N, integer* K,
|
||||||
|
real* alpha,
|
||||||
|
real* A, integer* lda,
|
||||||
|
real* B, integer* ldb,
|
||||||
|
real* beta,
|
||||||
|
real* C, integer* ldc);
|
||||||
|
|
||||||
|
int
|
||||||
|
strmm_(char* side, char* uplo, char* trans, char* diag,
|
||||||
|
integer* M, integer* N,
|
||||||
|
real* alpha,
|
||||||
|
real* A, integer* lda,
|
||||||
|
real* B, integer* ldb);
|
||||||
|
|
||||||
|
int
|
||||||
|
strsm_(char* side, char* uplo, char* trans, char* diag,
|
||||||
|
integer* M, integer* N,
|
||||||
|
real* alpha,
|
||||||
|
real* A, integer* lda,
|
||||||
|
real* B, integer* ldb);
|
||||||
|
|
||||||
|
int
|
||||||
|
dgemm_(char* transA, char* transB, integer* M, integer* N, integer* K,
|
||||||
|
doublereal* alpha,
|
||||||
|
doublereal* A, integer* lda,
|
||||||
|
doublereal* B, integer* ldb,
|
||||||
|
doublereal* beta,
|
||||||
|
doublereal* C, integer* ldc);
|
||||||
|
|
||||||
|
int
|
||||||
|
dsymm_(char* side, char* uplo, integer* M, integer* N,
|
||||||
|
doublereal* alpha,
|
||||||
|
doublereal* A, integer* lda,
|
||||||
|
doublereal* B, integer* ldb,
|
||||||
|
doublereal* beta,
|
||||||
|
doublereal* C, integer* ldc);
|
||||||
|
|
||||||
|
int
|
||||||
|
dsyrk_(char* uplo, char* trans, integer* N, integer* K,
|
||||||
|
doublereal* alpha,
|
||||||
|
doublereal* A, integer* lda,
|
||||||
|
doublereal* beta,
|
||||||
|
doublereal* C, integer* ldc);
|
||||||
|
|
||||||
|
int
|
||||||
|
dsyr2k_(char* uplo, char* trans, integer* N, integer* K,
|
||||||
|
doublereal* alpha,
|
||||||
|
doublereal* A, integer* lda,
|
||||||
|
doublereal* B, integer* ldb,
|
||||||
|
doublereal* beta,
|
||||||
|
doublereal* C, integer* ldc);
|
||||||
|
|
||||||
|
int
|
||||||
|
dtrmm_(char* side, char* uplo, char* trans, char* diag,
|
||||||
|
integer* M, integer* N,
|
||||||
|
doublereal* alpha,
|
||||||
|
doublereal* A, integer* lda,
|
||||||
|
doublereal* B, integer* ldb);
|
||||||
|
|
||||||
|
int
|
||||||
|
dtrsm_(char* side, char* uplo, char* trans, char* diag,
|
||||||
|
integer* M, integer* N,
|
||||||
|
doublereal* alpha,
|
||||||
|
doublereal* A, integer* lda,
|
||||||
|
doublereal* B, integer* ldb);
|
||||||
|
|
||||||
|
int
|
||||||
|
cgemm_(char* transA, char* transB, integer* M, integer* N, integer* K,
|
||||||
|
complex* alpha,
|
||||||
|
complex* A, integer* lda,
|
||||||
|
complex* B, integer* ldb,
|
||||||
|
complex* beta,
|
||||||
|
complex* C, integer* ldc);
|
||||||
|
|
||||||
|
int
|
||||||
|
csymm_(char* side, char* uplo, integer* M, integer* N,
|
||||||
|
complex* alpha,
|
||||||
|
complex* A, integer* lda,
|
||||||
|
complex* B, integer* ldb,
|
||||||
|
complex* beta,
|
||||||
|
complex* C, integer* ldc);
|
||||||
|
|
||||||
|
int
|
||||||
|
csyrk_(char* uplo, char* trans, integer* N, integer* K,
|
||||||
|
complex* alpha,
|
||||||
|
complex* A, integer* lda,
|
||||||
|
complex* beta,
|
||||||
|
complex* C, integer* ldc);
|
||||||
|
|
||||||
|
int
|
||||||
|
csyr2k_(char* uplo, char* trans, integer* N, integer* K,
|
||||||
|
complex* alpha,
|
||||||
|
complex* A, integer* lda,
|
||||||
|
complex* B, integer* ldb,
|
||||||
|
complex* beta,
|
||||||
|
complex* C, integer* ldc);
|
||||||
|
|
||||||
|
int
|
||||||
|
ctrmm_(char* side, char* uplo, char* trans, char* diag,
|
||||||
|
integer* M, integer* N,
|
||||||
|
complex* alpha,
|
||||||
|
complex* A, integer* lda,
|
||||||
|
complex* B, integer* ldb);
|
||||||
|
|
||||||
|
int
|
||||||
|
ctrsm_(char* side, char* uplo, char* trans, char* diag,
|
||||||
|
integer* M, integer* N,
|
||||||
|
complex* alpha,
|
||||||
|
complex* A, integer* lda,
|
||||||
|
complex* B, integer* ldb);
|
||||||
|
|
||||||
|
int
|
||||||
|
zgemm_(char* transA, char* transB, integer* M, integer* N, integer* K,
|
||||||
|
doublecomplex* alpha,
|
||||||
|
doublecomplex* A, integer* lda,
|
||||||
|
doublecomplex* B, integer* ldb,
|
||||||
|
doublecomplex* beta,
|
||||||
|
doublecomplex* C, integer* ldc);
|
||||||
|
|
||||||
|
int
|
||||||
|
zsymm_(char* side, char* uplo, integer* M, integer* N,
|
||||||
|
doublecomplex* alpha,
|
||||||
|
doublecomplex* A, integer* lda,
|
||||||
|
doublecomplex* B, integer* ldb,
|
||||||
|
doublecomplex* beta,
|
||||||
|
doublecomplex* C, integer* ldc);
|
||||||
|
|
||||||
|
int
|
||||||
|
zsyrk_(char* uplo, char* trans, integer* N, integer* K,
|
||||||
|
doublecomplex* alpha,
|
||||||
|
doublecomplex* A, integer* lda,
|
||||||
|
doublecomplex* beta,
|
||||||
|
doublecomplex* C, integer* ldc);
|
||||||
|
|
||||||
|
int
|
||||||
|
zsyr2k_(char* uplo, char* trans, integer* N, integer* K,
|
||||||
|
doublecomplex* alpha,
|
||||||
|
doublecomplex* A, integer* lda,
|
||||||
|
doublecomplex* B, integer* ldb,
|
||||||
|
doublecomplex* beta,
|
||||||
|
doublecomplex* C, integer* ldc);
|
||||||
|
|
||||||
|
int
|
||||||
|
ztrmm_(char* side, char* uplo, char* trans, char* diag,
|
||||||
|
integer* M, integer* N,
|
||||||
|
doublecomplex* alpha,
|
||||||
|
doublecomplex* A, integer* lda,
|
||||||
|
doublecomplex* B, integer* ldb);
|
||||||
|
|
||||||
|
int
|
||||||
|
ztrsm_(char* side, char* uplo, char* trans, char* diag,
|
||||||
|
integer* M, integer* N,
|
||||||
|
doublecomplex* alpha,
|
||||||
|
doublecomplex* A, integer* lda,
|
||||||
|
doublecomplex* B, integer* ldb);
|
||||||
|
|
||||||
|
int
|
||||||
|
chemm_(char* side, char* uplo, integer* M, integer* N,
|
||||||
|
complex* alpha,
|
||||||
|
complex* A, integer* lda,
|
||||||
|
complex* B, integer* ldb,
|
||||||
|
complex* beta,
|
||||||
|
complex* C, integer* ldc);
|
||||||
|
|
||||||
|
int
|
||||||
|
cherk_(char* uplo, char* trans, integer* N, integer* K,
|
||||||
|
real* alpha,
|
||||||
|
complex* A, integer* lda,
|
||||||
|
real* beta,
|
||||||
|
complex* C, integer* ldc);
|
||||||
|
|
||||||
|
int
|
||||||
|
cher2k_(char* uplo, char* trans, integer* N, integer* K,
|
||||||
|
complex* alpha,
|
||||||
|
complex* A, integer* lda,
|
||||||
|
complex* B, integer* ldb,
|
||||||
|
real* beta,
|
||||||
|
complex* C, integer* ldc);
|
||||||
|
|
||||||
|
int
|
||||||
|
zhemm_(char* side, char* uplo, integer* M, integer* N,
|
||||||
|
doublecomplex* alpha,
|
||||||
|
doublecomplex* A, integer* lda,
|
||||||
|
doublecomplex* B, integer* ldb,
|
||||||
|
doublecomplex* beta,
|
||||||
|
doublecomplex* C, integer* ldc);
|
||||||
|
|
||||||
|
int
|
||||||
|
zherk_(char* uplo, char* trans, integer* N, integer* K,
|
||||||
|
doublereal* alpha,
|
||||||
|
doublecomplex* A, integer* lda,
|
||||||
|
doublereal* beta,
|
||||||
|
doublecomplex* C, integer* ldc);
|
||||||
|
|
||||||
|
int
|
||||||
|
zher2k_(char* uplo, char* trans, integer* N, integer* K,
|
||||||
|
doublecomplex* alpha,
|
||||||
|
doublecomplex* A, integer* lda,
|
||||||
|
doublecomplex* B, integer* ldb,
|
||||||
|
doublereal* beta,
|
||||||
|
doublecomplex* C, integer* ldc);
|
||||||
|
}
|
5085
math/atlas-devel/files/lapack.h
Normal file
5085
math/atlas-devel/files/lapack.h
Normal file
File diff suppressed because it is too large
Load diff
18
math/atlas-devel/files/non-thread-patch
Normal file
18
math/atlas-devel/files/non-thread-patch
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
--- config.c.orig Tue Jul 1 12:32:49 2003
|
||||||
|
+++ config.c Tue Jul 1 12:35:09 2003
|
||||||
|
@@ -2737,6 +2737,7 @@
|
||||||
|
Use3DNow = IsYes('n', " ", "Use 3DNow! for computation?");
|
||||||
|
}
|
||||||
|
ncpu = ProbeNCPU(OS, mach, targ, TOPdir);
|
||||||
|
+ ncpu = 1; // force non-threading
|
||||||
|
if (ncpu != 1) /* user may want to thread */
|
||||||
|
{
|
||||||
|
DisplayFile("CONFIG/pthread.txt", stdout, NLINES);
|
||||||
|
@@ -3154,6 +3155,7 @@
|
||||||
|
}
|
||||||
|
if (USEWINF77) strcpy(F77, "$(BINdir)/winf77.exe");
|
||||||
|
|
||||||
|
+ fpout = fopen("ARCHNAME-NON-THREADED", "w");
|
||||||
|
fprintf(fpout, "%s", ARCH);
|
||||||
|
fclose(fpout);
|
||||||
|
ATL_mprintf(2, fplog, stdout,"\nCreating make include file Make.%s\n", ARCH);
|
77
math/atlas-devel/files/patch-config.c
Normal file
77
math/atlas-devel/files/patch-config.c
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
--- config.c.orig Mon Jun 23 07:58:35 2003
|
||||||
|
+++ config.c Tue Jul 1 12:32:49 2003
|
||||||
|
@@ -708,7 +708,7 @@
|
||||||
|
else if (mach == IA64Itan || MachIsUS(mach) ||
|
||||||
|
mach == Dec21164 || mach == Dec21264)
|
||||||
|
{
|
||||||
|
- if (major == 3)
|
||||||
|
+ if ((major == 2 && minor < 96) || (major == 3)) /* Nasty hack for FreeBSD/Alpha STABLE */
|
||||||
|
{
|
||||||
|
strcpy(goodgcc, files[i]);
|
||||||
|
return(0);
|
||||||
|
@@ -1114,7 +1114,9 @@
|
||||||
|
switch(OS)
|
||||||
|
{
|
||||||
|
case OSOSX: /* don't know answer */
|
||||||
|
- case OSFreeBSD: /* don't know answer */
|
||||||
|
+ case OSFreeBSD:
|
||||||
|
+ if (THREADS) strcpy(LIBS, "%%PTHREAD_LIBS%% -lm");
|
||||||
|
+ break;
|
||||||
|
case OSLinux:
|
||||||
|
break;
|
||||||
|
case OSSunOS:
|
||||||
|
@@ -1252,6 +1254,11 @@
|
||||||
|
"-mcpu=ultrasparc -mtune=ultrasparc -fomit-frame-pointer -O3");
|
||||||
|
}
|
||||||
|
if (OS == OSFreeBSD && F77) strcpy(F77, "f77");
|
||||||
|
+ if (OS == OSFreeBSD && THREADS) {
|
||||||
|
+ strcat(F77FLAGS, "%%PTHREAD_CFLAGS%%");
|
||||||
|
+ strcat(CCFLAGS, "%%PTHREAD_CFLAGS%%");
|
||||||
|
+ strcat(MMFLAGS, "%%PTHREAD_CFLAGS%%");
|
||||||
|
+ }
|
||||||
|
break;
|
||||||
|
case OSSunOS:
|
||||||
|
np = 3;
|
||||||
|
@@ -2116,7 +2123,10 @@
|
||||||
|
if (!CmndOneLine(targ, "sysctl hw.model", ln))
|
||||||
|
{
|
||||||
|
if (strstr(ln, "433au")) mach = Dec21164;
|
||||||
|
+ else if (strstr(ln, "500au")) mach = Dec21164;
|
||||||
|
+ else if (strstr(ln, "AlphaPC 164")) mach = Dec21164;
|
||||||
|
else if (strstr(ln, "XP1000")) mach = Dec21264;
|
||||||
|
+ else mach = Dec21264;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case LAIA64: /* don't know */
|
||||||
|
@@ -2125,14 +2135,22 @@
|
||||||
|
if (!CmndOneLine(targ, "sysctl hw.model", ln))
|
||||||
|
{
|
||||||
|
if (strstr(ln, "Pentium Pro")) mach = IntPPRO;
|
||||||
|
+ else if (strstr(ln, "Pentium(R) Pro")) mach = IntPPRO;
|
||||||
|
+ else if (strstr(ln, "Pentium 4")) mach = IntP4;
|
||||||
|
+ else if (strstr(ln, "Pentium(R) 4")) mach = IntP4;
|
||||||
|
else if (strstr(ln, "Pentium III")) mach = IntPIII;
|
||||||
|
+ else if (strstr(ln, "Pentium(R) III")) mach = IntPIII;
|
||||||
|
else if (strstr(ln, "Pentium II ")) mach = IntPII;
|
||||||
|
+ else if (strstr(ln, "Pentium(R) II ")) mach = IntPII;
|
||||||
|
+ else if (strstr(ln, "Celeron")) mach = IntPII;
|
||||||
|
+ else if (strstr(ln, "Celeron(R)")) mach = IntPII;
|
||||||
|
else if (strstr(ln, "Athlon")) mach = AmdAthlon;
|
||||||
|
else if (strstr(ln, "AMD-K7")) mach = AmdAthlon;
|
||||||
|
else if (strstr(ln, "32 bit Hammer")) mach = AmdHammer32;
|
||||||
|
else if (strstr(ln, "64 bit Hammer")) mach = AmdHammer64;
|
||||||
|
else if (strstr(ln, "Pentium/P55C")) mach = IntP5MMX; /* sent by */
|
||||||
|
else if (strstr(ln, "Pentium")) mach=IntP5; /* Nakata Maho */
|
||||||
|
+ else mach = IntP5;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:;
|
||||||
|
@@ -3136,6 +3154,8 @@
|
||||||
|
}
|
||||||
|
if (USEWINF77) strcpy(F77, "$(BINdir)/winf77.exe");
|
||||||
|
|
||||||
|
+ fprintf(fpout, "%s", ARCH);
|
||||||
|
+ fclose(fpout);
|
||||||
|
ATL_mprintf(2, fplog, stdout,"\nCreating make include file Make.%s\n", ARCH);
|
||||||
|
sprintf(ln, "Make.%s", ARCH);
|
||||||
|
fpout = fopen(ln, "w");
|
28
math/atlas-devel/files/thread-patch
Normal file
28
math/atlas-devel/files/thread-patch
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
--- config.c.orig Tue Jul 1 12:35:09 2003
|
||||||
|
+++ config.c Tue Jul 1 12:35:44 2003
|
||||||
|
@@ -79,7 +79,7 @@
|
||||||
|
char *usermmnam[2] = {"", "GOTO"};
|
||||||
|
enum USERGEMM {UG_None=0, UG_GOTO};
|
||||||
|
|
||||||
|
-int XCOMP=0, THREADS=0, USEWINF77=0, NLINES=0, ISWIN=0;
|
||||||
|
+int XCOMP=0, THREADS=1, USEWINF77=0, NLINES=0, ISWIN=0; // force threading
|
||||||
|
char TARGNAM[512];
|
||||||
|
enum MACHTYPE mach=MACHOther;
|
||||||
|
|
||||||
|
@@ -2737,7 +2737,6 @@
|
||||||
|
Use3DNow = IsYes('n', " ", "Use 3DNow! for computation?");
|
||||||
|
}
|
||||||
|
ncpu = ProbeNCPU(OS, mach, targ, TOPdir);
|
||||||
|
- ncpu = 1; // force non-threading
|
||||||
|
if (ncpu != 1) /* user may want to thread */
|
||||||
|
{
|
||||||
|
DisplayFile("CONFIG/pthread.txt", stdout, NLINES);
|
||||||
|
@@ -3155,7 +3154,7 @@
|
||||||
|
}
|
||||||
|
if (USEWINF77) strcpy(F77, "$(BINdir)/winf77.exe");
|
||||||
|
|
||||||
|
- fpout = fopen("ARCHNAME-NON-THREADED", "w");
|
||||||
|
+ fpout = fopen("ARCHNAME-THREADED", "w");
|
||||||
|
fprintf(fpout, "%s", ARCH);
|
||||||
|
fclose(fpout);
|
||||||
|
ATL_mprintf(2, fplog, stdout,"\nCreating make include file Make.%s\n", ARCH);
|
23
math/atlas-devel/pkg-descr
Normal file
23
math/atlas-devel/pkg-descr
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
The ATLAS (Automatically Tuned Linear Algebra Software) project is
|
||||||
|
an ongoing research effort focusing on applying empirical techniques
|
||||||
|
in order to provide portable performance.
|
||||||
|
|
||||||
|
At present, it provides C and Fortran77 interfaces to a
|
||||||
|
portably efficient BLAS implementation, as well as a few routines from LAPACK.
|
||||||
|
|
||||||
|
PLEASE REBUILD YOUR KERNEL WITH
|
||||||
|
options CPU_ENABLE_SSE
|
||||||
|
TO ENABLE SSE1/SSE2 SUPPORT BEFORE MAKING ATLAS!
|
||||||
|
IT SIGNIFICANTLY IMPROVES PERFORMANCE.
|
||||||
|
|
||||||
|
If you use blas, you can simply change flags when linking,
|
||||||
|
from -lblas to -lf77blas -latlas (order is important).
|
||||||
|
|
||||||
|
A few routines from LAPACK are merged into one library as libalapack.
|
||||||
|
It requres both C and Fortran77 interfaces, and thus that link line would be:
|
||||||
|
-lalapack -lf77blas -lcblas -latlas -lg2c -lm .
|
||||||
|
|
||||||
|
Other choice of CC and CFLAGS are *NOT* recommended.
|
||||||
|
They are already optimized for this platform and automatically searched.
|
||||||
|
|
||||||
|
WWW: http://math-atlas.sourceforge.net/
|
56
math/atlas-devel/pkg-plist
Normal file
56
math/atlas-devel/pkg-plist
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
include/cblas.h
|
||||||
|
include/clapack.h
|
||||||
|
include/blas.h
|
||||||
|
include/lapack.h
|
||||||
|
lib/libalapack.a
|
||||||
|
lib/libalapack.so.1
|
||||||
|
lib/libalapack.so
|
||||||
|
lib/libalapack_r.a
|
||||||
|
lib/libalapack_r.so.1
|
||||||
|
lib/libalapack_r.so
|
||||||
|
lib/libatlas.a
|
||||||
|
lib/libatlas.so.1
|
||||||
|
lib/libatlas.so
|
||||||
|
lib/libatlas_r.a
|
||||||
|
lib/libatlas_r.so.1
|
||||||
|
lib/libatlas_r.so
|
||||||
|
lib/libcblas.a
|
||||||
|
lib/libcblas.so.1
|
||||||
|
lib/libcblas.so
|
||||||
|
lib/libcblas_r.a
|
||||||
|
lib/libcblas_r.so.1
|
||||||
|
lib/libcblas_r.so
|
||||||
|
lib/libf77blas.a
|
||||||
|
lib/libf77blas.so.1
|
||||||
|
lib/libf77blas.so
|
||||||
|
lib/libf77blas_r.a
|
||||||
|
lib/libf77blas_r.so.1
|
||||||
|
lib/libf77blas_r.so
|
||||||
|
lib/libptcblas.a
|
||||||
|
lib/libptcblas.so.1
|
||||||
|
lib/libptcblas.so
|
||||||
|
lib/libptf77blas.a
|
||||||
|
lib/libptf77blas.so.1
|
||||||
|
lib/libptf77blas.so
|
||||||
|
lib/libtstatlas.a
|
||||||
|
lib/libtstatlas.so.1
|
||||||
|
lib/libtstatlas.so
|
||||||
|
lib/libtstatlas_r.a
|
||||||
|
lib/libtstatlas_r.so.1
|
||||||
|
lib/libtstatlas_r.so
|
||||||
|
%%PORTDOCS%%share/doc/atlas/AtlasCredits.txt
|
||||||
|
%%PORTDOCS%%share/doc/atlas/ChangeLog
|
||||||
|
%%PORTDOCS%%share/doc/atlas/DirStruct.txt
|
||||||
|
%%PORTDOCS%%share/doc/atlas/INDEX.txt
|
||||||
|
%%PORTDOCS%%share/doc/atlas/LibReadme.txt
|
||||||
|
%%PORTDOCS%%share/doc/atlas/TestTime.txt
|
||||||
|
%%PORTDOCS%%share/doc/atlas/TroubleShoot.txt
|
||||||
|
%%PORTDOCS%%share/doc/atlas/Windows.txt
|
||||||
|
%%PORTDOCS%%share/doc/atlas/atlas_contrib.ps
|
||||||
|
%%PORTDOCS%%share/doc/atlas/atlas_devel.ps
|
||||||
|
%%PORTDOCS%%share/doc/atlas/atlas_over.ps
|
||||||
|
%%PORTDOCS%%share/doc/atlas/cblas.ps
|
||||||
|
%%PORTDOCS%%share/doc/atlas/cblasqref.ps
|
||||||
|
%%PORTDOCS%%share/doc/atlas/f77blasqref.ps
|
||||||
|
%%PORTDOCS%%share/doc/atlas/lapackqref.ps
|
||||||
|
%%PORTDOCS%%@dirrm share/doc/atlas
|
Loading…
Add table
Reference in a new issue