/** Destroy all memory regions (called by finalize). * * @return Number of mem regions destroyed. */ int gmr_destroy_all(void) { int count = 0; while (gmr_list != NULL) { gmr_destroy(gmr_list, &gmr_list->group); count++; } return count; }
/** Free a shared memory allocation. Collective. * * @param[in] ptr Pointer to the local patch of the allocation */ int ARMCI_Free_group(void *ptr, ARMCI_Group *group) { gmr_t *mreg; if (ptr != NULL) { mreg = gmr_lookup(ptr, ARMCI_GROUP_WORLD.rank); ARMCII_Assert_msg(mreg != NULL, "Invalid shared pointer"); } else { ARMCII_Dbg_print(DEBUG_CAT_ALLOC, "given NULL\n"); mreg = NULL; } gmr_destroy(mreg, group); return 0; }