m-a-d-n-e-s-s / madness

Multiresolution Adaptive Numerical Environment for Scientific Simulation
GNU General Public License v2.0
181 stars 62 forks source link

harden World unique object handling #512

Closed evaleev closed 10 months ago

evaleev commented 11 months ago

World::id_to_ptr() return an optional; if NDEBUG is not defined then its value for deregistered IDs is nullptr, this can be used to detect use of unregistered/deleted objects.

robertjharrison commented 10 months ago

Interesting ... what's driving this?

evaleev commented 10 months ago

Interesting ... what's driving this?

larger multirank TA jobs (with hundreds of thousands of expression elements, involving thousands of tiles each) are getting stuck stochastically (but with near 100% probability) due to lack of progress. I thought maybe a lifetime issue (pulling from temporary objects, e.g. subexpressions), but does not seem to be that. Expression evaluation actually pushes data up, which makes lifetime management easier.

evaleev commented 10 months ago

@robertjharrison I don't think I made any perf-related changes here, but if you see something amiss let me know.

robertjharrison commented 10 months ago

Is there an issue with ordering or tasks internally forcing futures? Or use of send instead of task?

Grasping at straws in the absence of info.

On Thu, Dec 28, 2023, 22:09 Eduard Valeyev @.***> wrote:

Interesting ... what's driving this?

larger jobs (with hundreds of thousands of expression elements, involving thousands of tiles each) are getting stuck stochastically (but with near 100% probability) due to lack of progress. I thought maybe a lifetime issue (pulling from temporary objects, e.g. subexpressions), but does not seem to be that. Expression evaluation actually pushes data up, which makes lifetime management easier. TA expression cleanup does not use global fencing, only local info, and push makes it possible.

— Reply to this email directly, view it on GitHub https://github.com/m-a-d-n-e-s-s/madness/pull/512#issuecomment-1871695892, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABZSAPOUOLFLTDJW4KN6HKTYLYYADAVCNFSM6AAAAABBE5DZI6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZRGY4TKOBZGI . You are receiving this because you commented.Message ID: @.***>