oh that's nice, thanks for the link and hip file guys.

2017-03-15 12:59 GMT+01:00 Andy Nicholas <a...@andynicholas.com>:

> > The thing I don’t quite understand is why Detail Mode always has to run
> on a single thread
>
> There's a lot of complexity involved in threading. The way to better
> understand is to ask a few questions. If detail ran multithreaded, how
> should houdini split the threads? How would Houdini prevent you overwriting
> data that you might also need to read from?
>
> For example, imagine this VEX script running in detail mode:
>
> //Copy position from (n-1)th point to nth point
> for(int i=1;i<num_pts;i++)
> {
>     vector pos = point(0,"P",i-1);
>     setpointattrib(geoself(),"P",i,pos);
> }
>
> Lets say you have 100 points and Houdini tried to split that loop by
> placing it into 10 threads. If the first thread finished before the second
> thread, and the second thread finished before the third, then you'd get the
> same correct result as if it wasn't threaded. But... if the order of
> finishing was changed at all, then you'll get a very different result.
>
> The problem is that there's no guaranteed order, so the result would
> change randomly depending on the machine load.
>
> Houdini can't be expected to understand what you're doing inside a loop to
> know if it's compatible with multithreading, which is why it gives you the
> Run Over Numbers mode instead. That way you have complete control over the
> threading optimisation. I'd recommend you try it out. It'll give you a good
> understanding on the issues involved with trying to multi thread code.
>
> If you want better insight into threading issues and specifically some of
> the challenges Houdini has to deal with in letting you use VEX in a user
> friendly way, I'd highly recommend having a read of this:
> https://www.amazon.co.uk/gp/search?index=books&linkCode=
> qs&keywords=9781482243574
>
> Cheers,
> Andy
>
>
>
> On 15/03/2017 11:00, Jonathan Moore wrote:
>
> It’s definitely far more complicated than it should be. Especially in
> comparison to ICE.
>
>
>
> The thing I don’t quite understand is why Detail Mode always has to run on
> a single thread, especially for common stuff like Arrays. If I could get a
> handle on Numbers Mode I’d be happier but it feels like another unnecessary
> layer of complexity.
>
>
>
> *From:* softimage-boun...@listproc.autodesk.com [mailto:softimage-bounces@
> listproc.autodesk.com <softimage-boun...@listproc.autodesk.com>] *On
> Behalf Of *Olivier Jeannel
> *Sent:* 15 March 2017 10:45
> *To:* Official Softimage Users Mailing List. https://groups.google.com/
> forum/#!forum/xsi_list <softimage@listproc.autodesk.com>
> <softimage@listproc.autodesk.com>
> *Subject:* Re: houdini question (and where to ask)
>
>
>
> This is terrible when you think of the ice logic that would be a no
> brainer.
>
> I'm too having some issue with overal sorting stuff. I wish there was more
> vop vex tool to do that kind of operation.
>
>
>
>
>
> On Wednesday, March 15, 2017, Jonathan Moore <jonathan.moo...@gmail.com>
> wrote:
>
> Nice find Oliver.
>
>
>
> I managed to decipher what was going on in the speedy GIF (wish people
> would share videos for this kind of stuff) and the technique does indeed
> work.  Here’s the HIP (Indie) for anybody that wants to check it out.
>
>
>
> http://d.pr/f/FpMi.zip
>
>
>
> The downside is that the Wrangles runs in Detail Mode so it’s single
> threaded on those Wrangles, which slows the network down. I don’t know how
> to set up the Wrangle in Numbers Mode, which breaks the job down for
> multiple threads. If Andy Nicholas is still reading this thread (or anybody
> else that understands Numbers Mode on Wrangles) I’d love to know how to get
> this example to work that way. This example works fine because it’s only
> processing 100,000 points. As the point count goes up it will get a lot
> slower running in Details Mode.
>
>
>
> *From:* softimage-boun...@listproc.autodesk.com [mailto:softimage-bounces@
> listproc.autodesk.com] *On Behalf Of *Olivier Jeannel
> *Sent:* 14 March 2017 19:45
> *To:* Official Softimage Users Mailing List. https://groups.google.com/
> forum/#!forum/xsi_list <softimage@listproc.autodesk.com>
> *Subject:* Re: houdini question (and where to ask)
>
>
>
> Back to the Get MaximumInSet request, I found this (I haven't tested) :
>
> http://gifyu.com/image/SpJl
>
>
>
>
>
> 2017-03-07 13:20 GMT+01:00 Fabricio Chamon <xsiml...@gmail.com>:
>
> thanks for all the insights guys, much appreciated!
>
>
>
> 2017-03-07 11:41 GMT+01:00 Andy Nicholas <a...@andynicholas.com>:
>
> That's good to know, thanks :)
>
>
>
> On 07/03/2017 10:06, Christopher Crouzet wrote:
>
> I naively compared the AttribPromote with an AttribWrangle in detail mode,
> and the results were much (much) faster with the AttribPromote, so I assume
> it is multi-threaded and would be hard to beat with any sort of wrangle
> trickery.
>
> I'm still stuck with H13 so I didn't know about the numbers mode, that's
> neat!
>
>
>
> On 7 March 2017 at 16:43, Andy Nicholas <a...@andynicholas.com> wrote:
>
> Andy, the O(N) thing got me thinking and realized that instead of running
> the attrib wrangle in detail mode, which uses only a single thread, it'd be
> possible to generate say 4 points and, in a point wrangle, let each of
> these points process 1/4th of the array, thus effectively running the same
> logic on 4 threads! Another attrib wrangle is then needed in post to sum up
> the result from each point. Well, in all honesty I don't think there'll
> ever be a use case for it :)
>
>
> Yes absolutely! Definitely a good approach if you're after performance.
> It'd be interesting to do a comparison between that and an Attribute
> Promote SOP to see which is faster. I suspect (i.e. hope) the Attribute
> Promote SOP is multithreaded, so probably no major advantage.
>
> BTW, you don't even need to generate the 4 points as you've got the Run
> Over "Numbers" mode which will do the same. You can save the result into a
> detail array attribute and analyse it in a Detail Wrangle. Just takes a bit
> more management to set it up.
>
>
>
> On 07/03/2017 01:35, Christopher Crouzet wrote:
>
> Wow, I shouldn't have wrote that late last night, I completely mixed
> things up in my previous post, sorry!
>
> I'll try again! With a ramp, you have the source (input) values on the X
> axis, and the target (output) values on the Y axis. If either your source
> or target values aren't in the range [0, 1], you can remap them using a
> simple float parameter (to use as a simple multiplier if your desired lower
> bound is 0), or a float2 parameter to precisely control the desired range.
>
> It seems to be a standard practice in Houdini since they use it for some
> built-in nodes, such as the Pyro SHOP.
>
> Andy, the O(N) thing got me thinking and realized that instead of running
> the attrib wrangle in detail mode, which uses only a single thread, it'd be
> possible to generate say 4 points and, in a point wrangle, let each of
> these points process 1/4th of the array, thus effectively running the same
> logic on 4 threads! Another attrib wrangle is then needed in post to sum up
> the result from each point. Well, in all honesty I don't think there'll
> ever be a use case for it :)
>
>
>
> On 7 March 2017 at 01:14, Olivier Jeannel <facialdel...@gmail.com> wrote:
>
> Ok we agree.
>
>
>
> On Monday, March 6, 2017, Jonathan Moore <jonathan.moo...@gmail.com>
> wrote:
>
> As far as I understood it Oliver, the spline version of the Houdini Ramp
> only operates in the zero to one range. You re-fit the values pre/post/ or
> both to suite your needs.
>
>
>
> I get that this doesn’t match the UX of FCurves in XSI, but I’ve always
> understood Ramp’s in Houdini to be more of a lower level discrete element
> in visual programing terms.
>
>
>
> *From:* softimage-boun...@listproc.autodesk.com [mailto:softimage-bounces@
> listproc.autodesk.com] *On Behalf Of *Olivier Jeannel
> *Sent:* 06 March 2017 17:31
> *To:* Official Softimage Users Mailing List. https://groups.google.com/
> forum/#!forum/xsi_list <softimage@listproc.autodesk.com>
> *Subject:* Re: houdini question (and where to ask)
>
>
>
> Not sure I get it Christopher (not in front of H)
>
> Does your trick actualy change the graph visualy ?
>
> In short, can I see the negative x & y values ?
>
> On Monday, March 6, 2017, Christopher Crouzet <
> christopher.crou...@gmail.com> wrote:
>
> Indeed, which is why I mentioned the “detail” mode which brings you back
> to O(N). Not saying that one approach is better than the other though, only
> that it is possible.
>
>
>
> On 7 March 2017 at 00:12, Andy Nicholas <a...@andynicholas.com> wrote:
>
> Yep it is possible, but you wouldn't want to do it because each
> calculation of the maximum value would be running across N points to
> calculate that. That'd make it an O(N^2) operation, albeit spread over
> multiple threads.
>
> It might seem like a pain to have to do this in advance using an Attribute
> Promote, but by doing so, it's actually forcing you to work in a more
> efficient way. Go with it ;)
>
>
>
> On 06/03/2017 16:32, Christopher Crouzet wrote:
>
> It *is* possible to retrieve the maximum value in a VOP since nothing
> stops anyone from manually iterating through all the points of the
> geometry. This kind of operation might be more suited in “detail” mode
> though.
>
> Also, having the ramp normalized to the [0, 1] range in both the X and Y
> axis is usually “workarounded” by adding a float parameter for the
> amplitude (Y axis) that is used as a global multiplier (making later
> tweakings convenient!), and a float2 parameter for the target range (X
> axis) that is then remapped using `fit("my_ramp", 0.0, 1.0, range_min,
> range_max)` (which is also convenient for later tweakings!).
>
> Now, if you really want to have an actual FCurve, then just create a
> simple float parameter, add all the keys however you want, then query it in
> using `chf("my_param", the_time_in_seconds)` in VEX/VOP, or using the
> equivalent expression.
>
>
>
> On 6 March 2017 at 23:29, Jonathan Moore <jonathan.moo...@gmail.com>
> wrote:
>
> Fabricio ,
>
>
>
> The Attribute Promote help page has approx 15 examples you can load.
> Hopefully you might find something within the examples to inspires a
> solution.
>
>
>
> *From:* softimage-boun...@listproc.autodesk.com [mailto:softimage-bounces@
> listproc.autodesk.com] *On Behalf Of *Olivier Jeannel
> *Sent:* 06 March 2017 15:56
> *To:* Official Softimage Users Mailing List. https://groups.google.com/
> forum/#!forum/xsi_list <softimage@listproc.autodesk.com>
>
>
> *Subject:* Re: houdini question (and where to ask)
>
>
>
> You can't get the "get maximum in set" when inside a vop.
>
> But, you get those options with the promote attribute sop.
>
>
>
>
> On Monday, March 6, 2017, Oscar Juarez <tridi.animei...@gmail.com> wrote:
>
> I would like to be proven wrong, but that would be the way, I mean in your
> second pointvop you don't need to add another noise, your noise is already
> saved in an attribute, when you promote just check off delete original and
> you can access the same noise. Also noises have specific output ranges,
> they come in the documentation, so you can always add a fit node to change
> your range to what you need, in the geometry spreadsheet you can also sort
> by value so you can see max and min.
>
>
>
> If you press X with your mouse over the noise output it will add a
> visualization node, you can visualize on the viewport or in the geometry
> spreadsheet the values. I know its not the same but as far as I know their
> is no way to do the same as the get maximum in set node in a vopsop context.
>
>
>
>
>
>
>
> On Mon, Mar 6, 2017 at 3:57 PM, Fabricio Chamon <xsiml...@gmail.com>
> wrote:
>
> thanks everyone. The ramp parameter kind of works but as you say, is not
> that user friendly and does not show the points below 0. (that's ok, but I
> wonder if it is possible to write a custom widget in houdini)
>
>
>
> anyway, the thing I could not get right just yet is that sort of "get
> maximum in set" thing. Sorry for using ICE language, I'm trying to be open
> minded here, so please tell me if that`s not the correct mindset.
>
>
>
> so on this graph:
>
>
>
> [image: Imagem inline 1]
>
>
>
> ...how could I get the maximum value of the output noise node and compare
> to a single point output of the same node?
>
>
>
> From what I can tell, I'd have to:
>
>
>
> 1- create this pointvop node with a turbnoise, then store the output noise
> into an attribute (via bindexport?)
>
> 2- up one level -> drop an attrib promote (detail), set to maximum
>
> 3- drop another pointvop node with another noise node inside (same
> parameters) and compare the result noise to that found on the atrib promote
> node??
>
>
>
> I'm 99% sure this is totally wrong...how would you go about that single
> task specifically?
>
>
>
> and finally, thanks for the suggestions on houdini forums and discord.
> will try both (although I pretty much like this list =) )
>
>
>
>
>
> 2017-03-06 15:17 GMT+01:00 gareth bell <garethb...@outlook.com>:
>
> yeah - the lack of handles is frustrating
> ------------------------------
>
> *From:* softimage-boun...@listproc.autodesk.com <
> softimage-boun...@listproc.autodesk.com> on behalf of Olivier Jeannel <
> facialdel...@gmail.com>
> *Sent:* 06 March 2017 14:05:17
> *To:* Official Softimage Users Mailing List. https://groups.google.com/
> forum/#!forum/xsi_list
> *Subject:* Re: houdini question (and where to ask)
>
>
>
> yep but it has no handles
>
> and try to make négative values, it takes them but wont show on the curve
> as it has a 0,1 space.
>
> Unless i'm wrong (which i'd love to be)
>
>
>
> Le 6 mars 2017 14:36, "Olivier Jeannel" <facialdel...@gmail.com> a écrit :
>
> in vop, bind and bind export node will get an set datas.
>
> Ramp Parameters is sort of fcurve.
>
> It's a bit weak in terms of curve manipulation, but does the job.
>
> It has 2 modes rgb (ramp) and spline.
>
> If you use several ramps in the same vop, name them with different name or
> they might not export.
>
>
>
> Le 6 mars 2017 14:28, "Fabricio Chamon" <xsiml...@gmail.com> a écrit :
>
> ..sorry, hit send too soon.
>
>
>
> Question #1: are there any equivalents to ICE "get ... in set"? or or do I
> have to iterate and store values for later comparision? In other words:
> what is the best or recommended workflow to compare single point data with
> global point data?
>
>
>
> Question #2: any nodes that resemble a fCurve node, like we have in ICE?
> if not, what is the alternative?
>
>
>
> and finally, I can see this list is becoming more and more houdini-esque
> than ever..but, what is the best place to ask beginner questions like the
> above? houdini foruns, houdini list, odForce...
>
>
>
> thanks!
>
>
>
> 2017-03-06 14:23 GMT+01:00 Fabricio Chamon <xsiml...@gmail.com>:
>
> Hi, I'm slowly getting into houdini and this is my first attempt to port a
> really simple ridged fractal deformer made in ICE to houdini (using
> pointvop).
>
>
>
> Question #1: are there any equivalents to ICE "get ... in set"? or or do I
> have to iterate and store values for later comparision? In other words:
> what is the best or recommended workflow to compare single point data with
>
>
>
>
> ------
> Softimage Mailing List.
> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com
> with "unsubscribe" in the subject, and reply to confirm.
>
>
> ------
> Softimage Mailing List.
> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com
> with "unsubscribe" in the subject, and reply to confirm.
>
>
>
>
> ------
> Softimage Mailing List.
> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com
> with "unsubscribe" in the subject, and reply to confirm.
>
>
>
>
> ------
> Softimage Mailing List.
> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com
> with "unsubscribe" in the subject, and reply to confirm.
>
>
>
>
> --
>
> Christopher Crouzet
> *https://christophercrouzet.com* <https://christophercrouzet.com>
>
>
>
>
>
> ------
>
> Softimage Mailing List.
>
> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with 
> "unsubscribe" in the subject, and reply to confirm.
>
>
>
> ------ Softimage Mailing List. To unsubscribe, send a mail to
> softimage-requ...@listproc.autodesk.com with "unsubscribe" in the
> subject, and reply to confirm.
>
> --
>
> Christopher Crouzet *https://christophercrouzet.com*
> <https://christophercrouzet.com>
>
>
>
> ------ Softimage Mailing List. To unsubscribe, send a mail to
> softimage-requ...@listproc.autodesk.com with "unsubscribe" in the
> subject, and reply to confirm.
>
> --
>
> Christopher Crouzet *https://christophercrouzet.com*
> <https://christophercrouzet.com>
>
> ------
>
> Softimage Mailing List.
>
> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with 
> "unsubscribe" in the subject, and reply to confirm.
>
> ------ Softimage Mailing List. To unsubscribe, send a mail to
> softimage-requ...@listproc.autodesk.com with "unsubscribe" in the
> subject, and reply to confirm.
>
> --
>
> Christopher Crouzet *https://christophercrouzet.com*
> <https://christophercrouzet.com>
>
> ------
>
> Softimage Mailing List.
>
> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with 
> "unsubscribe" in the subject, and reply to confirm.
>
>
> ------
> Softimage Mailing List.
> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com
> with "unsubscribe" in the subject, and reply to confirm.
>
>
>
>
> ------
> Softimage Mailing List.
> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com
> with "unsubscribe" in the subject, and reply to confirm.
>
>
>
>
>
> ------
> Softimage Mailing List.
> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with 
> "unsubscribe" in the subject, and reply to confirm.
>
>
>
> ------
> Softimage Mailing List.
> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com
> with "unsubscribe" in the subject, and reply to confirm.
>
------
Softimage Mailing List.
To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with 
"unsubscribe" in the subject, and reply to confirm.

Reply via email to