* Creating a spack package for LLNL's LBANN (Livermore Big
Artificial Neural Network) training toolkit.

* Recipe for building LBANN toolkit.  Contains limited feature set and
is optimized for building with GNU gcc and OpenBLAS.

* Removed unnecessary dependencies based on reviewers feedback.

* Added support for the int64 data type in the Elemental library.  This
is required for supporting indices for large matrices.

* Added a variant to force a sequential weight matrix initialization.
This is slow, but provides an initialization that is independent of
model parallelism.

* Added a guard to prevent building Elemental with the Intel compiler
for versions that have known bugs.
This commit is contained in:
Brian Van Essen
2017-02-13 11:57:46 -08:00
committed by becker33
parent e34acd0074
commit 56952aaf1f
2 changed files with 91 additions and 0 deletions

View File

@@ -23,6 +23,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
from spack.spec import UnsupportedCompilerError
class Elemental(CMakePackage):
@@ -32,6 +33,7 @@ class Elemental(CMakePackage):
homepage = "http://libelemental.org"
url = "https://github.com/elemental/Elemental/archive/v0.87.6.tar.gz"
version('0.87.7', '6c1e7442021c59a36049e37ea69b8075')
version('0.87.6', '9fd29783d45b0a0e27c0df85f548abe9')
variant('debug', default=False,
@@ -94,6 +96,12 @@ def build_type(self):
def cmake_args(self):
spec = self.spec
if '@:0.87.7' in spec and '%intel@:17.0.2' in spec:
raise UnsupportedCompilerError(
"Elemental {0} has a known bug with compiler: {1} {2}".format(
spec.version, spec.compiler.name, spec.compiler.version))
args = [
'-DCMAKE_INSTALL_MESSAGE:STRING=LAZY',
'-DEL_PREFER_OPENBLAS:BOOL=TRUE',