Windows, Houdini latest daily build (708). And I have it correctly on the MAYA_MODULE_PATH.
Used this help file for mod path : (https://www.sidefx.com/docs/maya/_maya__install.html)
Tried the all paths from the default:
C:/Program Files/SideFX/Houdini Engine/Maya
up to:
C:/Program Files/SideFX/Houdini Engine/Maya/18.5.708/maya2018/plug-ins
For this project I need to use Maya 2018.
If I try to force install it via mel : loadPlugin houdiniEngine;
// Error: line 1: Plug-in, "houdiniEngine", was not found on MAYA_PLUG_IN_PATH. //
All the prerequisites seem in the right place, mod file seems to work correct too on the env PATH. Not sure what else I can do.
Found 72 posts.
Search results Show results as topic list.
Houdini Engine for Maya » installing just the houdini engine maya plug in
- Johan Boekhoven
- 72 posts
- Offline
Houdini Engine for Maya » installing just the houdini engine maya plug in
- Johan Boekhoven
- 72 posts
- Offline
Should the maya engine plugin installed via the Houdini Launcher just work?
It's also not showing up in the Plugin Manager. While the mod file and everything else seems up to snuff.
It's also not showing up in the Plugin Manager. While the mod file and everything else seems up to snuff.
Technical Discussion » Kinefx . multiple rig pose nodes rigs are visible issue.
- Johan Boekhoven
- 72 posts
- Offline
A general thing I noticed, if you blast the rest of the skeleton, you have to keep the parent joint of the joints you actually want to manipulate. Then the right values will be past down the wire.
PDG/TOPs » Maximum Workitems
- Johan Boekhoven
- 72 posts
- Offline
I think this is where the schedulers come in play, I have so flows where processing is light and easy and I have it set to the standard 25% of the available CPU cores. But I have flows where some part of it requires a lot of computational power from all the cores because of a multithreaded process in it. Then I add a new schedular for that particular node and limit the slots to 6 or 4.
The way I come up with the right number is trial and error, I have a 64 core machine with 128Gb of ram so I try a few settings to find the sweet spot in terms of machine load and memory consumption. If I do 6 slots and the memory fills up right away, it means the machine will start swapping memory with the disk and it will be slow. So I set it to 4 slots, check the memory doesn't exceed 110GB of total usage and go with that.
So yeah as you said it's highly individual based on machine characteristics.
The way I come up with the right number is trial and error, I have a 64 core machine with 128Gb of ram so I try a few settings to find the sweet spot in terms of machine load and memory consumption. If I do 6 slots and the memory fills up right away, it means the machine will start swapping memory with the disk and it will be slow. So I set it to 4 slots, check the memory doesn't exceed 110GB of total usage and go with that.
So yeah as you said it's highly individual based on machine characteristics.
PDG/TOPs » PDG+Deadline, how to deal with unknow number of workitems
- Johan Boekhoven
- 72 posts
- Offline
Hi,
I try to wrap my head around the following situation. I have a PDG flow that is constantly monitoring a sqlite database and starts can pull between 1 and (a set maximum) of 4 work items at a time. The PDG than spawns 4 processes for another software to process data. So the one startup workitem spawns at 1-4 more workitems.
This works fine for a PDG only environment, but I would like to leverage Deadline for machine/task management. But my head goes into a loop as PDG itself is also a taskmanager. I'm looking for some ideas on how to manage multiple machines, of which some have a certain licensed software while others are meant for other tasks.
Here's a rough sketch of what I think the complexity is.
Tasks spawn work items at the moment. I run a PDG flow it pulls data from a database, then it goes to work. For every task right now I have a PDG flow. But I would want to have a central Dispatcher, that pulls tasks from the database, make the work items and pushes them onto the machines. Some PDG flows spawn commandline tools to manipulate data before running it through another stage. Non of these tasks are trivial basic operations.
I'm looking for some pointers on how to have a single job/task/work item manager to handle all tasks efficiently.
Any info you can give would be of great help. Are there good examples or video's out there that discuss this particular case of PDG use/management?
Thanks for reading!
-Johan
I try to wrap my head around the following situation. I have a PDG flow that is constantly monitoring a sqlite database and starts can pull between 1 and (a set maximum) of 4 work items at a time. The PDG than spawns 4 processes for another software to process data. So the one startup workitem spawns at 1-4 more workitems.
This works fine for a PDG only environment, but I would like to leverage Deadline for machine/task management. But my head goes into a loop as PDG itself is also a taskmanager. I'm looking for some ideas on how to manage multiple machines, of which some have a certain licensed software while others are meant for other tasks.
Here's a rough sketch of what I think the complexity is.
Tasks spawn work items at the moment. I run a PDG flow it pulls data from a database, then it goes to work. For every task right now I have a PDG flow. But I would want to have a central Dispatcher, that pulls tasks from the database, make the work items and pushes them onto the machines. Some PDG flows spawn commandline tools to manipulate data before running it through another stage. Non of these tasks are trivial basic operations.
I'm looking for some pointers on how to have a single job/task/work item manager to handle all tasks efficiently.
Any info you can give would be of great help. Are there good examples or video's out there that discuss this particular case of PDG use/management?
Thanks for reading!
-Johan
Edited by Johan Boekhoven - 2021年5月21日 06:18:41
MARDINI Daily Challenge 2021 » Day 18 Image | Worlds | Modern
- Johan Boekhoven
- 72 posts
- Offline
My entry for day 18 : Modern
Man contemplating modern design, kid is ready to move on.
Fun fact, text on artwork description plate is written in comic sans..
Man contemplating modern design, kid is ready to move on.
Fun fact, text on artwork description plate is written in comic sans..
Edited by Johan Boekhoven - 2021年3月18日 19:49:57
Technical Discussion » UV/Texture Distortion
- Johan Boekhoven
- 72 posts
- Offline
Hi all,
Can we get the UV/texture distortion data that is present in Houdini?
I haven't found any way to pull this data out of Houdini and or what logic is used to get to it.
So in the visualize node, I can check texture distortion and some settings and that communicates to the visualizers, but I want to capture that data to an attribute.
Thanks for any help or pointers!
-Johan
Can we get the UV/texture distortion data that is present in Houdini?
I haven't found any way to pull this data out of Houdini and or what logic is used to get to it.
So in the visualize node, I can check texture distortion and some settings and that communicates to the visualizers, but I want to capture that data to an attribute.
Thanks for any help or pointers!
-Johan
Edited by Johan Boekhoven - 2020年11月4日 11:09:53
Technical Discussion » How much memory, is too much memory?
- Johan Boekhoven
- 72 posts
- Offline
No vfx artist ever said, I have to much memory. Buy as much as you can afford, if you're really into simulation a lot, I think 128Gb would be a good solid foundation.
Technical Discussion » Skeleton node fails - Error running event handler
- Johan Boekhoven
- 72 posts
- Offline
Also it raises a question as to how to bind the geo to the new skeleton. I don't see a clear reference for it on that page. And my own conclusions show that biharmonic capturing probably can't be used directly, but only through some fbx round tripping, please tell me that I'm wrong!
Technical Discussion » Skeleton node fails - Error running event handler
- Johan Boekhoven
- 72 posts
- Offline
The local manual shows a picture of wiring the skeleton node to the geo node. I think that's where the confusion comes from. I take it a new release will fix that oversight.
Technical Discussion » KineFX rebinding with Biharmonic Capture
- Johan Boekhoven
- 72 posts
- Offline
Can we rebind a skeleton that's coming in from an FBX to the same mesh but now with a biharmonic capture?
Bonecapture lines SOP seem to work, tet mesh no problem. But the actual biharmonic capture seems to fail, probably because there are no actual cregions in the scene and it uses them somehow.
Cane we bypass that or trick the biharmonic capture process. I tried copying cregions to the capture lines and feed that, but no dice.
Any help or tips would be appreciated.
Bonecapture lines SOP seem to work, tet mesh no problem. But the actual biharmonic capture seems to fail, probably because there are no actual cregions in the scene and it uses them somehow.
Cane we bypass that or trick the biharmonic capture process. I tried copying cregions to the capture lines and feed that, but no dice.
Any help or tips would be appreciated.
PDG/TOPs » File array from Attribute Create
- Johan Boekhoven
- 72 posts
- Offline
Solved it by another attr create that then creates output files from the earlier created attributes. It works, but I'd like it to also work on any attribute.
PDG/TOPs » File array from Attribute Create
- Johan Boekhoven
- 72 posts
- Offline
Can we make a file array attribute from with and “Attribute Create” TOP?
I tried my luck with ‘#’ like in multiparm setups, but no dice, maybe '', but no.
I want to expand them to workfiles later on with workitemexpand. Right now they are 6 attributes and that is not very useful when I want to expand on it.
Or is there a better way to expand files attributes to workitems.
Thanks,
-Johan
I tried my luck with ‘#’ like in multiparm setups, but no dice, maybe '', but no.
I want to expand them to workfiles later on with workitemexpand. Right now they are 6 attributes and that is not very useful when I want to expand on it.
Or is there a better way to expand files attributes to workitems.
Thanks,
-Johan
Edited by Johan Boekhoven - 2020年9月9日 11:40:27
PDG/TOPs » "While Loop", can we make TOP listen and act
- Johan Boekhoven
- 72 posts
- Offline
As an addendum, it might be worth mentioning that any python operation that is calling file operations like process.Popen/os.call etc is best called in a python server and a Command Sent node. After many calls to it in a normal python node it locks up the UI and eventually stops processing all together. Not sure wby, but I think in the second run some thread/hooks are not cleaned up properly otherwise. I'm seeing this issue
PDG/TOPs » PDG on TR3990X, NUMA nodes
- Johan Boekhoven
- 72 posts
- Offline
I put the scheduler on different settings, also 64 and more then 64, but it only ever burdens the first numa node. I also ran a second houdini instance with a simple flip sim (but very small particle separation). And that just ran over all 128 cores no problem. If you want me to test something just let me know. But so far I was unsuccessful to have PDG use everything.
Here's a screenshot of the numa node CPU burden, I have enough work items I think. But if you have a test file or something I'd be happy to run it.
Here's a screenshot of the numa node CPU burden, I have enough work items I think. But if you have a test file or something I'd be happy to run it.
PDG/TOPs » PDG on TR3990X, NUMA nodes
- Johan Boekhoven
- 72 posts
- Offline
I'm running this on 18.0.532.
So it's PDG and COPs with ROP Composite outputs mainly and a small commandline utility at the end of processing to set some metadata in the JPG output.
We tried to turn of SMT and some other settings, but no performance gains, so we left it as default with 2 numa cores.
So it's PDG and COPs with ROP Composite outputs mainly and a small commandline utility at the end of processing to set some metadata in the JPG output.
We tried to turn of SMT and some other settings, but no performance gains, so we left it as default with 2 numa cores.
PDG/TOPs » PDG on TR3990X, NUMA nodes
- Johan Boekhoven
- 72 posts
- Offline
We are seeing that PDG isn't leveraging all cores of the threadripper 3990x (64cores/128HT).
When I run a basic liquid sim in just SOPs everything is great all cores are engaged.
Am I right in thinking that because PDG is build on python it's limited to a single NUMA node somehow?
I can't get more than half of the nodes engaged in processing. In this particular case it's COP's processing.
No simulation, so it could be COP's, but I doubt it.
Can we assume if we start a second houdini session it will automagically pick the least active NUMA node, or will it always default to the first?
Thanks for any info!
-Johan
When I run a basic liquid sim in just SOPs everything is great all cores are engaged.
Am I right in thinking that because PDG is build on python it's limited to a single NUMA node somehow?
I can't get more than half of the nodes engaged in processing. In this particular case it's COP's processing.
No simulation, so it could be COP's, but I doubt it.
Can we assume if we start a second houdini session it will automagically pick the least active NUMA node, or will it always default to the first?
Thanks for any info!
-Johan
PDG/TOPs » Image Magick error when creating montage
- Johan Boekhoven
- 72 posts
- Offline
Here's how I've solved it in one of my flows.
So scale all images and then partition the scaled images and then delete the temp scaled images afterwards.
Looking at the nr. of images and resolution it calculates to a whole lot of pixels.
216 is like 11 rows and 21 colums of images:
width = 21 * 1280 = 45780 px
height: 11 x 720 = 7920 px
total of 362,577,600 px or ~ 363 MP!
Imagemagik has a limit of 100MP by default, without tweaking any settings. (Settings [imagemagick.org]
It's a super high res. image. Maybe just render way smaller frames
Also there's an option to change the command and just source the web for whatever you need.
Good luck!
So scale all images and then partition the scaled images and then delete the temp scaled images afterwards.
Looking at the nr. of images and resolution it calculates to a whole lot of pixels.
216 is like 11 rows and 21 colums of images:
width = 21 * 1280 = 45780 px
height: 11 x 720 = 7920 px
total of 362,577,600 px or ~ 363 MP!
Imagemagik has a limit of 100MP by default, without tweaking any settings. (Settings [imagemagick.org]
It's a super high res. image. Maybe just render way smaller frames
Also there's an option to change the command and just source the web for whatever you need.
Good luck!
PDG/TOPs » Image Magick error when creating montage
- Johan Boekhoven
- 72 posts
- Offline
Do you have 216 variations over 240 frames, total of 51840 images?
If so then Montage is trying to make 1 single image of the 216 wedges (I guess?) for that frame.
But it doesn't do any rescaling, just concatenating. So depending on the size of the input image the resulting image can easily be way to big to process. So how big are the PNG's? You could insert another imagemagik to rescale first and then make the montage.
Also on the bottom of the debug window it should say log. If you click on it maybe there's a clue what's going on.
If so then Montage is trying to make 1 single image of the 216 wedges (I guess?) for that frame.
But it doesn't do any rescaling, just concatenating. So depending on the size of the input image the resulting image can easily be way to big to process. So how big are the PNG's? You could insert another imagemagik to rescale first and then make the montage.
Also on the bottom of the debug window it should say log. If you click on it maybe there's a clue what's going on.
PDG/TOPs » "While Loop", can we make TOP listen and act
- Johan Boekhoven
- 72 posts
- Offline
Yes, this is exactly it!!
Thanks so much for this, it's so much better now, python processor recook/regenerate works great!
Really great stuff, can't wait for this to be available as nodes. It would be great to be able to have portions of the flow doing polling while other parts are collecting and processing for example.
But that's icing on the cake, this helps a lot.
Cheers!
Thanks so much for this, it's so much better now, python processor recook/regenerate works great!
Really great stuff, can't wait for this to be available as nodes. It would be great to be able to have portions of the flow doing polling while other parts are collecting and processing for example.
But that's icing on the cake, this helps a lot.
Cheers!
-
- Quick Links