From 68c4849f775a06a16e25a24478069ab14d272e3f Mon Sep 17 00:00:00 2001 From: tcojean <35342290+tcojean@users.noreply.github.com> Date: Thu, 2 May 2019 01:25:39 +0200 Subject: Ginkgo package: update to release 1.0.0 (#11312) * Version 1.0.0 was released and the master branch tracks the latest release. * Multiple issues with MacOS have been fixed. The static patch is now unneeded. * Add support for building Ginkgo with the full Block Jacobi performance (compilation takes a long time). * Do not build anything which is not useful for the installation. Namely, documentation, benchmarks, examples and tests. --- var/spack/repos/builtin/packages/dealii/package.py | 2 +- var/spack/repos/builtin/packages/ginkgo/package.py | 23 ++++++++++++---------- .../repos/builtin/packages/ginkgo/static.patch | 17 ---------------- 3 files changed, 14 insertions(+), 28 deletions(-) delete mode 100644 var/spack/repos/builtin/packages/ginkgo/static.patch diff --git a/var/spack/repos/builtin/packages/dealii/package.py b/var/spack/repos/builtin/packages/dealii/package.py index 64a7629640..a718add319 100644 --- a/var/spack/repos/builtin/packages/dealii/package.py +++ b/var/spack/repos/builtin/packages/dealii/package.py @@ -41,7 +41,7 @@ class Dealii(CMakePackage, CudaPackage): description='Compile with Adol-c') variant('doc', default=False, description='Compile with documentation') - variant('ginkgo', default=False, description='Compile wit Ginkgo') + variant('ginkgo', default=False, description='Compile with Ginkgo') variant('gmsh', default=True, description='Compile with GMSH') variant('gsl', default=True, description='Compile with GSL') variant('hdf5', default=True, diff --git a/var/spack/repos/builtin/packages/ginkgo/package.py b/var/spack/repos/builtin/packages/ginkgo/package.py index 6cbfe5bf84..5669bba02c 100644 --- a/var/spack/repos/builtin/packages/ginkgo/package.py +++ b/var/spack/repos/builtin/packages/ginkgo/package.py @@ -11,16 +11,16 @@ class Ginkgo(CMakePackage, CudaPackage): """High-performance linear algebra library for manycore systems, with a focus on sparse solution of linear systems.""" - homepage = "https://github.com/ginkgo-project/ginkgo" + homepage = "https://ginkgo-project.github.io/" url = "https://github.com/ginkgo-project/ginkgo.git" git = "https://github.com/ginkgo-project/ginkgo.git" version('develop', branch='develop') + version('master', branch='master') + version('1.0.0', branch='v1.0.0') - # Ginkgo has problems with circular dependencies and shared libs, see - # https://github.com/ginkgo-project/ginkgo/issues/203 - # Thus keep default to False for now - variant('shared', default=False, description='Build shared libraries') + variant('shared', default=True, description='Build shared libraries') + variant('full_optimizations', default=False, description='Compile with all optimizations') variant('openmp', default=sys.platform != 'darwin', description='Build with OpenMP') variant('build_type', default='Release', description='The build type to build', @@ -29,15 +29,18 @@ class Ginkgo(CMakePackage, CudaPackage): depends_on('cmake@3.9:', type='build') depends_on('cuda@9:', when='+cuda') - # issues with ** expression, see - # https://github.com/ginkgo-project/ginkgo/issues/270#issuecomment-473901621 - patch('static.patch') - def cmake_args(self): spec = self.spec return [ '-DGINKGO_BUILD_CUDA=%s' % ('ON' if '+cuda' in spec else 'OFF'), '-DGINKGO_BUILD_OMP=%s' % ('ON' if '+openmp' in spec else 'OFF'), '-DBUILD_SHARED_LIBS=%s' % ('ON' if '+shared' in spec else 'OFF'), - '-DGINKGO_BUILD_BENCHMARKS=OFF' + '-DGINKGO_JACOBI_FULL_OPTIMIZATIONS=%s' % ( + 'ON' if '+full_optimizations' in spec else 'OFF'), + # As we are not exposing benchmarks, examples, tests nor doc + # as part of the installation, disable building them altogether. + '-DGINKGO_BUILD_BENCHMARKS=OFF', + '-DGINKGO_BUILD_DOC=OFF', + '-DGINKGO_BUILD_EXAMPLES=OFF', + '-DGINKGO_BUILD_TESTS=OFF' ] diff --git a/var/spack/repos/builtin/packages/ginkgo/static.patch b/var/spack/repos/builtin/packages/ginkgo/static.patch deleted file mode 100644 index 9aa7aec3f2..0000000000 --- a/var/spack/repos/builtin/packages/ginkgo/static.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e5fae68..807a7dc 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -109,9 +109,9 @@ if(GINKGO_DEVEL_TOOLS) - endif() - - # Generate the global `ginkgo/ginkgo.hpp` header with every call of make --add_custom_target(generate_ginkgo_header ALL -- COMMAND ${Ginkgo_SOURCE_DIR}/dev_tools/scripts/update_ginkgo_header.sh -- WORKING_DIRECTORY ${Ginkgo_SOURCE_DIR}) -+# add_custom_target(generate_ginkgo_header ALL -+# COMMAND ${Ginkgo_SOURCE_DIR}/dev_tools/scripts/update_ginkgo_header.sh -+# WORKING_DIRECTORY ${Ginkgo_SOURCE_DIR}) - - if(GINKGO_BUILD_DOC) - add_subdirectory(doc) -- cgit v1.2.3-60-g2f50