Add new port atlas-devel, developer version of math/atlas

This commit is contained in:
Maho Nakata 2003-10-03 23:15:36 +00:00
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

View file

@ -11,6 +11,7 @@
SUBDIR += arpack
SUBDIR += asir2000
SUBDIR += atlas
SUBDIR += atlas-devel
SUBDIR += biggles
SUBDIR += blacs
SUBDIR += blas

111
math/atlas-devel/Makefile Normal file
View 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>

View file

@ -0,0 +1 @@
MD5 (atlas3.5.11.tar.bz2) = 8d8e5ac75c1d17acca8586d5fe78d26e

View 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

View file

@ -0,0 +1,10 @@

View 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);
}

File diff suppressed because it is too large Load diff

View 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);

View 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");

View 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);

View 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/

View 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