From 117b0e1cb9667fe209cd2eea7b6c5ac8014f09e4 Mon Sep 17 00:00:00 2001 From: Michael Zikeli <michael.zikeli@fau.de> Date: Fri, 7 Feb 2025 17:38:09 +0100 Subject: [PATCH] Improve verbosity of the data fileds and move the check for column duplication to the insert method in the python-sqlight library. --- .../simulation_setup/benchmark_configs_RDM.py | 17 ++++------------- .../simulation_setup/benchmark_configs_RDM.py | 18 ++++-------------- 2 files changed, 8 insertions(+), 27 deletions(-) diff --git a/apps/benchmarks/UniformGridCPU/simulation_setup/benchmark_configs_RDM.py b/apps/benchmarks/UniformGridCPU/simulation_setup/benchmark_configs_RDM.py index a6b13fd80..071d1b4e0 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 82222270e..74269c0bc 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: -- GitLab