int main(int argc, char ** argv) { size_t i, j, k; size_t exp; if (argc != 2) { printf("usage: %s version_db\n", argv[0]); exit(-1); } sqlite3 * versions_db = acc_sqlite_open(argv[1], 1, 1); char * devices_name[1] = {argv[2]}; // Pre-open profile DB as in-memory DB acc_profiler = acc_profiler_build_profiler(); acc_profiling_get_db_file_names(); acc_profiler->db_file = acc_sqlite_open(acc_profiler->db_file_name, 1, 1); acc_profiling_init(); assert(acc_sqlite_table_exists(acc_profiler->db_file, "Runs")); assert(acc_sqlite_table_exists(acc_profiler->db_file, "Events")); struct acc_tuner_data_params_desc_t_ * data_params = acc_tuning_build_data_params(1, "n", e_sqlite_int); acc_tuning_init(1, devices_name, data_params, versions_db); acc_tuner_generate_performance_table(&eval_vectadd_performance); acc_sqlite_save(versions_db); acc_tuner_generate_performance_per_version_table(); acc_tuner_generate_performance_per_param_table(); acc_sqlite_save(versions_db); //acc_tuner_generate_performance_per_version_per_param_table(); acc_profiling_exit(); return 0; }
int acc_sqlite_create_table(sqlite3 * db, char * table_name, char * table_content) { assert(db != NULL && table_name != NULL && table_content != NULL); if (acc_sqlite_table_exists(db, table_name)) return 0; char * err_msg; char * query = malloc((20 + strlen(table_name) + strlen(table_content)) * sizeof(char)); sprintf(query, "CREATE TABLE %s ( %s );", table_name, table_content); int status = sqlite3_exec (db, query, NULL, 0, &err_msg); assert(status == SQLITE_OK); free(query); return 1; }