diff options
Diffstat (limited to 'var')
10 files changed, 233 insertions, 82 deletions
diff --git a/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py b/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py index 42f40c63ea..05b8ebe537 100644 --- a/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py +++ b/var/spack/repos/builtin/packages/cbtf-argonavis-gui/package.py @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC. +# Copyright (c) 2013-2018, Lawrence Livermore National Security, LLC. # Produced at the Lawrence Livermore National Laboratory. # # This file is part of Spack. @@ -23,7 +23,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ############################################################################## ########################################################################## -# Copyright (c) 2015-2017 Krell Institute. All Rights Reserved. +# Copyright (c) 2015-2018 Krell Institute. All Rights Reserved. # # This program is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free Software @@ -49,7 +49,7 @@ class CbtfArgonavisGui(QMakePackage): """ homepage = "http://sourceforge.net/p/cbtf/wiki/Home/" - version('0.8.1', branch='master', + version('1.3.0', branch='master', git='https://github.com/OpenSpeedShop/cbtf-argonavis-gui.git') depends_on("cmake@3.0.2", type='build') diff --git a/var/spack/repos/builtin/packages/cbtf-argonavis/package.py b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py index a335754537..b7b2dfa52a 100644 --- a/var/spack/repos/builtin/packages/cbtf-argonavis/package.py +++ b/var/spack/repos/builtin/packages/cbtf-argonavis/package.py @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC. +# Copyright (c) 2013-2018, Lawrence Livermore National Security, LLC. # Produced at the Lawrence Livermore National Laboratory. # # This file is part of Spack. @@ -23,7 +23,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ############################################################################## ########################################################################## -# Copyright (c) 2015-2017 Krell Institute. All Rights Reserved. +# Copyright (c) 2015-2018 Krell Institute. All Rights Reserved. # # This program is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free Software @@ -41,6 +41,7 @@ ########################################################################## from spack import * +import os class CbtfArgonavis(CMakePackage): @@ -50,18 +51,31 @@ class CbtfArgonavis(CMakePackage): """ homepage = "http://sourceforge.net/p/cbtf/wiki/Home/" - version('1.8', branch='master', + version('1.9.1', branch='master', git='https://github.com/OpenSpeedShop/cbtf-argonavis.git') + variant('cti', default=False, + description="Build MRNet with the CTI startup option") + variant('crayfe', default=False, + description="build only the FE tool using the runtime_dir \ + to point to target build.") + variant('runtime', default=False, + description="build only the runtime libraries and collectors.") variant('build_type', default='None', values=('None'), description='CMake build type') depends_on("cmake@3.0.2:", type='build') depends_on("boost@1.50.0:1.59.0") depends_on("papi") + depends_on("libmonitor") depends_on("mrnet@5.0.1:+lwthreads") + depends_on("mrnet@5.0.1:+cti", when='+cti') depends_on("cbtf") + depends_on("cbtf+cti", when='+cti') + depends_on("cbtf+runtime", when='+runtime') depends_on("cbtf-krell") + depends_on("cbtf-krell+cti", when="+cti") + depends_on("cbtf-krell+runtime", when="+runtime") depends_on("cuda") parallel = False @@ -87,6 +101,23 @@ class CbtfArgonavis(CMakePackage): '-DBoost_DIR=%s' % spec['boost'].prefix, '-DBOOST_LIBRARYDIR=%s' % spec['boost'].prefix.lib, '-DMRNET_DIR=%s' % spec['mrnet'].prefix, + '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix, '-DBoost_NO_SYSTEM_PATHS=ON'] return cmake_args + + def setup_environment(self, spack_env, run_env): + """Set up the compile and runtime environments for a package.""" + + if os.environ.get('LD_LIBRARY_PATH'): + cupti_path = self.spec['cuda'].prefix + '/extras/CUPTI/lib64' + os.environ['LD_LIBRARY_PATH'] += cupti_path + else: + os.environ['LD_LIBRARY_PATH'] = cupti_path + + run_env.prepend_path( + 'LD_LIBRARY_PATH', + self.spec['cuda'].prefix + '/extras/CUPTI/lib64') + spack_env.prepend_path( + 'LD_LIBRARY_PATH', + self.spec['cuda'].prefix + '/extras/CUPTI/lib64') diff --git a/var/spack/repos/builtin/packages/cbtf-krell/package.py b/var/spack/repos/builtin/packages/cbtf-krell/package.py index 1716d83188..42938c3713 100644 --- a/var/spack/repos/builtin/packages/cbtf-krell/package.py +++ b/var/spack/repos/builtin/packages/cbtf-krell/package.py @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC. +# Copyright (c) 2013-2018, Lawrence Livermore National Security, LLC. # Produced at the Lawrence Livermore National Laboratory. # # This file is part of Spack. @@ -23,7 +23,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ############################################################################## ########################################################################## -# Copyright (c) 2015-2017 Krell Institute. All Rights Reserved. +# Copyright (c) 2015-2018 Krell Institute. All Rights Reserved. # # This program is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free Software @@ -41,6 +41,8 @@ ########################################################################## from spack import * +import spack +import spack.store class CbtfKrell(CMakePackage): @@ -52,7 +54,7 @@ class CbtfKrell(CMakePackage): """ homepage = "http://sourceforge.net/p/cbtf/wiki/Home/" - version('1.8', branch='master', + version('1.9.1', branch='master', git='https://github.com/OpenSpeedShop/cbtf-krell.git') # MPI variants @@ -68,8 +70,15 @@ class CbtfKrell(CMakePackage): description="Build mpi experiment collector for mpich2 MPI.") variant('mpich', default=False, description="Build mpi experiment collector for mpich MPI.") + variant('runtime', default=False, + description="build only the runtime libraries and collectors.") variant('build_type', default='None', values=('None'), description='CMake build type') + variant('cti', default=False, + description="Build MRNet with the CTI startup option") + variant('crayfe', default=False, + description="build only the FE tool using the runtime_dir \ + to point to target build.") # Dependencies for cbtf-krell depends_on("cmake@3.0.2:", type='build') @@ -80,16 +89,19 @@ class CbtfKrell(CMakePackage): # collectionTool depends_on("boost@1.50.0:1.59.0") depends_on("dyninst@9.3.2") + depends_on("mrnet@5.0.1:+cti", when='+cti') depends_on("mrnet@5.0.1:+lwthreads") depends_on("xerces-c@3.1.1:") depends_on("cbtf") + depends_on("cbtf+cti", when='+cti') + depends_on("cbtf+runtime", when='+runtime') # for services and collectors depends_on("libmonitor+krellpatch") depends_on("libunwind") depends_on("papi") - depends_on("llvm-openmp-ompt@towards_tr4+standalone") + depends_on("llvm-openmp-ompt@tr6_forwards+standalone") # MPI Installations # These have not worked either for build or execution, commenting out for @@ -105,6 +117,14 @@ class CbtfKrell(CMakePackage): build_directory = 'build_cbtf_krell' + def set_RTOnly_cmakeOptions(self, spec, cmakeOptions): + # Appends to cmakeOptions the options that will enable the appropriate + # MPI implementations + + RTOnlyOptions = [] + RTOnlyOptions.append('-DRUNTIME_ONLY=true') + cmakeOptions.extend(RTOnlyOptions) + def set_mpi_cmakeOptions(self, spec, cmakeOptions): # Appends to cmakeOptions the options that will enable the appropriate # MPI implementations @@ -112,26 +132,74 @@ class CbtfKrell(CMakePackage): MPIOptions = [] # openmpi - if '+openmpi' in spec: + if spec.satisfies('+openmpi'): MPIOptions.append('-DOPENMPI_DIR=%s' % spec['openmpi'].prefix) # mpich - if '+mpich' in spec: + if spec.satisfies('+mpich'): MPIOptions.append('-DMPICH_DIR=%s' % spec['mpich'].prefix) # mpich2 - if '+mpich2' in spec: + if spec.satisfies('+mpich2'): MPIOptions.append('-DMPICH2_DIR=%s' % spec['mpich2'].prefix) # mvapich - if '+mvapich' in spec: + if spec.satisfies('+mvapich'): MPIOptions.append('-DMVAPICH_DIR=%s' % spec['mvapich'].prefix) # mvapich2 - if '+mvapich2' in spec: + if spec.satisfies('+mvapich2'): MPIOptions.append('-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix) # mpt - if '+mpt' in spec: + if spec.satisfies('+mpt'): MPIOptions.append('-DMPT_DIR=%s' % spec['mpt'].prefix) cmakeOptions.extend(MPIOptions) + def set_CrayLoginNode_cmakeOptions(self, spec, cmakeOptions): + # Appends to cmakeOptions the options that will enable + # the appropriate Cray login node libraries + + CrayLoginNodeOptions = [] + rt_platform = "cray" + # How do we get the compute node (CNL) cbtf package + # install directory path. spec['cbtf'].prefix is the + # login node path for this build, as we are building + # the login node components with this spack invocation. We + # need these paths to be the ones created in the CNL + # spack invocation. + be_cbtf = spack.store.db.query_one('cbtf arch=cray-CNL-haswell') + be_cbtfk = spack.store.db.query_one('cbtf-krell arch=cray-CNL-haswell') + be_papi = spack.store.db.query_one('papi arch=cray-CNL-haswell') + be_boost = spack.store.db.query_one('boost arch=cray-CNL-haswell') + be_mont = spack.store.db.query_one('libmonitor arch=cray-CNL-haswell') + be_unw = spack.store.db.query_one('libunwind arch=cray-CNL-haswell') + be_xer = spack.store.db.query_one('xerces-c arch=cray-CNL-haswell') + be_dyn = spack.store.db.query_one('dyninst arch=cray-CNL-haswell') + be_mrnet = spack.store.db.query_one('mrnet arch=cray-CNL-haswell') + + CrayLoginNodeOptions.append('-DCN_RUNTIME_PLATFORM=%s' + % rt_platform) + + # Use install directories as CMAKE args for the building + # of login cbtf-krell + CrayLoginNodeOptions.append('-DCBTF_CN_RUNTIME_DIR=%s' + % be_cbtf.prefix) + CrayLoginNodeOptions.append('-DCBTF_KRELL_CN_RUNTIME_DIR=%s' + % be_cbtfk.prefix) + CrayLoginNodeOptions.append('-DPAPI_CN_RUNTIME_DIR=%s' + % be_papi.prefix) + CrayLoginNodeOptions.append('-DBOOST_CN_RUNTIME_DIR=%s' + % be_boost.prefix) + CrayLoginNodeOptions.append('-DLIBMONITOR_CN_RUNTIME_DIR=%s' + % be_mont.prefix) + CrayLoginNodeOptions.append('-DLIBUNWIND_CN_RUNTIME_DIR=%s' + % be_unw.prefix) + CrayLoginNodeOptions.append('-DXERCESC_CN_RUNTIME_DIR=%s' + % be_xer.prefix) + CrayLoginNodeOptions.append('-DDYNINST_CN_RUNTIME_DIR=%s' + % be_dyn.prefix) + CrayLoginNodeOptions.append('-DMRNET_CN_RUNTIME_DIR=%s' + % be_mrnet.prefix) + + cmakeOptions.extend(CrayLoginNodeOptions) + def cmake_args(self): spec = self.spec @@ -153,7 +221,15 @@ class CbtfKrell(CMakePackage): '-DLIBIOMP_DIR=%s' % spec['llvm-openmp-ompt'].prefix, '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix] + if self.spec.satisfies('+runtime'): + self.set_RTOnly_cmakeOptions(spec, cmake_args) + # Add any MPI implementations coming from variant settings self.set_mpi_cmakeOptions(spec, cmake_args) + if self.spec.satisfies('+crayfe'): + # We need to build target/compute node components/libraries first + # then pass those libraries to the cbtf-krell login node build + self.set_CrayLoginNode_cmakeOptions(spec, cmake_args) + return cmake_args diff --git a/var/spack/repos/builtin/packages/cbtf-lanl/package.py b/var/spack/repos/builtin/packages/cbtf-lanl/package.py index 19b00e00df..0c6bf54b4c 100644 --- a/var/spack/repos/builtin/packages/cbtf-lanl/package.py +++ b/var/spack/repos/builtin/packages/cbtf-lanl/package.py @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC. +# Copyright (c) 2013-2018, Lawrence Livermore National Security, LLC. # Produced at the Lawrence Livermore National Laboratory. # # This file is part of Spack. @@ -23,7 +23,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ############################################################################## ########################################################################## -# Copyright (c) 2015-2017 Krell Institute. All Rights Reserved. +# Copyright (c) 2015-2018 Krell Institute. All Rights Reserved. # # This program is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free Software @@ -48,18 +48,26 @@ class CbtfLanl(CMakePackage): command monitoring tool.""" homepage = "http://sourceforge.net/p/cbtf/wiki/Home/" - version('1.8', branch='master', + version('1.9.1', branch='master', git='http://git.code.sf.net/p/cbtf-lanl/cbtf-lanl') variant('build_type', default='None', values=('None'), description='CMake build type') + variant('runtime', default=False, + description="build only the runtime libraries and collectors.") + variant('cti', default=False, + description="Build MRNet with the CTI startup option") depends_on("cmake@3.0.2:", type='build') # Dependencies for cbtf-krell depends_on("mrnet@5.0.1:+lwthreads") depends_on("xerces-c@3.1.1:") depends_on("cbtf") + depends_on("cbtf+cti", when='+cti') + depends_on("cbtf+runtime", when='+runtime') depends_on("cbtf-krell") + depends_on("cbtf-krell+cti", when='+cti') + depends_on("cbtf-krell+runtime", when='+runtime') parallel = False diff --git a/var/spack/repos/builtin/packages/cbtf/package.py b/var/spack/repos/builtin/packages/cbtf/package.py index 2f0b3b275d..4e68e21d5b 100644 --- a/var/spack/repos/builtin/packages/cbtf/package.py +++ b/var/spack/repos/builtin/packages/cbtf/package.py @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC. +# Copyright (c) 2013-2018, Lawrence Livermore National Security, LLC. # Produced at the Lawrence Livermore National Laboratory. # # This file is part of Spack. @@ -23,7 +23,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ############################################################################## ########################################################################## -# Copyright (c) 2015-2017 Krell Institute. All Rights Reserved. +# Copyright (c) 2015-2018 Krell Institute. All Rights Reserved. # # This program is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free Software @@ -53,9 +53,11 @@ class Cbtf(CMakePackage): homepage = "http://sourceforge.net/p/cbtf/wiki/Home" # Use when the git repository is available - version('1.8', branch='master', + version('1.9.1', branch='master', git='https://github.com/OpenSpeedShop/cbtf.git') + variant('cti', default=False, + description="Build MRNet with the CTI startup option") variant('runtime', default=False, description="build only the runtime libraries and collectors.") variant('build_type', default='None', values=('None'), @@ -64,6 +66,7 @@ class Cbtf(CMakePackage): depends_on("cmake@3.0.2:", type='build') depends_on("boost@1.50.0:1.59.0") depends_on("mrnet@5.0.1:+lwthreads") + depends_on("mrnet@5.0.1:+cti", when='+cti') depends_on("xerces-c@3.1.1:") # Work around for spack libxml2 package bug, take off python when fixed depends_on("libxml2+python") @@ -83,7 +86,8 @@ class Cbtf(CMakePackage): compile_flags = "-O2 -g" - if '+runtime' in spec: + if spec.satisfies('+runtime'): + # Install message tag include file for use in Intel MIC # cbtf-krell build # FIXME diff --git a/var/spack/repos/builtin/packages/elfutils/package.py b/var/spack/repos/builtin/packages/elfutils/package.py index 2db5d71d3a..726c53a032 100644 --- a/var/spack/repos/builtin/packages/elfutils/package.py +++ b/var/spack/repos/builtin/packages/elfutils/package.py @@ -46,6 +46,7 @@ class Elfutils(AutotoolsPackage): depends_on('flex', type='build') depends_on('bison', type='build') depends_on('gettext') + conflicts('%gcc@7.2.0:', when='@0.163') provides('elf@1') diff --git a/var/spack/repos/builtin/packages/llvm-openmp-ompt/package.py b/var/spack/repos/builtin/packages/llvm-openmp-ompt/package.py index 2526cd4d03..310df251aa 100644 --- a/var/spack/repos/builtin/packages/llvm-openmp-ompt/package.py +++ b/var/spack/repos/builtin/packages/llvm-openmp-ompt/package.py @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC. +# Copyright (c) 2013-2018, Lawrence Livermore National Security, LLC. # Produced at the Lawrence Livermore National Laboratory. # # This file is part of Spack. @@ -33,8 +33,8 @@ class LlvmOpenmpOmpt(CMakePackage): homepage = "https://github.com/OpenMPToolsInterface/LLVM-openmp" - # towards_tr4 branch - version('towards_tr4', branch='towards_tr4', + # tr6_forwards branch + version('tr6_forwards', branch='tr6_forwards', git='https://github.com/OpenMPToolsInterface/LLVM-openmp.git') version('3.9.2b2', @@ -79,9 +79,9 @@ class LlvmOpenmpOmpt(CMakePackage): '-DCMAKE_BUILD_WITH_INSTALL_RPATH=true', '-DLIBOMP_USE_DEBUGGER=false']) - # Build llvm-openmp-ompt using the toward_tr4 branch + # Build llvm-openmp-ompt using the tr6_forwards branch # This requires the version to be 5.0 (50) - if '@towards_tr4' in self.spec: + if '@tr6_forwards' in self.spec: cmake_args.extend( ['-DLIBOMP_OMP_VERSION=50']) diff --git a/var/spack/repos/builtin/packages/mrnet/package.py b/var/spack/repos/builtin/packages/mrnet/package.py index 6569934817..97637bf9fa 100644 --- a/var/spack/repos/builtin/packages/mrnet/package.py +++ b/var/spack/repos/builtin/packages/mrnet/package.py @@ -31,17 +31,21 @@ class Mrnet(AutotoolsPackage): url = "http://ftp.cs.wisc.edu/pub/paradyn/mrnet/mrnet_5.0.1.tar.gz" list_url = "http://ftp.cs.wisc.edu/paradyn/mrnet" + version('5.0.1-3', git='https://github.com/dyninst/mrnet.git') version('5.0.1-2', git='https://github.com/dyninst/mrnet.git', commit='20b1eacfc6d680d9f6472146d2dfaa0f900cc2e9') version('5.0.1', '17f65738cf1b9f9b95647ff85f69ecdd') version('4.1.0', '5a248298b395b329e2371bf25366115c') version('4.0.0', 'd00301c078cba57ef68613be32ceea2f') + variant('cti', default=False, + description="Build the MRNet with the CTI startup option") variant('lwthreads', default=False, description="Also build the MRNet LW threadsafe libraries") parallel = False depends_on("boost") + depends_on("cti", when='+cti') def configure_args(self): spec = self.spec @@ -51,5 +55,11 @@ class Mrnet(AutotoolsPackage): # lwthreads variant is present if '+lwthreads' in spec: config_args.append('--enable-ltwt-threadsafe') - + # Build the MRNet with CTI based start-up when + # the cti variant is present + if '+cti' in spec: + config_args.append('--with-startup=cray-cti') + cti = self.spec['cti'].prefix + config_args.append('--with-craycti-inc=-I%s/include' % cti) + config_args.append('--with-craycti-lib=-I%s/lib' % cti) return config_args diff --git a/var/spack/repos/builtin/packages/openspeedshop/package.py b/var/spack/repos/builtin/packages/openspeedshop/package.py index 60d5a1c1b7..39df30afd2 100644 --- a/var/spack/repos/builtin/packages/openspeedshop/package.py +++ b/var/spack/repos/builtin/packages/openspeedshop/package.py @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC. +# Copyright (c) 2013-2018, Lawrence Livermore National Security, LLC. # Produced at the Lawrence Livermore National Laboratory. # # This file is part of Spack. @@ -23,7 +23,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ############################################################################## ############################################################################## -# Copyright (c) 2015-2017 Krell Institute. All Rights Reserved. +# Copyright (c) 2015-2018 Krell Institute. All Rights Reserved. # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the Free @@ -41,6 +41,10 @@ ############################################################################## from spack import * + +import spack +import spack.store + import os import os.path @@ -63,7 +67,7 @@ class Openspeedshop(CMakePackage): url = "https://github.com/OpenSpeedShop" # Use when the git repository is available - version('2.3', branch='master', + version('2.3.1', branch='master', git='https://github.com/OpenSpeedShop/openspeedshop.git') variant('offline', default=False, @@ -72,7 +76,9 @@ class Openspeedshop(CMakePackage): description="build with cbtf instrumentor enabled.") variant('runtime', default=False, description="build only the runtime libraries and collectors.") - variant('frontend', default=False, + variant('cti', default=False, + description="Build MRNet with the CTI startup option") + variant('crayfe', default=False, description="build only the FE tool using the runtime_dir \ to point to target build.") variant('cuda', default=False, @@ -117,6 +123,7 @@ class Openspeedshop(CMakePackage): depends_on("sqlite") depends_on("boost@1.50.0:1.59.0") depends_on("dyninst@9.3.2") + depends_on("python") depends_on("libxml2+python") depends_on("qt@3.3.8b+krellpatch", when='gui=qt3') # Actively working on adding this gui package @@ -136,6 +143,8 @@ class Openspeedshop(CMakePackage): # Dependencies only for the openspeedshop cbtf package. depends_on("cbtf", when='+cbtf') depends_on('cbtf-krell', when='+cbtf') + depends_on('cbtf-krell+crayfe', when='+crayfe') + depends_on('cbtf-krell+cti', when='+cti') depends_on('cbtf-krell+mpich', when='+cbtf+mpich') depends_on('cbtf-krell+mpich2', when='+cbtf+mpich2') depends_on('cbtf-krell+mpt', when='+cbtf+mpt') @@ -144,19 +153,45 @@ class Openspeedshop(CMakePackage): depends_on('cbtf-krell+openmpi', when='+cbtf+openmpi') depends_on("cbtf-argonavis", when='+cbtf+cuda') depends_on("mrnet@5.0.1:+lwthreads", when='+cbtf') + depends_on("mrnet@5.0.1:+cti", when='+cti+cbtf') parallel = False build_directory = 'build_openspeedshop' + def set_CrayLoginNode_cmakeOptions(self, spec, cmakeOptions): + # Appends to cmakeOptions the options that will enable the appropriate + # Cray login node libraries + + CrayLoginNodeOptions = [] + rt_platform = "cray" + # How do we get the compute node (CNL) cbtf package install + # directory path? + # spec['cbtf'].prefix is the login node value for this build, as + # we only get here when building the login node components and + # that is all that is known to spack. + be_ck = spack.store.db.query_one('cbtf-krell arch=cray-CNL-haswell') + + # Equivalent to install-tool cmake arg: + # '-DCBTF_KRELL_CN_RUNTIME_DIR=%s' + # % <base dir>/cbtf_v2.3.1.release/compute) + CrayLoginNodeOptions.append('-DCBTF_KRELL_CN_RUNTIME_DIR=%s' + % be_ck.prefix) + CrayLoginNodeOptions.append('-DRUNTIME_PLATFORM=%s' + % rt_platform) + + cmakeOptions.extend(CrayLoginNodeOptions) + def cmake_args(self): + spec = self.spec + compile_flags = "-O2 -g" - if '+offline' in spec: + if spec.satisfies('+offline'): # Indicate building offline vers (writes rawdata files) instrumentor_setting = "offline" - if '+runtime' in spec: + if spec.satisfies('+runtime'): cmake_args = [ '-DCMAKE_CXX_FLAGS=%s' % compile_flags, '-DCMAKE_C_FLAGS=%s' % compile_flags, @@ -173,7 +208,6 @@ class Openspeedshop(CMakePackage): # Appends base options to cmake_args self.set_defaultbase_cmakeOptions(spec, cmake_args) - cmake_args.extend( ['-DCMAKE_CXX_FLAGS=%s' % compile_flags, '-DCMAKE_C_FLAGS=%s' % compile_flags, @@ -187,11 +221,14 @@ class Openspeedshop(CMakePackage): # Add any MPI implementations coming from variant settings self.set_mpi_cmakeOptions(spec, cmake_args) - elif '+cbtf' in spec: + elif spec.satisfies('+cbtf'): + + cmake_args = [] + # Indicate building cbtf vers (transfer rawdata files) instrumentor_setting = "cbtf" - if '+runtime' in spec: + if spec.satisfies('+runtime'): # Appends base options to cmake_args self.set_defaultbase_cmakeOptions(spec, cmake_args) @@ -204,7 +241,6 @@ class Openspeedshop(CMakePackage): '-DMRNET_DIR=%s' % spec['mrnet'].prefix]) else: - cmake_args = [] # Appends base options to cmake_args self.set_defaultbase_cmakeOptions(spec, cmake_args) @@ -229,6 +265,13 @@ class Openspeedshop(CMakePackage): ['-DQTLIB_DIR=%s' % spec['qt'].prefix]) + if spec.satisfies('+crayfe'): + # We need to build target/compute node + # components/libraries first then pass + # those libraries to the openspeedshop + # login node build + self.set_CrayLoginNode_cmakeOptions(spec, cmake_args) + return cmake_args def set_defaultbase_cmakeOptions(self, spec, cmakeOptions): @@ -263,22 +306,22 @@ class Openspeedshop(CMakePackage): MPIOptions = [] # openmpi - if '+openmpi' in spec: + if spec.satisfies('+openmpi'): MPIOptions.append('-DOPENMPI_DIR=%s' % spec['openmpi'].prefix) # mpich - if '+mpich' in spec: + if spec.satisfies('+mpich'): MPIOptions.append('-DMPICH_DIR=%s' % spec['mpich'].prefix) # mpich2 - if '+mpich2' in spec: + if spec.satisfies('+mpich2'): MPIOptions.append('-DMPICH2_DIR=%s' % spec['mpich2'].prefix) # mvapich - if '+mvapich' in spec: + if spec.satisfies('+mvapich'): MPIOptions.append('-DMVAPICH_DIR=%s' % spec['mvapich'].prefix) # mvapich2 - if '+mvapich2' in spec: + if spec.satisfies('+mvapich2'): MPIOptions.append('-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix) # mpt - if '+mpt' in spec: + if spec.satisfies('+mpt'): MPIOptions.append('-DMPT_DIR=%s' % spec['mpt'].prefix) cmakeOptions.extend(MPIOptions) @@ -308,26 +351,13 @@ class Openspeedshop(CMakePackage): run_env.prepend_path('LD_LIBRARY_PATH', os.path.dirname(oss_libdir.joined())) + run_env.set('OPENSS_RAWDATA_DIR', '.') # Settings specific to the version, checking here - # for the cbtf instrumentor - if '+cbtf' in self.spec: - cbtf_mc = '/sbin/cbtf_mrnet_commnode' - cbtf_lmb = '/sbin/cbtf_libcbtf_mrnet_backend' - run_env.set('XPLAT_RSH', 'ssh') - run_env.set('MRNET_COMM_PATH', - join_path(self.spec['cbtf-krell'].prefix + cbtf_mc)) - - run_env.set('CBTF_MRNET_BACKEND_PATH', - join_path(self.spec['cbtf-krell'].prefix + cbtf_lmb)) - - run_env.prepend_path('PATH', self.spec['mrnet'].prefix.bin) - run_env.prepend_path('PATH', self.spec['cbtf-krell'].prefix.bin) - run_env.prepend_path('PATH', self.spec['cbtf-krell'].prefix.sbin) - - elif '+offline' in self.spec: + # for the offline instrumentor, otherwise use cbtf instrumentor + # settings. MPI for the cbtf instrumentor is setup in cbtf-krell + if '+offline' in self.spec: # Had to use this form of syntax self.prefix.lib and # self.prefix.lib64 returned None all the time - run_env.set('OPENSS_RAWDATA_DIR', '.') run_env.set('OPENSS_PLUGIN_PATH', join_path(oss_libdir + '/openspeedshop')) run_env.prepend_path('PATH', self.spec['papi'].prefix.bin) @@ -341,3 +371,14 @@ class Openspeedshop(CMakePackage): run_env.set('OPENSS_MPI_IMPLEMENTATION', 'mvapich2') if '+openmpi' in self.spec: run_env.set('OPENSS_MPI_IMPLEMENTATION', 'openmpi') + else: + cbtf_mc = '/sbin/cbtf_mrnet_commnode' + cbtf_lmb = '/sbin/cbtf_libcbtf_mrnet_backend' + run_env.set('XPLAT_RSH', 'ssh') + run_env.set('MRNET_COMM_PATH', + join_path(self.spec['cbtf-krell'].prefix + cbtf_mc)) + run_env.set('CBTF_MRNET_BACKEND_PATH', + join_path(self.spec['cbtf-krell'].prefix + cbtf_lmb)) + run_env.prepend_path('PATH', self.spec['mrnet'].prefix.bin) + run_env.prepend_path('PATH', self.spec['cbtf-krell'].prefix.bin) + run_env.prepend_path('PATH', self.spec['cbtf-krell'].prefix.sbin) diff --git a/var/spack/repos/builtin/packages/qt/qt3krell.patch b/var/spack/repos/builtin/packages/qt/qt3krell.patch index 4f1c12e43e..cee94b3cbc 100644 --- a/var/spack/repos/builtin/packages/qt/qt3krell.patch +++ b/var/spack/repos/builtin/packages/qt/qt3krell.patch @@ -1,23 +1,3 @@ ---- qt-x11-free-3.3.8b/src/tools/qmap.h 2008-01-15 13:09:13.000000000 -0600 -+++ qt-x11-free-3.3.8b-fixes/src/tools/qmap.h 2015-07-08 15:47:34.757565247 -0500 -@@ -52,6 +52,7 @@ - #ifndef QT_NO_STL - #include <iterator> - #include <map> -+#include <cstddef> - #endif - - //#define QT_CHECK_MAP_RANGE ---- qt-x11-free-3.3.8b/src/tools/qvaluelist.h 2008-01-15 13:09:13.000000000 -0600 -+++ qt-x11-free-3.3.8b-fixes/src/tools/qvaluelist.h 2015-07-08 15:47:34.758565247 -0500 -@@ -50,6 +50,7 @@ - #ifndef QT_NO_STL - #include <iterator> - #include <list> -+#include <cstddef> - #endif - - //#define QT_CHECK_VALUELIST_RANGE --- qt-x11-free-3.3.8b/src/tools/qvaluevector.h 2008-01-15 13:09:13.000000000 -0600 +++ qt-x11-free-3.3.8b-fixes/src/tools/qvaluevector.h 2015-07-08 15:47:34.758565247 -0500 @@ -47,6 +47,7 @@ |