Add Score-P 1.3 release. Works for gcc, still some issues with Intel builds.
This commit is contained in:
		| @@ -17,9 +17,11 @@ class Cube(Package): | ||||
|     version('4.3TP1', 'a2090fbc7b2ba394bd5c09ba971e237f',  | ||||
|             url = 'http://apps.fz-juelich.de/scalasca/releases/cube/4.3/dist/cube-4.3-TP1.tar.gz') | ||||
|  | ||||
|     # Using CC as C++ compiler provides quirky workaround for a Score-P build system attempt  | ||||
|     # to guess a matching C compiler when configuring scorep-score | ||||
|     backend_user_provided = """\ | ||||
| CC=cc | ||||
| CXX=c++ | ||||
| CXX=CC | ||||
| F77=f77 | ||||
| FC=f90 | ||||
| #CFLAGS=-fPIC | ||||
| @@ -27,7 +29,7 @@ class Cube(Package): | ||||
| """ | ||||
|     frontend_user_provided = """\ | ||||
| CC_FOR_BUILD=cc | ||||
| CXX_FOR_BUILD=c++ | ||||
| CXX_FOR_BUILD=CC | ||||
| F77_FOR_BUILD=f70 | ||||
| FC_FOR_BUILD=f90 | ||||
| """ | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| # FIXME: Add copyright statement here  | ||||
|  | ||||
| from spack import * | ||||
| from contextlib import closing | ||||
|  | ||||
| class Opari2(Package): | ||||
|     """OPARI2 is a source-to-source instrumentation tool for OpenMP and  | ||||
| @@ -18,9 +19,45 @@ class Opari2(Package): | ||||
|  | ||||
|     version('1.1.2', '9a262c7ca05ff0ab5f7775ae96f3539e') | ||||
|  | ||||
|     backend_user_provided = """\ | ||||
| CC=cc | ||||
| CXX=c++ | ||||
| F77=f77 | ||||
| FC=f90 | ||||
| CFLAGS=-fPIC | ||||
| CXXFLAGS=-fPIC | ||||
| """ | ||||
|     frontend_user_provided = """\ | ||||
| CC_FOR_BUILD=cc | ||||
| CXX_FOR_BUILD=c++ | ||||
| F77_FOR_BUILD=f70 | ||||
| FC_FOR_BUILD=f90 | ||||
| CFLAGS_FOR_BUILD=-fPIC | ||||
| CXXFLAGS_FOR_BUILD=-fPIC | ||||
| """ | ||||
|     mpi_user_provided = """\ | ||||
| MPICC=mpicc | ||||
| MPICXX=mpicxx | ||||
| MPIF77=mpif77 | ||||
| MPIFC=mpif90 | ||||
| MPI_CFLAGS=-fPIC | ||||
| MPI_CXXFLAGS=-fPIC | ||||
| """ | ||||
|  | ||||
|     def install(self, spec, prefix): | ||||
|         # Use a custom compiler configuration, otherwise the score-p | ||||
|         # build system messes with spack's compiler settings. | ||||
|         # Create these three files in the build directory | ||||
|         with closing(open("platform-backend-user-provided", "w")) as backend_file: | ||||
|             backend_file.write(self.backend_user_provided) | ||||
|         with closing(open("platform-frontend-user-provided", "w")) as frontend_file: | ||||
|             frontend_file.write(self.frontend_user_provided) | ||||
|         with closing(open("platform-mpi-user-provided", "w")) as mpi_file: | ||||
|             mpi_file.write(self.mpi_user_provided)             | ||||
|  | ||||
|         # FIXME: Modify the configure line to suit your build system here. | ||||
|         configure("--prefix=%s" % prefix, | ||||
|                   "--with-custom-compilers", | ||||
|                   "--enable-shared") | ||||
|  | ||||
|         # FIXME: Add logic to build and install here | ||||
|   | ||||
| @@ -43,9 +43,9 @@ class Otf2(Package): | ||||
| MPI_CXXFLAGS=-fPIC | ||||
| """ | ||||
|  | ||||
|     @when('@:1.2') | ||||
|     @when('@:1.2.1') | ||||
|     def version_specific_args(self): | ||||
|         return ["--with-platform=disabled"] | ||||
|         return ["--with-platform=disabled", "CC=cc", "CXX=c++", "F77=f77", "F90=f90", "CFLAGS=-fPIC", "CXXFLAGS=-fPIC"] | ||||
|  | ||||
|     @when('@1.3:') | ||||
|     def version_specific_args(self): | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| # FIXME: Add copyright statement | ||||
|  | ||||
| from spack import * | ||||
| from contextlib import closing | ||||
|  | ||||
| class Scorep(Package): | ||||
|     """The Score-P measurement infrastructure is a highly scalable and  | ||||
| @@ -11,16 +12,56 @@ class Scorep(Package): | ||||
|     homepage = "http://www.vi-hps.org/projects/score-p" | ||||
|     url      = "http://www.vi-hps.org/upload/packages/scorep/scorep-1.2.3.tar.gz" | ||||
|  | ||||
|     version('1.3', '9db6f957b7f51fa01377a9537867a55c', | ||||
|             url = 'http://www.vi-hps.org/upload/packages/scorep/scorep-1.3.tar.gz') | ||||
|  | ||||
|     version('1.2.3', '4978084e7cbd05b94517aa8beaea0817') | ||||
|  | ||||
|     depends_on("mpi") | ||||
|     depends_on("papi") | ||||
|     depends_on("otf2@1.2:1.2.1")  | ||||
|     # depends_on("otf2@1.2:1.2.1") # only Score-P 1.2.x | ||||
|     depends_on("otf2")  | ||||
|     depends_on("opari2") | ||||
|     depends_on("cube") | ||||
|     depends_on("cube@4.2:4.2.3") | ||||
|  | ||||
|     backend_user_provided = """\ | ||||
| CC=cc | ||||
| CXX=c++ | ||||
| F77=f77 | ||||
| FC=f90 | ||||
| CFLAGS=-fPIC | ||||
| CXXFLAGS=-fPIC | ||||
| """ | ||||
|     frontend_user_provided = """\ | ||||
| CC_FOR_BUILD=cc | ||||
| CXX_FOR_BUILD=c++ | ||||
| F77_FOR_BUILD=f70 | ||||
| FC_FOR_BUILD=f90 | ||||
| CFLAGS_FOR_BUILD=-fPIC | ||||
| CXXFLAGS_FOR_BUILD=-fPIC | ||||
| """ | ||||
|     mpi_user_provided = """\ | ||||
| MPICC=mpicc | ||||
| MPICXX=mpicxx | ||||
| MPIF77=mpif77 | ||||
| MPIFC=mpif90 | ||||
| MPI_CFLAGS=-fPIC | ||||
| MPI_CXXFLAGS=-fPIC | ||||
| """ | ||||
|  | ||||
|     def install(self, spec, prefix): | ||||
|         # Use a custom compiler configuration, otherwise the score-p | ||||
|         # build system messes with spack's compiler settings. | ||||
|         # Create these three files in the build directory | ||||
|         with closing(open("platform-backend-user-provided", "w")) as backend_file: | ||||
|             backend_file.write(self.backend_user_provided) | ||||
|         with closing(open("platform-frontend-user-provided", "w")) as frontend_file: | ||||
|             frontend_file.write(self.frontend_user_provided) | ||||
|         with closing(open("platform-mpi-user-provided", "w")) as mpi_file: | ||||
|             mpi_file.write(self.mpi_user_provided)             | ||||
|  | ||||
|         configure_args = ["--prefix=%s" % prefix, | ||||
|                           "--with-custom-compilers", | ||||
|                           "--with-otf2=%s" % spec['otf2'].prefix.bin, | ||||
|                           "--with-opari2=%s" % spec['opari2'].prefix.bin, | ||||
|                           "--with-cube=%s" % spec['cube'].prefix.bin, | ||||
| @@ -28,13 +69,6 @@ def install(self, spec, prefix): | ||||
|                           "--with-papi-lib=%s" % spec['papi'].prefix.lib, | ||||
|                           "--enable-shared"] | ||||
|  | ||||
|         if spec.satisfies('%gcc'): | ||||
|             configure_args.append('--with-nocross-compiler-suite=gcc') | ||||
|         if spec.satisfies('%intel'): | ||||
|             configure_args.append('--with-nocross-compiler-suite=intel') | ||||
|         if spec.satisfies('%pgi'): | ||||
|             configure_args.append('--with-nocross-compiler-suite=pgi') | ||||
|  | ||||
|         configure(*configure_args) | ||||
|  | ||||
|         make() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 David Boehme
					David Boehme