Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
Spack
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
eic_tools
Spack
Commits
b5daa51c
Commit
b5daa51c
authored
7 years ago
by
Geoffrey Oxberry
Committed by
Massimiliano Culpo
7 years ago
Browse files
Options
Downloads
Patches
Plain Diff
netlib-xblas 1.0.248: new package (#7024)
* netlib-xblas@1.0.248: new package * netlib-lapack: add xblas option
parent
a62e1a04
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
var/spack/repos/builtin/packages/netlib-lapack/package.py
+10
-0
10 additions, 0 deletions
var/spack/repos/builtin/packages/netlib-lapack/package.py
var/spack/repos/builtin/packages/netlib-xblas/package.py
+90
-0
90 additions, 0 deletions
var/spack/repos/builtin/packages/netlib-xblas/package.py
with
100 additions
and
0 deletions
var/spack/repos/builtin/packages/netlib-lapack/package.py
+
10
−
0
View file @
b5daa51c
...
...
@@ -55,6 +55,8 @@ class NetlibLapack(Package):
variant
(
'
lapacke
'
,
default
=
True
,
description
=
'
Activates the build of the LAPACKE C interface
'
)
variant
(
'
xblas
'
,
default
=
False
,
description
=
'
Builds extended precision routines using XBLAS
'
)
patch
(
'
ibm-xl.patch
'
,
when
=
'
@3:6%xl
'
)
patch
(
'
ibm-xl.patch
'
,
when
=
'
@3:6%xl_r
'
)
...
...
@@ -65,6 +67,7 @@ class NetlibLapack(Package):
depends_on
(
'
cmake
'
,
type
=
'
build
'
)
depends_on
(
'
blas
'
,
when
=
'
+external-blas
'
)
depends_on
(
'
netlib-xblas+fortran+plain_blas
'
,
when
=
'
+xblas
'
)
def
patch
(
self
):
# Fix cblas CMakeLists.txt -- has wrong case for subdirectory name.
...
...
@@ -155,6 +158,13 @@ def install_one(self, spec, prefix, shared):
'
-DBLAS_LIBRARIES:PATH=%s
'
%
spec
[
'
blas
'
].
libs
.
joined
(
'
;
'
)
])
if
spec
.
satisfies
(
'
+xblas
'
):
xblas_include_dir
=
spec
[
'
netlib-xblas
'
].
prefix
.
include
xblas_library
=
spec
[
'
netlib-xblas
'
].
libs
.
joined
(
'
;
'
)
cmake_args
.
extend
([
'
-DXBLAS_INCLUDE_DIR={0}
'
.
format
(
xblas_include_dir
),
'
-DXBLAS_LIBRARY={0}
'
.
format
(
xblas_library
)])
cmake_args
.
extend
(
std_cmake_args
)
build_dir
=
'
spack-build
'
+
(
'
-shared
'
if
shared
else
'
-static
'
)
...
...
This diff is collapsed.
Click to expand it.
var/spack/repos/builtin/packages/netlib-xblas/package.py
0 → 100644
+
90
−
0
View file @
b5daa51c
##############################################################################
# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://github.com/spack/spack
# Please also see the NOTICE and LICENSE files for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from
spack
import
*
class
NetlibXblas
(
AutotoolsPackage
):
"""
XBLAS is a reference implementation for extra precision BLAS.
XBLAS is a reference implementation for the dense and banded BLAS
routines, along with extended and mixed precision version. Extended
precision is only used internally; input and output arguments remain
the same as in the existing BLAS. Extra precisions is implemented as
double-double (i.e., 128-bit total, 106-bit significand). Mixed
precision permits some input/output arguments of different types
(mixing real and complex) or precisions (mixing single and
double). This implementation is proof of concept, and no attempt was
made to optimize performance; performance should be as good as
straightforward but careful code written by hand.
"""
homepage
=
"
http://www.netlib.org/xblas
"
url
=
"
http://www.netlib.org/xblas/xblas.tar.gz
"
version
(
'
1.0.248
'
,
'
990c680fb5e446bb86c10936e4cd7f88
'
)
variant
(
'
fortran
'
,
default
=
True
,
description
=
'
Build Fortran interfaces
'
)
variant
(
'
plain_blas
'
,
default
=
True
,
description
=
'
As part of XBLAS, build plain BLAS routines
'
)
provides
(
'
blas
'
,
when
=
'
+plain_blas
'
)
@property
def
libs
(
self
):
return
find_libraries
([
'
libxblas
'
],
root
=
self
.
prefix
,
shared
=
False
,
recurse
=
True
)
def
configure_args
(
self
):
args
=
[]
if
self
.
spec
.
satisfies
(
'
~fortran
'
):
args
+=
[
'
--disable-fortran
'
]
if
self
.
spec
.
satisfies
(
'
~plain_blas
'
):
args
+=
[
'
--disable-plain-blas
'
]
return
args
def
install
(
self
,
spec
,
prefix
):
mkdirp
(
prefix
.
lib
)
install
(
'
libxblas.a
'
,
prefix
.
lib
)
if
self
.
spec
.
satisfies
(
'
+plain_blas
'
):
# XBLAS should be a drop-in BLAS replacement
install
(
'
libxblas.a
'
,
join_path
(
prefix
.
lib
,
'
libblas.a
'
))
headers
=
[
'
f2c-bridge.h
'
,
'
blas_dense_proto.h
'
,
'
blas_enum.h
'
,
'
blas_extended.h
'
,
'
blas_extended_private.h
'
,
'
blas_extended_proto.h
'
,
'
blas_fpu.h
'
,
'
blas_malloc.h
'
]
mkdirp
(
prefix
.
include
)
for
h
in
headers
:
install
(
join_path
(
'
src
'
,
h
),
prefix
.
include
)
return
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment