void SNetDistribFetchRef(snet_ref_t *ref) { mpi_buf_t buf = {0, 0, NULL}; SNetRefSerialise(ref, &buf); MPISendBuf(&buf, SNetRefNode(ref), snet_ref_fetch); SNetMemFree(buf.data); }
void SNetDistribFetchRef(snet_ref_t *ref) { mpi_buf_t buf = {0, 0, NULL}; SNetRefSerialise(ref, &buf, &PackInt, &PackByte); MPISend(buf.data, buf.offset, SNetRefNode(ref), snet_ref_fetch); SNetMemFree(buf.data); }
void SNetDistribUpdateRef(snet_ref_t *ref, int count) { mpi_buf_t buf = {0, 0, NULL}; SNetRefSerialise(ref, &buf); SNetDistribPack(&buf, &count, sizeof(count)); MPISendBuf(&buf, SNetRefNode(ref), snet_ref_update); SNetMemFree(buf.data); }
void SNetDistribUpdateRef(snet_ref_t *ref, int count) { mpi_buf_t buf = {0, 0, NULL}; SNetRefSerialise(ref, &buf, &PackInt, &PackByte); PackInt(&buf, 1, &count); MPISend(buf.data, buf.offset, SNetRefNode(ref), snet_ref_update); SNetMemFree(buf.data); }
void SNetDistribUpdateRef(snet_ref_t *ref, int count) { int node = SNetRefNode(ref); snet_comm_type_t type = snet_ref_update; start_write_node(node); cpy_mem_to_mpb(node, &type, sizeof(snet_comm_type_t)); SNetRefSerialise(ref, (void*) node, &PackInt, &PackByte); cpy_mem_to_mpb(node, &count, sizeof(int)); stop_write_node(node); }
void SNetDistribFetchRef(snet_ref_t *ref) { int node = SNetRefNode(ref); snet_comm_type_t type = snet_ref_fetch; start_write_node(node); cpy_mem_to_mpb(node, &type, sizeof(snet_comm_type_t)); SNetRefSerialise(ref, (void*) node, &PackInt, &PackByte); if (remap) { cpy_mem_to_mpb(node, &node_location, sizeof(node_location)); } else { lut_addr_t addr = SCCPtr2Addr(SCCMallocPtr(SNetRefAllocSize(ref))); cpy_mem_to_mpb(node, &addr, sizeof(lut_addr_t)); } stop_write_node(node); }