openworm / OpenWorm

Repository for the main Dockerfile with the OpenWorm software stack and project-wide issues
http://openworm.org
MIT License
2.68k stars 209 forks source link

Generate sub-step level logs from C++ version #132

Closed gidili closed 11 years ago

gidili commented 11 years ago

We need sub-step level logs from the C++ PCI-SPH solver so that we can run the same scenes and compare to what happens after every method in the Geppetto version of the solver.

This is a precondition to https://github.com/openworm/OpenWorm/issues/131

gidili commented 11 years ago

I wrote some code for logging and saved it in this gist: https://gist.github.com/gidili/5807141

This is the branch I am applying the code to: https://github.com/openworm/Smoothed-Particle-Hydrodynamics/tree/testing_geppetto_config - this is the reference branch for the SPH porting effort.

Will commit sometime soon.

gidili commented 11 years ago

Generated some step and sub-step level logs for the reference scene TEST-LIQUID-780: https://www.dropbox.com/sh/bo79e0uu2uj65r5/vpe_8YUf8v

@skhayrulin I logged values from all the buffers but I wasn't able to log values from the acceleration buffer (it's crashing when I try to do that... must be doing something wrong).

Not closing this issue as we need to generate some logs for scenes with elastic matter too, waiting for https://github.com/openworm/OpenWorm/issues/129

skhayrulin commented 11 years ago

Greate @gidili! Did you compare thsi logs with C++ logs?

skhayrulin commented 11 years ago

Also I've got a proposition we can log only that buffers which were changed in kernel correspond to this schema orange blocs indicates that this buffer were changed during work of corresponding kernel (red color indicates which ellements of structure were changed) green blocks indicates which buffers were used in kernel but didn't changed and grey block indicates buffers which weren't used in kernel.

Hope this helps

gidili commented 11 years ago

@skhayrulin

Did you compare thsi logs with C++ logs?

They are the C++ logs, need to compare with Java results - haven't done it yet, hopefully early this week!

gidili commented 11 years ago

Also I've got a proposition we can log only that buffers which were changed in kernel correspond to this schema orange blocs indicates that this buffer were changed during work of corresponding kernel (red color indicates which ellements of structure were changed) green blocks indicates which buffers were used in kernel but didn't changed and grey block indicates buffers which weren't used in kernel.

Thanks @skhayrulin! That schema is very useful, I had forgotten about it. I was thinking to compare all buffers to make sure the ones that are not supposed to change don't change as well, but it's great to have a blueprint of the algorithm and the buffers involved at every step!