-
Notifications
You must be signed in to change notification settings - Fork 145
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Regent: Support for intXd with X > 3 #467
Comments
I have an initial patch that fixes this (not pushed yet), but right now Legion doesn't even compile with |
Compile error:
|
Well, my patch is in. There is now a |
This is not a bug. As I said in my original email, you have to update REALM_MAX_DIM in sync with LEGION_MAX_DIM. There is no coupling of them for obvious reasons. If you want I can make a static assertion if LEGION_MAX_DIM > REALM_MAX_DIM which will cause a compile error when you try to build Legion. Assigning back to @elliottslaughter to respond about what he thinks is best. |
I guess we want this to be lifted to a variable in the Makefile / CMake. So just like setting DEBUG causes DEBUG_LEGION / DEBUG_REALM to get passed as compiler flags, setting MAX_DIM causes LEGION_MAX_DIM / REALM_MAX_DIM to get set. If that sounds good I'm happy to implement. |
That sounds good to me. I think I'll add the static assertion too just so people will get an better error message. |
@manopapad Please pull master and try this:
|
That works. Presumably we also want to have some testcases with int4d etc. |
Closing, this has been supported for a while. |
Legion and Regent now have support for a variable number of index space dimensions, and this support has been ported to the C interface.
What remains is to use this feature to extend Regent's int2d/3d to more dimensions. This should be straightforward, as most operations on int2d/3d are already handled uniformly, by mapping over the structs' fields.
Mainly, someone needs to run through the code looking for uses of hardcoded numbers for the maximum number of dimensions, and replace them with the appropriate compile-time constant (e.g. this assertion
legion/language/src/regent/std.t
Line 1891 in 8474f23
legion/language/src/regent/std.t
Line 2123 in 8474f23
Also see #466.
The text was updated successfully, but these errors were encountered: