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;
}
Esempio n. 2
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;
}