Hops error

Hi all,

Hops looks promising :slight_smile:

Does someone know this error?

@stevebaer

If you right click on the component and select “Path…”, what is the path set to?

Hi Steve,

Thanks for the reply!

Aparently it didn’t like the GeometryGym Plugin “Bulant”.

I had to remove this in order for it to work! @jonm

It works now. Although I am still interested to see how the parallel computing works. I didn’t see significant time improvement compared to a cluster in the scripts I tested. Do I need to structure it differently?

Any thoughts?

Right now, we are only launching a single child process to handle solving so you won’t see a performance improvement. There is an option on the hops component to launch 6 more children which would allow 7 total child processes to shared solving different iterations of input on different CPUs. The processes are hidden by default (in grasshopper preferences) so it is hard to tell what is going on under the hood. If you make the child processes visible, you should be able to see multiple console windows all handling requests to solve.

I’m hoping to capture a video very soon explaining hops to help. I realize there is no real documentation at the moment for how to get things to work and for what you can really do with Hops. Bob just had to send out a teaser email :slight_smile:

3 Likes

Looking forward to the video! :slight_smile:

I saw the childs, and I was trying 13 processes, but didn’t see any computation difference. Maybe I’m doing something wrong? An example would be amazing!

Just finished my presentation. Hopefully it will be decent enough to make available in public. @scottd will have to keep us posted on when that may be.

It really depends on how your external definition file is set up to see any performance gains. If your definition has a “get” input that is defined as AtLeast=1 and AtMost=1, then Hops knows it should only be passing a single piece of data to the definition for each solve. In this case, if a list of inputs were sent to the Hops component, Grasshopper will iterate over all of the elements in the list and call multiple processes to simultaneously solve each iteration.

Here is an example definition with inputs set up as wanting singular items. If multiple numbers are passed into any single input, each one of those numbers will be solved with a different process (if you have multiple child processes running).

Download “SpikeyThing.gh” from here

2 Likes

I’ll just jump in on this too. Getting the same error:


image

Path: C:\Users\Boudewijn\Documents\Hops\SpikeyThing.gh
This file is the same as on the Github Definitions (compute.rhino3d/src/hops at master · mcneel/compute.rhino3d · GitHub)

How do I troubleshoot this any further?

Try showing the compute console window. This may help diagnose what is happening. A screenshot of what to tweak is in this post

System.NullReferenceException: De objectverwijzing is niet op een exemplaar van een object ingesteld.
bij SnippetManager.AssemblyPriority.DocumentServer_DocumentAdded(GH_DocumentServer sender, GH_Document doc)
bij Grasshopper.Kernel.GH_DocumentServer.AddDocument(GH_Document document)
bij compute.geometry.GrasshopperDefinition.Construct(GH_Archive archive) in D:\dev\github\mcneel\compute.rhino3d\src\compute.geometry\GrasshopperDefinition.cs:regel 169
bij compute.geometry.GrasshopperDefinition.FromBase64String(String data, Boolean cache) in D:\dev\github\mcneel\compute.rhino3d\src\compute.geometry\GrasshopperDefinition.cs:regel 111
bij compute.geometry.ResthopperEndpointsModule.GetIoNames(NancyContext ctx, Boolean asPost) in D:\dev\github\mcneel\compute.rhino3d\src\compute.geometry\ResthopperEndpoints.cs:regel 137
bij Nancy.Routing.Route.<>c__DisplayClass4.b__3(Object parameters, CancellationToken context)
::1 - [2021-03-11T12:11:32.8346233+01:00] “POST /io HTTP/1.1” 500 -

I get this error in the window, sorry, it’s in Dutch.
Apparently SnippetManager is throwing me issues.

Thank you for the quick help!

It looks like compute is having trouble with regards to a SnippetManager. Looking on Food4Rhino, it looks like this is your plug-in which is great news :slight_smile: Can you share the code inside of SnippetManager.AssemblyPriority.DocumentServer_DocumentAdded(GH_DocumentServer sender, GH_Document doc) ?

Just reporting that I had the exact same issue with Hops and disabling SnippetManager fixed the situation.