Source code for benchbuild.projects.benchbuild.lulesh

from plumbum import local

from benchbuild import project
from benchbuild.utils import compiler, download, wrapping


[docs]@download.with_git("https://github.com/LLNL/LULESH/", limit=5) class Lulesh(project.Project): """ LULESH, Serial """ NAME = 'lulesh' DOMAIN = 'scientific' GROUP = 'benchbuild' SRC_FILE = 'lulesh.git' VERSION = 'HEAD'
[docs] def compile(self): self.download() self.cflags += ["-DUSE_MPI=0"] cxx_files = local.cwd / self.src_file // "*.cc" clang = compiler.cxx(self) with local.cwd(self.src_file): for src_file in cxx_files: clang("-c", "-o", src_file + '.o', src_file) obj_files = local.cwd / self.src_file // "*.cc.o" with local.cwd(self.src_file): clang(obj_files, "-lm", "-o", "../lulesh")
[docs] def run_tests(self, runner): lulesh = wrapping.wrap("lulesh", self) for i in range(1, 15): runner(lulesh["-i", i])
[docs]@download.with_git("https://github.com/LLNL/LULESH/", limit=5) class LuleshOMP(project.Project): """ LULESH, OpenMP """ NAME = 'lulesh-omp' DOMAIN = 'scientific' GROUP = 'benchbuild' SRC_FILE = 'lulesh.git' VERSION = 'HEAD'
[docs] def compile(self): self.download() self.cflags = ['-DUSE_MPI=0', '-fopenmp'] cxx_files = local.cwd / self.src_file // "*.cc" clang = compiler.cxx(self) with local.cwd(self.src_file): for src_file in cxx_files: clang("-c", "-o", src_file + '.o', src_file) obj_files = local.cwd / self.src_file // "*.cc.o" with local.cwd(self.src_file): clang(obj_files, "-lm", "-o", "../lulesh")
[docs] def run_tests(self, runner): lulesh = wrapping.wrap("lulesh", self) for i in range(1, 15): runner(lulesh["-i", i])