Jump to content
cily

dopNet debug the performance - some question

Recommended Posts

Hi,

I've some question about the dopNet, and the memory performance:

I currently query the memory used in the simulation in this way

def memConsumed():
    try:
        sim = hou.node("../.").simulation()
        return "%s" %(str(hou.DopSimulation.memoryUsage(sim)*0.000001))
    except:
        return "NONE"
sys.stderr.write("\nMEM CONSUMED :   %s MB" %(memConsumed()))

A) Is working but the memory usage is quite different off from the memoryGrowth on the performance profile, is this last on reliable for the dopNet?
B) I'm looking some method to go more in deep, I saw every object have record of the memusage, but unfortunately this one is not the sum of every child dependency in the network, example:

memmoryUsage(x) = 10000000000

SIM_Objcet                           > 100
    SIM_SolverMulti              > 150
        SIM_SolverSop(01)    > 75
        GAS_SubStep          > 5000
            ...          > 30
            ...          > 999999
        SIM_SolverSop(02)    > 350  

It may have sense to check the "self memory consumed", but in a debug prospective this is not really efficient IMHO
Is there anyway to  have the memusage  as a sum of the relative child?

C) are there any record field to describe if any gas solver is multi thread or not? right now the only way that I've is tun a profile and check rolling over for each micro-solver.

D) any way to read the time usage for each node? (without dealing with the infoTree, I was expecting sidefx putting a field in the basic record for that like memusage )

E) there is anyway to append the profile file .hperf frame by frame? right now I'm saving a profile by stubstep

so far this is my output 
 

SIM TIME     :   14.25 Frame
MEM CONSUMED :   43.389147 MB
TIME CONSUMED:   0:00:02.204154 s
POINTS       :   508702

 --- SIMULATION DATA ---  
Object: staticobject1  
 |_ MEM USAGE    :   0.000361 MB
 |_ DATA TYPE    :   SIM_Object  
Object: HELLO  
 |_ MEM USAGE    :   0.000561 MB
 |_ DATA TYPE    :   SIM_Object  
 |_ surface FIELD:  
 |     |_ DIV SIZE     :   0.01
 |     |_ VOXEL COUNT  :   198476
 |     |_ SIZE         :   [0.58, 0.59, 0.58]
 |     |_ SLICE        :   0
 |     |_ MEM CONSUMED :   0.772624 MB
 |_ vel FIELD:  
 |   |_ MEM CONSUMED :   0.722936 MB
 |_ pressure FIELD:  
 |   |_ MEM CONSUMED :   0.003616 MB
 |_ collision FIELD:  
 |   |_ MEM CONSUMED :   0.003616 MB
 |_ collisionvel FIELD:  
 |   |_ MEM CONSUMED :   0.007688 MB
 |_ source FIELD:  
 |   |_ MEM CONSUMED :   0.0036 MB
 |_ viscosity FIELD:  
 |   |_ MEM CONSUMED :   0.0036 MB
 |_ stickvel FIELD:  
 |   |_ MEM CONSUMED :   0.007688 MB
 |_FORCES:
     |_ Gravity_gravity1  
         |_ MEM CONSUMED :   0.000584 MB

-------------------------------------------------

Profiler stopped and archived
Profiles saved: /xxxxx_20180904_10_51_19/14.25.hperf

(note the field are a list of interested one)
I still need to work to read the solver process and collect all the info to process a % print

 

 


thanks,
Simone.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×