From 9c8a75ff9c567e7a6fad30e47c6858125dec238d Mon Sep 17 00:00:00 2001 From: kjrstory Date: Fri, 24 Dec 2021 10:52:59 +0900 Subject: npb package: add version 3.4.1 (#28122) * The Class F problem has been added to seven of the benchmarks (BT, SP, LU, CG, MG, FT, and EP). * The Class E problem has been added to the IS benchmark. * In version 3.4.1, 'the number of processes' option does not apply. * MPIFC and FC flags were added. --- var/spack/repos/builtin/packages/npb/package.py | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/npb/package.py b/var/spack/repos/builtin/packages/npb/package.py index 9dd5ab5185..cb4059055b 100644 --- a/var/spack/repos/builtin/packages/npb/package.py +++ b/var/spack/repos/builtin/packages/npb/package.py @@ -32,6 +32,7 @@ class Npb(MakefilePackage): url = "https://www.nas.nasa.gov/assets/npb/NPB3.3.1.tar.gz" version('3.3.1', sha256='4a8ea679b1df69f583c544c47198b3c26a50ec2bb6f8f69aef66c04c9a747d2d') + version('3.4.1', sha256='f3a43467da6e84a829ea869156d3ea86c17932136bb413a4b6dab23018a28881') # Valid Benchmark Names valid_names = ( @@ -52,7 +53,7 @@ class Npb(MakefilePackage): 'W', # Workstation size 'A', 'B', 'C', # standard test problems # ~4X size increase going from one class to the next - 'D', 'E', # large test problems + 'D', 'E', 'F' # large test problems # ~16X size increase from each of the previous classes ) @@ -117,6 +118,7 @@ class Npb(MakefilePackage): if 'implementation=mpi' in spec: definitions = { # Parallel Fortran + 'MPIFC': spec['mpi'].mpifc, 'MPIF77': spec['mpi'].mpif77, 'FLINK': spec['mpi'].mpif77, 'FMPI_LIB': spec['mpi'].libs.ld_flags, @@ -138,6 +140,7 @@ class Npb(MakefilePackage): elif 'implementation=openmp' in spec: definitions = { # Parallel Fortran + 'FC': spack_fc, 'F77': spack_f77, 'FLINK': spack_f77, 'F_LIB': '', @@ -189,15 +192,20 @@ class Npb(MakefilePackage): with open('config/suite.def', 'w') as suite_def: for name in names: for classname in classes: - # Classes C, D and E are not available for DT - if name == 'dt' and classname in ('C', 'D', 'E'): + # Classes C, D, E and F are not available for DT + if name == 'dt' and classname in ('C', 'D', 'E', 'F'): continue - # Class E is not available for IS - if name == 'is' and classname == 'E': - continue + # Class E, F is not available for IS at @3.3.1 + # Class F is not available for IS at @3.4.1 + if name == 'is': + if classname == 'E': + if spec.satisfies('@3.3.1'): + continue + if classname == 'F': + continue - if 'implementation=mpi' in spec: + if 'implementation=mpi' in spec and spec.satisfies('@3.3.1'): for nproc in nprocs: suite_def.write('{0}\t{1}\t{2}\n'.format( name, classname, nproc)) -- cgit v1.2.3-70-g09d2