Example #1
0
void op_exit()
{
  op_mpi_exit();
  op_rt_exit();
  op_exit_core();

  int flag = 0;
  MPI_Finalized(&flag);
  if(!flag)
    MPI_Finalize();
}
void op_exit(){
  for(int ip=0; ip<OP_plan_index; ip++) {
    for (int m=0; m<OP_plans[ip].nargs; m++)
      if (OP_plans[ip].loc_maps[m] != NULL)
        free(OP_plans[ip].loc_maps[m]);
    for (int m=0; m<OP_plans[ip].ninds; m++)
      free(OP_plans[ip].ind_maps[m]);
    free(OP_plans[ip].ind_offs);
    free(OP_plans[ip].ind_sizes);
    free(OP_plans[ip].nthrcol);
    free(OP_plans[ip].thrcol);
    free(OP_plans[ip].offset);
    free(OP_plans[ip].nelems);
    free(OP_plans[ip].blkmap);
  }

  op_exit_core();
}
Example #3
0
void op_exit()
{
  op_cuda_exit();            // frees dat_d memory
  op_rt_exit();              // frees plan memory
  op_exit_core();            // frees lib core variables
}
Example #4
0
void
op_exit (  )
{
  op_rt_exit (  );
  op_exit_core (  );
}