예제 #1
0
void nsq_topology_release()
{
  CELL_TRACE(fprintf(stderr,"%d: nsq_topology_release:\n",this_node));
  /* free ghost cell pointer list */
  realloc_cellplist(&me_do_ghosts, 0);
  free_comm(&cell_structure.ghost_cells_comm);
  free_comm(&cell_structure.exchange_ghosts_comm);
  free_comm(&cell_structure.update_ghost_pos_comm);
  free_comm(&cell_structure.collect_ghost_force_comm);
}
예제 #2
0
void mpi_comm_free_(int* comm, int* ierr) {
  MPI_Comm tmp = get_comm(*comm);

  *ierr = MPI_Comm_free(&tmp);

  if(*ierr == MPI_SUCCESS) {
    free_comm(*comm);
  }
}
예제 #3
0
파일: comms.c 프로젝트: cosyacorn/project
void send_boundary_data(Field* f, Array* a){

	BoundaryComm * comm = init_comm(a);

	send(f, a, comm);
	pprintf("sent\n");
	MPI_Barrier(MPI_COMM_WORLD);
	unpack(f, a, comm);
	pprintf("received\n");
	MPI_Barrier(MPI_COMM_WORLD);
	free_comm(comm);
	pprintf("freed\n");
	MPI_Barrier(MPI_COMM_WORLD);
}
예제 #4
0
파일: pcu_msg.c 프로젝트: BijanZarif/core
bool pcu_msg_receive(pcu_msg* m)
{
  if ((m->state != send_recv_state)&&
      (m->state != recv_state))
    reel_fail("PCU_Comm_Receive called at the wrong time");
  if ( ! pcu_msg_unpacked(m))
    reel_fail("PCU_Comm_Receive called before previous message unpacked");
  if (receive_global(m))
  {
    pcu_begin_buffer(&(m->received.buffer));
    return true;
  }
  m->state = idle_state;
  free_comm(m);
  make_comm(m);
  return false;
}
예제 #5
0
파일: pcu_msg.c 프로젝트: BijanZarif/core
void pcu_free_msg(pcu_msg* m)
{
  free_comm(m);
  if (m->file)
    fclose(m->file);
}
int ompi_attr_free_predefined(void)
{
    int ret;

    if (OMPI_SUCCESS != (ret = free_comm(MPI_TAG_UB)) ||
        OMPI_SUCCESS != (ret = free_comm(MPI_HOST)) ||
        OMPI_SUCCESS != (ret = free_comm(MPI_IO)) ||
        OMPI_SUCCESS != (ret = free_comm(MPI_WTIME_IS_GLOBAL)) ||
        OMPI_SUCCESS != (ret = free_comm(MPI_APPNUM)) ||
        OMPI_SUCCESS != (ret = free_comm(MPI_LASTUSEDCODE)) ||
        OMPI_SUCCESS != (ret = free_comm(MPI_UNIVERSE_SIZE)) ||
        OMPI_SUCCESS != (ret = free_win(MPI_WIN_BASE)) ||
        OMPI_SUCCESS != (ret = free_win(MPI_WIN_SIZE)) ||
        OMPI_SUCCESS != (ret = free_win(MPI_WIN_DISP_UNIT)) ||
#if 0
        /* JMS For when we implement IMPI */
        OMPI_SUCCESS != (ret = free_comm(IMPI_CLIENT_SIZE)) ||
        OMPI_SUCCESS != (ret = free_comm(IMPI_CLIENT_COLOR)) ||
        OMPI_SUCCESS != (ret = free_comm(IMPI_HOST_SIZE)) ||
        OMPI_SUCCESS != (ret = free_comm(IMPI_HOST_COLOR)) ||
#endif
        0) {
        return ret;
    }
    return OMPI_SUCCESS;
}