Merge branch 'kev40293-develop' into features/blas

This commit is contained in:
Todd Gamblin 2015-03-26 00:12:41 -07:00
commit fa53bb835c
3 changed files with 97 additions and 0 deletions

View File

@ -0,0 +1,28 @@
from spack import *
from spack.util.executable import Executable
import os
class Atlas(Package):
"""
Automatically Tuned Linear Algebra Software, generic shared
ATLAS is an approach for the automatic generation and optimization of
numerical software. Currently ATLAS supplies optimized versions for the
complete set of linear algebra kernels known as the Basic Linear Algebra
Subroutines (BLAS), and a subset of the linear algebra routines in the
LAPACK library.
"""
homepage = "http://math-atlas.sourceforge.net/"
url = "http://downloads.sourceforge.net/project/math-atlas/Stable/3.10.2/atlas3.10.2.tar.bz2"
version('3.10.2', 'a4e21f343dec8f22e7415e339f09f6da')
def install(self, spec, prefix):
with working_dir('ATLAS-Build', create=True):
self.module.configure = Executable('../configure')
configure("--prefix=%s" % prefix)
make()
make('check')
make('ptcheck')
make('time')
make("install")

View File

@ -0,0 +1,40 @@
from spack import *
from spack.util.executable import Executable
import os
import urllib
class LapackAtlas(Package):
"""
Automatically Tuned Linear Algebra Software, generic shared
ATLAS is an approach for the automatic generation and optimization of
numerical software. Currently ATLAS supplies optimized versions for the
complete set of linear algebra kernels known as the Basic Linear Algebra
Subroutines (BLAS), and a subset of the linear algebra routines in the
LAPACK library.
"""
homepage = "http://math-atlas.sourceforge.net/"
url = "http://downloads.sourceforge.net/project/math-atlas/Stable/3.10.2/atlas3.10.2.tar.bz2"
version('3.10.2', 'a4e21f343dec8f22e7415e339f09f6da')
# FIXME: Add dependencies if this package requires them.
# depends_on("foo")
def install(self, spec, prefix):
#os.mkdir('ATLAS-Build')
#os.chdir('ATLAS-Build')
with working_dir('ATLAS-Build', create=True):
self.module.configure = Executable('../configure')
lapack_file = 'lapack-3.5.0.tgz'
lapack = urllib.URLopener()
lapack.retrieve('http://www.netlib.org/lapack/' + lapack_file, lapack_file)
configure("--prefix=%s" % prefix,
"--shared",
'--with-netlib-lapack-tarfile=%s' % os.getcwd() + '/' + lapack_file)
make()
make('check')
make('ptcheck')
make('time')
make("install")

View File

@ -0,0 +1,29 @@
from spack import *
class Lapack(Package):
"""
LAPACK version 3.X is a comprehensive FORTRAN library that does
linear algebra operations including matrix inversions, least
squared solutions to linear sets of equations, eigenvector
analysis, singular value decomposition, etc. It is a very
comprehensive and reputable package that has found extensive
use in the scientific community.
"""
homepage = "http://www.netlib.org/lapack/"
url = "http://www.netlib.org/lapack/lapack-3.5.0.tgz"
version('3.5.0', 'b1d3e3e425b2e44a06760ff173104bdf')
version('3.4.2', '61bf1a8a4469d4bdb7604f5897179478')
version('3.4.1', '44c3869c38c8335c2b9c2a8bb276eb55')
version('3.4.0', '02d5706ec03ba885fc246e5fa10d8c70')
version('3.3.1', 'd0d533ec9a5b74933c2a1e84eedc58b4')
depends_on('atlas')
def install(self, spec, prefix):
atlas_libs = ['libf77blas.a', 'libatlas.a']
atlas_libs = [join_path(spec['atlas'].prefix.lib, lib,) for lib in atlas_libs]
cmake(".", '-DBLAS_LIBRARIES=' + ";".join(atlas_libs), *std_cmake_args)
make()
make("install")