Greetings,
I’m a postgraduate student at the Institute of Computational Mathematics and Mathematical Geophysics of the Siberian Branch of the Russian Academy of Sciences. For my thesis I’m researching automated debugging methods implemented in various task-based parallel programming systems. From what I understand both Legion runtime and Regent compiler implement several automated checks for common error types and I would like to ask several questions regarding the implementation of these checks and errors that are possible in Legion/Regent programs:
1. Where can I learn about how the runtime checks (privilege checks, bounds checks and partition checks) are implemented?
2. What classes of mistakes are 1) impossible in Legion but are possible in lower level distributed programming, 2) possible in Legion but are detected by Regent compiler or optional runtime checks and 3) still possible in both Legion and Regent and cannot be detected automatically?
3. In particular, is it possible for a deadlock caused by a cycle in the task dependency graph to occur in a program that uses Legion C++ API? Are data races possible in Legion/Regent and if so, what could cause them?
Thank you,
Mikhail
--
You received this message because you are subscribed to the Google Groups "Legion Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to legionusers...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/legionusers/e102d8b2-bc01-4312-8f8a-19dbe01be4a1n%40googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/legionusers/CAJ9X%3DkZoJ%2Bv-RHQ9ga6EWNdNi6A5o5fFTfd4_Hzh8FZLOkp-1Q%40mail.gmail.com.