diff --git a/README.md b/README.md index 9f282ea..c1b34e2 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This example illustrates how `starbench` is used at IPR (Institut de Physique de usage: ```sh -20241007-15:08:10 graffy@graffy-ws2:~/work/starbench/starbench.git$ rsync --exclude .git --exclude starbench.venv --exclude tmp --exclude usecases/ipr/hibench/results -va ./ graffy@alambix.ipr.univ-rennes.fr:/opt/ipr/cluster/work.global/graffy/starbench.git/ +20241007-15:08:10 graffy@graffy-ws2:~/work/starbench/starbench.git$ rsync --exclude .git --exclude starbench.venv --exclude tmp --exclude usecases/ipr/hibridon/results -va ./ graffy@alambix.ipr.univ-rennes.fr:/opt/ipr/cluster/work.global/graffy/starbench.git/ sending incremental file list sent 1,416 bytes received 25 bytes 960.67 bytes/sec @@ -131,35 +131,35 @@ iprbench-run --benchmark-id 'mamul1' --config '{"compiler_id": "gfortran", "matr ## launch benchmark jobs on alambix cluster ```sh -(iprbench.venv) graffy@alambix-frontal:/opt/ipr/cluster/work.local/graffy/bug3372$ hibenchonphysix --commit-id 53894da48505892bfa05693a52312bacb12c70c9 --results-dir $GLOBAL_WORK_DIR/graffy/hibridon/benchmarks/starbench/hibench/$(date --iso=seconds) --arch-regexp 'intel_xeon_x5650' --cmake-path /usr/bin/cmake +(iprbench.venv) graffy@alambix-frontal:/opt/ipr/cluster/work.local/graffy/bug3372$ hibridononphysix --commit-id 53894da48505892bfa05693a52312bacb12c70c9 --results-dir $GLOBAL_WORK_DIR/graffy/hibridon/benchmarks/starbench/hibridon/$(date --iso=seconds) --arch-regexp 'intel_xeon_x5650' --cmake-path /usr/bin/cmake INFO:root:available host groups: dict_keys(['intel_xeon_x5550', 'intel_xeon_x5650', 'intel_xeon_e5-2660', 'intel_xeon_e5-2660v2', 'intel_xeon_e5-2660v4', 'intel_xeon_gold_6140', 'intel_xeon_gold_6154', 'intel_xeon_gold_5220', 'intel_xeon_gold_6226r', 'intel_xeon_gold_6248r', 'intel_xeon_gold_6348', 'amd_epyc_7282', 'amd_epyc_7452']) INFO:root:requested host groups: ['intel_xeon_x5650'] INFO:root:using test arch4_quick for benchmarking -INFO:root:creating /opt/ipr/cluster/work.global/graffy/hibridon/benchmarks/starbench/hibench/2024-10-10T12:11:44+02:00/iprbench.venv.tgz (the virtual environment that will be used in this bench by all its jobs at some point) +INFO:root:creating /opt/ipr/cluster/work.global/graffy/hibridon/benchmarks/starbench/hibridon/2024-10-10T12:11:44+02:00/iprbench.venv.tgz (the virtual environment that will be used in this bench by all its jobs at some point) Collecting virtualenv-clone Using cached virtualenv_clone-0.5.7-py3-none-any.whl (6.6 kB) Installing collected packages: virtualenv-clone Successfully installed virtualenv-clone-0.5.7 -DEBUG:root:command = /opt/ipr/cluster/work.global/graffy/hibridon/benchmarks/starbench/hibench/2024-10-10T12:11:44+02:00/53894da48505892bfa05693a52312bacb12c70c9/arch4_quick/intel_xeon_x5650/gfortran/starbench.job "https://github.com/hibridon/hibridon" "g-raffy" "/mnt/home.ipr/graffy/.github/personal_access_tokens/bench.hibridon.cluster.ipr.univ-rennes1.fr.pat" "53894da48505892bfa05693a52312bacb12c70c9" "-DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DCMAKE_Fortran_COMPILER=gfortran" "ctest --output-on-failure -L ^arch4_quick$" "" "/usr/bin/cmake" -DEBUG:root:qsub_command = qsub -pe smp 12 -l "hostname=alambix50.ipr.univ-rennes.fr" -S /bin/bash -cwd -m ae -l mem_available=1G -j y -N hibench_intel_xeon_x5650_gfortran_53894da48505892bfa05693a52312bacb12c70c9 /opt/ipr/cluster/work.global/graffy/hibridon/benchmarks/starbench/hibench/2024-10-10T12:11:44+02:00/53894da48505892bfa05693a52312bacb12c70c9/arch4_quick/intel_xeon_x5650/gfortran/starbench.job "https://github.com/hibridon/hibridon" "g-raffy" "/mnt/home.ipr/graffy/.github/personal_access_tokens/bench.hibridon.cluster.ipr.univ-rennes1.fr.pat" "53894da48505892bfa05693a52312bacb12c70c9" "-DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DCMAKE_Fortran_COMPILER=gfortran" "ctest --output-on-failure -L ^arch4_quick$" "" "/usr/bin/cmake" -Your job 17357 ("hibench_intel_xeon_x5650_gfortran_53894da48505892bfa05693a52312bacb12c70c9") has been submitted +DEBUG:root:command = /opt/ipr/cluster/work.global/graffy/hibridon/benchmarks/starbench/hibridon/2024-10-10T12:11:44+02:00/53894da48505892bfa05693a52312bacb12c70c9/arch4_quick/intel_xeon_x5650/gfortran/starbench.job "https://github.com/hibridon/hibridon" "g-raffy" "/mnt/home.ipr/graffy/.github/personal_access_tokens/bench.hibridon.cluster.ipr.univ-rennes1.fr.pat" "53894da48505892bfa05693a52312bacb12c70c9" "-DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DCMAKE_Fortran_COMPILER=gfortran" "ctest --output-on-failure -L ^arch4_quick$" "" "/usr/bin/cmake" +DEBUG:root:qsub_command = qsub -pe smp 12 -l "hostname=alambix50.ipr.univ-rennes.fr" -S /bin/bash -cwd -m ae -l mem_available=1G -j y -N hibridon_intel_xeon_x5650_gfortran_53894da48505892bfa05693a52312bacb12c70c9 /opt/ipr/cluster/work.global/graffy/hibridon/benchmarks/starbench/hibridon/2024-10-10T12:11:44+02:00/53894da48505892bfa05693a52312bacb12c70c9/arch4_quick/intel_xeon_x5650/gfortran/starbench.job "https://github.com/hibridon/hibridon" "g-raffy" "/mnt/home.ipr/graffy/.github/personal_access_tokens/bench.hibridon.cluster.ipr.univ-rennes1.fr.pat" "53894da48505892bfa05693a52312bacb12c70c9" "-DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DCMAKE_Fortran_COMPILER=gfortran" "ctest --output-on-failure -L ^arch4_quick$" "" "/usr/bin/cmake" +Your job 17357 ("hibridon_intel_xeon_x5650_gfortran_53894da48505892bfa05693a52312bacb12c70c9") has been submitted INFO:root:using test arch4_quick for benchmarking -INFO:root:skipping the creation of /opt/ipr/cluster/work.global/graffy/hibridon/benchmarks/starbench/hibench/2024-10-10T12:11:44+02:00/iprbench.venv.tgz because it already exists (probably created for other jobs of the same bench) -DEBUG:root:command = /opt/ipr/cluster/work.global/graffy/hibridon/benchmarks/starbench/hibench/2024-10-10T12:11:44+02:00/53894da48505892bfa05693a52312bacb12c70c9/arch4_quick/intel_xeon_x5650/ifort/starbench.job "https://github.com/hibridon/hibridon" "g-raffy" "/mnt/home.ipr/graffy/.github/personal_access_tokens/bench.hibridon.cluster.ipr.univ-rennes1.fr.pat" "53894da48505892bfa05693a52312bacb12c70c9" "-DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DCMAKE_Fortran_COMPILER=ifort -DBLA_VENDOR=Intel10_64lp" "ctest --output-on-failure -L ^arch4_quick$" "module load compilers/ifort/latest" "/usr/bin/cmake" -DEBUG:root:qsub_command = qsub -pe smp 12 -l "hostname=alambix50.ipr.univ-rennes.fr" -S /bin/bash -cwd -m ae -l mem_available=1G -j y -N hibench_intel_xeon_x5650_ifort_53894da48505892bfa05693a52312bacb12c70c9 /opt/ipr/cluster/work.global/graffy/hibridon/benchmarks/starbench/hibench/2024-10-10T12:11:44+02:00/53894da48505892bfa05693a52312bacb12c70c9/arch4_quick/intel_xeon_x5650/ifort/starbench.job "https://github.com/hibridon/hibridon" "g-raffy" "/mnt/home.ipr/graffy/.github/personal_access_tokens/bench.hibridon.cluster.ipr.univ-rennes1.fr.pat" "53894da48505892bfa05693a52312bacb12c70c9" "-DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DCMAKE_Fortran_COMPILER=ifort -DBLA_VENDOR=Intel10_64lp" "ctest --output-on-failure -L ^arch4_quick$" "module load compilers/ifort/latest" "/usr/bin/cmake" -Your job 17358 ("hibench_intel_xeon_x5650_ifort_53894da48505892bfa05693a52312bacb12c70c9") has been submitted +INFO:root:skipping the creation of /opt/ipr/cluster/work.global/graffy/hibridon/benchmarks/starbench/hibridon/2024-10-10T12:11:44+02:00/iprbench.venv.tgz because it already exists (probably created for other jobs of the same bench) +DEBUG:root:command = /opt/ipr/cluster/work.global/graffy/hibridon/benchmarks/starbench/hibridon/2024-10-10T12:11:44+02:00/53894da48505892bfa05693a52312bacb12c70c9/arch4_quick/intel_xeon_x5650/ifort/starbench.job "https://github.com/hibridon/hibridon" "g-raffy" "/mnt/home.ipr/graffy/.github/personal_access_tokens/bench.hibridon.cluster.ipr.univ-rennes1.fr.pat" "53894da48505892bfa05693a52312bacb12c70c9" "-DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DCMAKE_Fortran_COMPILER=ifort -DBLA_VENDOR=Intel10_64lp" "ctest --output-on-failure -L ^arch4_quick$" "module load compilers/ifort/latest" "/usr/bin/cmake" +DEBUG:root:qsub_command = qsub -pe smp 12 -l "hostname=alambix50.ipr.univ-rennes.fr" -S /bin/bash -cwd -m ae -l mem_available=1G -j y -N hibridon_intel_xeon_x5650_ifort_53894da48505892bfa05693a52312bacb12c70c9 /opt/ipr/cluster/work.global/graffy/hibridon/benchmarks/starbench/hibridon/2024-10-10T12:11:44+02:00/53894da48505892bfa05693a52312bacb12c70c9/arch4_quick/intel_xeon_x5650/ifort/starbench.job "https://github.com/hibridon/hibridon" "g-raffy" "/mnt/home.ipr/graffy/.github/personal_access_tokens/bench.hibridon.cluster.ipr.univ-rennes1.fr.pat" "53894da48505892bfa05693a52312bacb12c70c9" "-DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON -DCMAKE_Fortran_COMPILER=ifort -DBLA_VENDOR=Intel10_64lp" "ctest --output-on-failure -L ^arch4_quick$" "module load compilers/ifort/latest" "/usr/bin/cmake" +Your job 17358 ("hibridon_intel_xeon_x5650_ifort_53894da48505892bfa05693a52312bacb12c70c9") has been submitted ``` -`hibenchonphysix` script launches two `sge` jobs for each machine type in `alambix` cluster: +`hibridononphysix` script launches two `sge` jobs for each machine type in `alambix` cluster: - one job that performs a benchmark of hibridon with `gfortran` compiler - one job that performs a benchmark of hibridon with `ifort` compiler -When the job successfully completes, it puts the results of the benchmark on `alambix`'s global work directory (eg `/opt/ipr/cluster/work.global/graffy/hibridon/benchmarks/starbench/hibench/2024-10-10T12:11:44+02:00/53894da48505892bfa05693a52312bacb12c70c9/arch4_quick/intel_xeon_x5650/gfortran`) +When the job successfully completes, it puts the results of the benchmark on `alambix`'s global work directory (eg `/opt/ipr/cluster/work.global/graffy/hibridon/benchmarks/starbench/hibridon/2024-10-10T12:11:44+02:00/53894da48505892bfa05693a52312bacb12c70c9/arch4_quick/intel_xeon_x5650/gfortran`) ## graph the results of benchmarks -`showresults` is a command line tool that graphs the results after they've been downloaded from the results directory (for example `/opt/ipr/cluster/work.global/graffy/hibridon/benchmarks/starbench/hibench/2024-10-10T12:11:44+02:00`) to the hardcoded (at the moment) path `/home/graffy/work/starbench/starbench.git/usecases/ipr/hibench/results` +`showresults` is a command line tool that graphs the results after they've been downloaded from the results directory (for example `/opt/ipr/cluster/work.global/graffy/hibridon/benchmarks/starbench/hibridon/2024-10-10T12:11:44+02:00`) to the hardcoded (at the moment) path `/home/graffy/work/starbench/starbench.git/usecases/ipr/hibridon/results` ```sh 20241010-16:30:54 graffy@graffy-ws2:~/work/starbench/iprbench.git$ showresults diff --git a/iprbench/benchmarks/hibench.py b/iprbench/benchmarks/hibridon.py similarity index 97% rename from iprbench/benchmarks/hibench.py rename to iprbench/benchmarks/hibridon.py index be4c31b..4458855 100644 --- a/iprbench/benchmarks/hibench.py +++ b/iprbench/benchmarks/hibridon.py @@ -8,7 +8,7 @@ from ..util import get_proxy_env_vars from starbench.core import StarbenchResults -class HiBench(IBenchmark): +class HibrindoBenchmark(IBenchmark): """Hibridon benchmark using starbench """ @@ -29,7 +29,7 @@ class HiBench(IBenchmark): out_params.append(BenchParam('duration_max', BenchParam.Type.PARAM_TYPE_FLOAT, 'the max duration of one matrix multiplication, in seconds')) out_params.append(BenchParam('num_threads_per_run', BenchParam.Type.PARAM_TYPE_INT, 'the number of cores to use by each concurrent run of the app (must be a divider of num_cores)')) - super().__init__(bench_id='hibench', bench_params=bench_params, out_params=out_params, common_params=common_params) + super().__init__(bench_id='hibridon', bench_params=bench_params, out_params=out_params, common_params=common_params) def get_ram_requirements(self, config: BenchmarkConfig) -> int: GIBIBYTE_TO_BYTE = 1024 * 1024 * 1024 diff --git a/iprbench/benchmarks/showresults.py b/iprbench/benchmarks/showresults.py index 48feda7..f6d0a69 100755 --- a/iprbench/benchmarks/showresults.py +++ b/iprbench/benchmarks/showresults.py @@ -146,7 +146,7 @@ class HibenchResultsParser(): @staticmethod def parse_bench_stdout(bench_stdout_file_path: Path) -> Duration: """ - bench_stdout_file_path: eg '/home/graffy/work/starbench/starbench.git/usecases/ipr/hibench/results/53894da48505892bfa05693a52312bacb12c70c9/nh3h2_qma_long/intel_xeon_x5550/ifort/worker000/bench_stdout.txt' + bench_stdout_file_path: eg '/home/graffy/work/starbench/starbench.git/usecases/ipr/hibridon/results/53894da48505892bfa05693a52312bacb12c70c9/nh3h2_qma_long/intel_xeon_x5550/ifort/worker000/bench_stdout.txt' """ duration = None with open(bench_stdout_file_path, 'rt', encoding='utf8') as f: @@ -159,7 +159,7 @@ class HibenchResultsParser(): @staticmethod def parse_job_stdout(job_stdout_file_path: Path) -> Dict[str, Any]: - """ parses files such as /home/graffy/work/starbench/starbench.git/usecases/ipr/hibench/results/53894da48505892bfa05693a52312bacb12c70c9/nh3h2_qma_long/intel_xeon_e5-2660/gfortran/hibench_intel_xeon_e5-2660_gfortran_53894da48505892bfa05693a52312bacb12c70c9.o146192 + """ parses files such as /home/graffy/work/starbench/starbench.git/usecases/ipr/hibridon/results/53894da48505892bfa05693a52312bacb12c70c9/nh3h2_qma_long/intel_xeon_e5-2660/gfortran/hibridon_intel_xeon_e5-2660_gfortran_53894da48505892bfa05693a52312bacb12c70c9.o146192 """ host_fqdn = None job_id = None @@ -230,7 +230,7 @@ class HibenchResultsParser(): for child_path in compiler_path.iterdir(): if not child_path.is_dir(): - if re.match(r'^hibench_[^.]+\.o[0-9]+$', child_path.name): + if re.match(r'^hibridon_[^.]+\.o[0-9]+$', child_path.name): job_stdout_file_path = child_path job_data = HibenchResultsParser.parse_job_stdout(job_stdout_file_path) host_fqdn = job_data['host_fqdn'] @@ -274,7 +274,7 @@ def create_graph(sql_engine, per_clock: bool): computation_id = 'nh3h2_qma_long' commit_ids = set() - result = conn.execute(text('SELECT "cpu-id", "avg-duration", "commit-id" FROM hibench WHERE blas="mkl"')) + result = conn.execute(text('SELECT "cpu-id", "avg-duration", "commit-id" FROM hibridon WHERE blas="mkl"')) for row in result: print(row) (cpu_id, avg_duration, commit_id) = row @@ -381,16 +381,16 @@ def create_graphs(sql_engine): def main(): - # 20240927-20:03:18 graffy@graffy-ws2:~/work/starbench/starbench.git$ rsync -va graffy@physix.ipr.univ-rennes1.fr:/opt/ipr/cluster/work.global/graffy/hibridon/benchmarks/starbench/ ./usecases/ipr/hibench/results/ - hiperf = HibenchResultsParser.parse_results(Path('/home/graffy/work/starbench/starbench.git/usecases/ipr/hibench/results')) - hiperf.to_csv('/home/graffy/work/starbench/starbench.git/usecases/ipr/hibench/results.csv') + # 20240927-20:03:18 graffy@graffy-ws2:~/work/starbench/starbench.git$ rsync -va graffy@physix.ipr.univ-rennes1.fr:/opt/ipr/cluster/work.global/graffy/hibridon/benchmarks/starbench/ ./usecases/ipr/hibridon/results/ + hiperf = HibenchResultsParser.parse_results(Path('/home/graffy/work/starbench/starbench.git/usecases/ipr/hibridon/results')) + hiperf.to_csv('/home/graffy/work/starbench/starbench.git/usecases/ipr/hibridon/results.csv') print(hiperf) engine = create_engine('sqlite://', echo=False) # Turning echo to True just logs SQL statements, I'd avoid parsing this logs # hiperf.to_sql(name='Auto', con=engine) - # hiperf.reset_index().to_sql(name='hibench', con=engine) # reset_index() is needed to preserve index column in dumped data - hiperf.to_sql(name='hibench', con=engine) # reset_index() is needed to preserve index column in dumped data + # hiperf.reset_index().to_sql(name='hibridon', con=engine) # reset_index() is needed to preserve index column in dumped data + hiperf.to_sql(name='hibridon', con=engine) # reset_index() is needed to preserve index column in dumped data - with engine.connect() as conn, open('/home/graffy/work/starbench/starbench.git/usecases/ipr/hibench/results.sql', 'wt', encoding='utf8') as sql_file: + with engine.connect() as conn, open('/home/graffy/work/starbench/starbench.git/usecases/ipr/hibridon/results.sql', 'wt', encoding='utf8') as sql_file: for line in conn.connection.iterdump(): sql_file.write(line) sql_file.write('\n') diff --git a/iprbench/clusterbench.py b/iprbench/clusterbench.py index 4b00ffc..a76466b 100755 --- a/iprbench/clusterbench.py +++ b/iprbench/clusterbench.py @@ -71,7 +71,7 @@ class ClusterNodeDb: def __init__(self, cluster_id: ClusterId = 'alambix'): self.cluster_nodes_defs = [] - include_multiqueue_nodes = False # at the moment hibench only works on nodes that have all their cores in the same queue + include_multiqueue_nodes = False # at the moment hibridon only works on nodes that have all their cores in the same queue if cluster_id == 'alambix': self.add_cluster_node_def(ClusterNodeDef('alambix50.ipr.univ-rennes.fr', 'intel_xeon_x5650', 2)) if include_multiqueue_nodes: @@ -319,7 +319,7 @@ def launch_job_for_host_group(benchmark: IBenchmark, benchmark_config: Benchmark } logging.debug('tags_dict = %s', str(tags_dict)) with importlib.resources.path('iprbench.resources', 'clusterbench-template.job') as job_template_path: - # job_template_path = importlib.resources..files('iprbench.resources') / 'hibench' / 'starbench-template.job' + # job_template_path = importlib.resources..files('iprbench.resources') / 'hibridon' / 'starbench-template.job' substitute_tags(input_file_path=job_template_path, tags_dict=tags_dict, output_file_path=starbench_job_path) subprocess.run(['chmod', 'a+x', starbench_job_path], check=True) @@ -334,7 +334,7 @@ def launch_job_for_host_group(benchmark: IBenchmark, benchmark_config: Benchmark qsub_args += ['-m', 'ae'] qsub_args += ['-l', f'mem_available={ram_per_core}'] qsub_args += ['-j', 'y'] # merge stderr file into stdout file for easier reading of history of events - qsub_args += ['-N', f'hibench_{host_group_id}'] + qsub_args += ['-N', f'hibridon_{host_group_id}'] logging.debug('qsub_args = %s', str(qsub_args)) @@ -346,7 +346,7 @@ def launch_job_for_host_group(benchmark: IBenchmark, benchmark_config: Benchmark def launch_perf_jobs(benchmark: IBenchmark, benchmark_config: BenchmarkConfig, results_dir: Path, cluster: ICluster, arch_regexp: str, resultsdb_params: ResultsDbParams, target_system_type_id: HostTypeId): """ - results_dir: where the results of the benchmark are stored (eg $GLOBAL_WORK_DIR/graffy/benchmarks/hibench) + results_dir: where the results of the benchmark are stored (eg $GLOBAL_WORK_DIR/graffy/benchmarks/hibridon) """ cluster_db = ClusterNodeDb() @@ -371,7 +371,7 @@ def main(): arg_parser = argparse.ArgumentParser(description='submits a benchmark on the compute cluster (assuming this is running from a sge cluster machine where qsub command is available)', epilog=example_text, formatter_class=argparse.RawDescriptionHelpFormatter) arg_parser.add_argument('--cluster-id', type=ClusterId, required=True, help='the identifier of cluster on which to submit the benchmark eg (\'dummy\', \'alambix\', etc.)') arg_parser.add_argument('--benchmark-id', type=BenchmarkId, required=True, help='the benchmark id of the benchmark to perform (eg mamul1)') - arg_parser.add_argument('--results-dir', type=Path, required=True, help='the root directory of the tree where the results of the benchmarks are stored (eg $GLOBAL_WORK_DIR/graffy/benchmarks/hibench)') + arg_parser.add_argument('--results-dir', type=Path, required=True, help='the root directory of the tree where the results of the benchmarks are stored (eg $GLOBAL_WORK_DIR/graffy/benchmarks/hibridon)') arg_parser.add_argument('--config', type=str, default='cmake', help='the benchmark configuration in json format, eg {"compiler_id": "gfortran", "matrix_size": 1024}') arg_parser.add_argument('--arch-regexp', type=str, default='.*', help='the regular expression for the architectures the benchmark is allowed to run on (eg "intel_xeon_.*"). By defauls, all available architectures are allowed.') arg_parser.add_argument('--resultsdb-params', type=str, required=True, help='the resultsdb configuration in json format, eg {"type": "tsv-files", "tsv_results_dir": "/tmp/toto"}') diff --git a/iprbench/main.py b/iprbench/main.py index 454d4c1..da7cf52 100644 --- a/iprbench/main.py +++ b/iprbench/main.py @@ -5,7 +5,7 @@ from pathlib import Path import json from .core import BenchmarkId, IBenchmark, ResultsDbFactory, BenchParam from .targethosts import DebianHost, IprClusterNode -from .benchmarks.hibench import HiBench +from .benchmarks.hibridon import HibridonBenchmark from .benchmarks.mamul1 import MaMul1 from .resultsdb.tsvresultsdb import TsvResultsDbCreator from .resultsdb.sqlresultsdb import SqliteResultsDbCreator, SqlServerResultsDbCreator @@ -20,7 +20,7 @@ class BenchmarkFactory(metaclass=Singleton): def create_benchmark(self, bench_id: BenchmarkId, common_params: List[BenchParam]) -> IBenchmark: benchmark = { - 'hibench': HiBench(common_params), + 'hibridon': HibridonBenchmark(common_params), 'mamul1': MaMul1(common_params) }[bench_id] return benchmark @@ -40,7 +40,7 @@ def main(): arg_parser = argparse.ArgumentParser(description='executes a benchmark in a cluster job environment', epilog=example_text, formatter_class=argparse.RawDescriptionHelpFormatter) arg_parser.add_argument('--benchmark-id', type=BenchmarkId, required=True, help='the benchmark id of the benchmark to perform (eg mamul1)') - arg_parser.add_argument('--results-dir', type=Path, required=True, help='the root directory of the tree where the results of the benchmarks are stored (eg $GLOBAL_WORK_DIR/graffy/benchmarks/hibench)') + arg_parser.add_argument('--results-dir', type=Path, required=True, help='the root directory of the tree where the results of the benchmarks are stored (eg $GLOBAL_WORK_DIR/graffy/benchmarks/hibridon)') arg_parser.add_argument('--config', type=str, required=True, help='the benchmark configuration in json format, eg {"compiler_id": "gfortran", "matrix_size": 1024}') arg_parser.add_argument('--resultsdb-params', type=str, required=True, help='the resultsdb configuration in json format, eg {"type": "tsv-files", "tsv_results_dir": "/tmp/toto"}') arg_parser.add_argument('--target-system-type-id', type=str, required=True, help='id of the operating system type to use. This is used to get the list installed packages, how to activate them, etc, eg "debian", "fr.univ-rennes.ipr.cluster-node".') diff --git a/iprbench/version.py b/iprbench/version.py index b459ff2..4c744de 100644 --- a/iprbench/version.py +++ b/iprbench/version.py @@ -1 +1 @@ -__version__ = '0.0.12' +__version__ = '0.0.13' diff --git a/test/test_benchmarks.py b/test/test_benchmarks.py index 6e57f3e..7dca13e 100644 --- a/test/test_benchmarks.py +++ b/test/test_benchmarks.py @@ -49,8 +49,8 @@ class BenchmarksTestCase(unittest.TestCase): } test_benchmark(benchmark_id, benchmark_config, self.results_root_dir) - def test_hibench(self): - benchmark_id = 'hibench' + def test_hibridon(self): + benchmark_id = 'hibridon' benchmark_config = { 'fortran_compiler': 'gfortran:', 'blas_library': ':',