Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
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);
}
Exemplo n.º 3
0
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);
}
Exemplo n.º 4
0
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);
}
Exemplo n.º 5
0
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);
}
Exemplo n.º 6
0
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);
}