icetDataReplicationGroup(3)

✨ icetDataReplicationGroup β€” a lil page from the IceT Reference ✨

okay bestie, gather round, because we're talking about icetDataReplicationGroup(3) and honestly? it's giving "let's not do the same work twice" and I'm obsessed. πŸ’…

🌸 NAME 🌸

icetDataReplicationGroup β€” define data replication. yes that's it, that's the whole job, and she does it flawlessly. periodt. πŸ’–


πŸ¦‹ Synopsis πŸ¦‹

#include <IceT.h>

void icetDataReplicationGroup(   IceTInt           size,
                                 const IceTInt *   processes  );

look at her. two little args. no drama. πŸŽ€


✨ Description ✨

so here's the tea, bestie: IceT is highkey smart about geometry data that's replicated across processes. if a whole squad of processes is sharing the exact same geometry data, IceT will split up the region of the display that the data projects onto and hand out chunks to the processes in that squad. the result? the total amount of image composition work that needs to be done goes way down. less work, same picture, iconic behavior. πŸ”₯

each group gets declared by calling icetDataReplicationGroup and telling it which group of processes share geometry with the local process:

  • size β€” how many processes belong to the group, like literally how many. πŸ”’
  • processes β€” an array of ids of processes that belong to the group. πŸ“‹

and here's the non-negotiable part, the part where you do NOT get to freestyle: every process that belongs to a particular group must call icetDataReplicationGroup with the exact same list of processes, in the same order. same list, same order, no exceptions, that's the vibe check. 🫢

you can alternately use icetDataReplicationGroupColor to select data replication groups. another option, another slay. 🌈

by default? each process belongs to a group of size one, containing just the local process β€” i.e. there is no data replication. baby's first group. πŸ™ˆ


πŸ’€ Errors πŸ’€

  • ICET_INVALID_VALUE β€” processes does not contain the local process rank. like girl, you forgot yourself?? 😭

🌟 Warnings 🌟

None. nothing to warn you about, she's perfect. πŸ’œ


πŸŽ€ Bugs πŸŽ€

okay so this is the part where we're real with each other. 🫠

IceT assumes that icetDataReplicationGroup is called with the exact same parameters on all processes belonging to a given group. likewise, IceT also assumes that all processes have called icetBoundingVertices or icetBoundingBox with the exact same parameters on all processes belonging to a given group.

these requirements are not strictly enforced β€” but failing to do so may cause some of the geometry to not be rendered. so like, you can break the rules, and IceT won't yell at you, but your picture might just… lose pieces. main character risk. πŸ’€

Copyright (C)2003 Sandia Corporation

Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software.

This source code is released under the New BSD License.


🌈 See Also 🌈


and that's the whole page, bestie!! πŸ₯³ this was the IceT Reference, dated September 20, 2010 β€” yes she's an elder but she ATE and she's still serving. go forth, replicate your data responsibly, and remember: same list, same order, iykyk. πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ«Ά