I've some question about the dopNet, and the memory performance:
I currently querying the memory used 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:
memoryUsage(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 reporting the value with the summing of the child value?
C) There are any record field that describe if any gas solver is multithreaed or not? right now the only way that i find to see is is to turn on a profile and check rolling over for each microsolver.
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 file for each stub-step
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.