diff --git a/apps/benchmarks/UniformGridCPU/simulation_setup/benchmark_configs_RDM.py b/apps/benchmarks/UniformGridCPU/simulation_setup/benchmark_configs_RDM.py index a6b13fd80311701aa14520de267d27a9d5aae2ce..071d1b4e0afa9b2e18a2befacbda3709f1dd9f99 100644 --- a/apps/benchmarks/UniformGridCPU/simulation_setup/benchmark_configs_RDM.py +++ b/apps/benchmarks/UniformGridCPU/simulation_setup/benchmark_configs_RDM.py @@ -5,6 +5,7 @@ from waLBerla.tools.sqlitedb import sequenceValuesToScalars, checkAndUpdateSchem import sys import sqlite3 from pprint import pformat +from math import prod try: import machinestate as ms @@ -146,23 +147,13 @@ class Scenario: result = data sequenceValuesToScalars(result) num_tries = 4 - table_name = "runs" + table_name = f"CPU_runs_{data['stencil']}_{data['streamingPattern']}_{data['collisionSetup']}_{prod(self.blocks)}nodes_{'x'.join(map(str, self.cells_per_block))}cellsPerBlock" table_name = table_name.replace("-", "_") + table_name = table_name.replace(" ", "_") for num_try in range(num_tries): try: - # Check existing columns - conn = sqlite3.connect(self.db_file_name) - c = conn.cursor() - c.execute(f"PRAGMA table_info({table_name})") - existing_columns = [info[1] for info in c.fetchall()] - conn.close() - - # Filter out existing columns - new_columns = {k: v for k, v in result.items() if k not in existing_columns} - - if new_columns: - checkAndUpdateSchema(new_columns, table_name, self.db_file_name, alter_table=True) + checkAndUpdateSchema(result, table_name, self.db_file_name, alter_table=True) storeSingle(result, table_name, self.db_file_name) break except sqlite3.OperationalError as e: diff --git a/apps/benchmarks/UniformGridGPU/simulation_setup/benchmark_configs_RDM.py b/apps/benchmarks/UniformGridGPU/simulation_setup/benchmark_configs_RDM.py index 82222270efb25c18dc770fb0d6a3b72299d10098..74269c0bc86b40942f7153b1d0df0062983cc481 100755 --- a/apps/benchmarks/UniformGridGPU/simulation_setup/benchmark_configs_RDM.py +++ b/apps/benchmarks/UniformGridGPU/simulation_setup/benchmark_configs_RDM.py @@ -189,23 +189,13 @@ class Scenario: result = data sequenceValuesToScalars(result) num_tries = 4 - table_name = f"runs_{data['stencil']}_{data['streamingPattern']}_{data['collisionSetup']}_{prod(self.blocks)}" - table_name = table_name.replace("-", "_") # - not allowed for table name would lead to syntax error + table_name = f"GPU_runs_{data['stencil']}_{data['streamingPattern']}_{data['collisionSetup']}_{prod(self.blocks)}nodes_{'x'.join(map(str, self.cells_per_block))}cellsPerBlock" + table_name = table_name.replace("-", "_") + table_name = table_name.replace(" ", "_") for num_try in range(num_tries): try: - # Check existing columns - conn = sqlite3.connect(self.db_file_name) - c = conn.cursor() - c.execute(f"PRAGMA table_info({table_name})") - existing_columns = [info[1] for info in c.fetchall()] - conn.close() - - # Filter out existing columns - new_columns = {k: v for k, v in result.items() if k not in existing_columns} - - if new_columns: - checkAndUpdateSchema(new_columns, table_name, self.db_file_name, alter_table=True) + checkAndUpdateSchema(result, table_name, self.db_file_name, alter_table=True) storeSingle(result, table_name, self.db_file_name) break except sqlite3.OperationalError as e: