icetSingleImageStrategy(3)
π icetSingleImageStrategy(3) π
okay bestie, welcome to the IceT Reference β this is manual section 3, the library-calls zone, and we're talking about icetSingleImageStrategy. yes it's a long name. yes it's iconic. let's go π«Ά
β¨ NAME β¨
icetSingleImageStrategy β sets the sub-strategy used to composite the image for a single tile. that's it. that's the whole job. tiny function, big responsibilities π
πΈ Synopsis πΈ
#include <IceT.h>
void icetSingleImageStrategy( IceTEnum strategy );
π¦ Description π¦
so here's the tea. the main IceT algorithms are specially designed to composite data that's defined on multiple tiles. and some of those algorithms β specifically ICET_STRATEGY_REDUCE and ICET_STRATEGY_SEQUENTIAL β do at least part of their work by compositing <em>single images</em> together. like, that's their whole bit.
and because IceT is a generous queen π, it ships with multiple separate strategies for doing that single-image compositing. icetSingleImageStrategy is how you pick which one you want. main character energy, honestly.
you choose from one of these provided enumerated values:
ICET_SINGLE_IMAGE_STRATEGY_AUTOMATICβ it literally just picks for you β¨ it decides which single image strategy to use based on the number of processes participating in the composition. let it cook.ICET_SINGLE_IMAGE_STRATEGY_BSWAPβ the classic binary swap compositing algorithm. the vintage. the original. at each phase of the algorithm, every process partners up with another one, sends half of its image to its partner, and receives the opposite half from its partner. then the processes get partitioned into two groups that each have the same image part, and the whole thing recurses. it's giving "divide and conquer but make it a duet" πICET_SINGLE_IMAGE_STRATEGY_RADIXKβ the radix-k compositing algorithm, which is basically binary swap's cooler cousin except groups of processes can be bigger than two. and yeah, bigger groups mean more overall messages, but the upside is that it overlaps blending and communication. the size of the groups is indirectly controlled by theICET_MAGIC_Kenvironment variable or CMake variable. iykyk π§ICET_SINGLE_IMAGE_STRATEGY_TREEβ at each phase, each process partners with another, and <em>one</em> of the processes sends its entire image to the other. then the algorithm recurses with the group of processes that received images, over and over, until only one process has an image. it's a glow-up tournament bracket fr fr π
also important, bestie: by default IceT sets the single image strategy to ICET_SINGLE_IMAGE_STRATEGY_AUTOMATIC when a context is created. so that's the one you get if you never pick anything else. no cap. π
π Errors π
ICET_INVALID_ENUMβ thestrategyargument does not represent a valid single image strategy. you gave it a vibe it did not recognize and it said no thank you π
π Warnings π
None. literally none. nothing to warn you about, we're chill π
π Bugs π
None known. a clean page, we love to see it β
π Copyright π
Copyright (C)2010 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 π
icetCompositeImage(3)icetDrawFrame(3)icetGetStrategyName(3)icetGLDrawFrame(3)icetSingleImageStrategy(3)
and that's the whole page, bestie!! π this was the IceT Reference, dated September 26, 2014, and yes it's the icetSingleImageStrategy(3) page β same girl, same manual, just with way better vibes now. go composite something gorgeous πβ¨π¦
π¦ where this page comes from
- debian bookworm: paraview 5.11.0+dfsg-1+b1 Β· BSD-3-Clause
- debian trixie: paraview 5.13.2+dfsg-3 Β· BSD-3-Clause
- ubuntu jammy: paraview 5.10.0~rc1-1build3 Β· BSD-3-Clause
- ubuntu noble: paraview 5.11.2+dfsg-6build5 Β· BSD-3-Clause
- ubuntu questing: paraview 5.13.2+dfsg-3
- ubuntu resolute: paraview 6.0.1+dfsg1-7 Β· BSD-3-Clause
- ubuntu stonking: paraview 6.1.1+dfsg1-2build1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms