Hello,
Is there any benefit to running a series of nodes in a compiled block. I am not talking about using a compiled block to speed up a for-each loop. Just generally speaking, if a node (or series of nodes) is/are compatible is there any benefit to running them inside a compiled block? Or is it mainly for loops?
thanks
compiled blocks outside of for-each loops
1877 6 2-
- evanrudefx
- Member
- 266 posts
- Joined: Feb. 2016
- Offline
-
- tamte
- Member
- 9384 posts
- Joined: July 2007
- Offline
The benefits are mentioned here: https://www.sidefx.com/docs/houdini/model/compile.html [www.sidefx.com]
Tomas Slancik
CG Supervisor
Framestore, NY
CG Supervisor
Framestore, NY
-
- evanrudefx
- Member
- 266 posts
- Joined: Feb. 2016
- Offline
yep, I read that. I guess I was hoping more for an example of when to use it or for which types of nodes it is helpful/something more specific. As the docs say "The main benefit is multithreaded for-each loops", so I was wondering for something more specific outside of that.
Edited by evanrudefx - Sept. 20, 2023 00:14:01
Thanks,
Evan
Evan
-
- tamte
- Member
- 9384 posts
- Joined: July 2007
- Offline
evanrudefxThe other points right after that
The main benefit is multithreaded for-each loops", so I was wondering for something more specific outside of that.
- Another benefit is more efficient use of OpenCL. Normally, even if a node processes geometry on the graphics card, the geometry must be copied back into main memory after each node, because any other node could potentially try to access it. In a compiled block, however, multiple OpenCL-based nodes can keep data on the graphics card as they process it without copying it back, increasing speed.
- In a normal network, each node theoretically makes a copy of the geometry it’s working on. There are lots of optimizations to make this efficient in practice, but it still has a cost. In a compiled block the nodes can work in-place on the same geometry because external references are not allowed. This can give compiled blocks additional speedups
So mostly for data to either stay in GPU memory for chained OpenCL SOPs
And for any other chained SOPs (e.g. chained wrangles) to avoid duplicating their geo in Memory
Tomas Slancik
CG Supervisor
Framestore, NY
CG Supervisor
Framestore, NY
-
- evanrudefx
- Member
- 266 posts
- Joined: Feb. 2016
- Offline
-
- npetit
- Staff
- 445 posts
- Joined: Feb. 2008
- Offline
-
- evanrudefx
- Member
- 266 posts
- Joined: Feb. 2016
- Offline
-
- Quick Links


