Closed Jacobfaib closed 4 months ago
Want to make me a merge request for that if it is important?
Yeah, that would be useful. Off the top of my head, the most critical ones would be:
PhysicalInstance
IndexPartition
LogicalRegion
FieldSpace
Future
FutureMap
But they would all benefit from hash
overloads if applicable.
I think practically the last two are the only problematic ones, as the first four reveal their unique identifiers in one way or another that we can hash off of.
Yeah, that would be useful.
Looking forward to it. Be careful about what guarantees you want to make about hash values of data structures that represent the same thing from different nodes.
Merged
Legion::PhysicalInstance
has no specialization forstd::hash
, but it does have aoperator<()
. This means it can be used instd::map
but notstd::unordered_map
. This is surprising.There are other such classes which appear to have
operator<()
defined (presumably to allow them to be put instd::map
) but nostd::hash
specializations:IndexSpace
IndexPartition
FieldSpace
LogicalRegion
LogicalPartition
FieldAllocator
UntypedBuffer
ArgumentMap
Predicate
Lock
Grant
PhaseBarrier
RegionRequirement
OutputRequirement
IndexSpaceRequirement
FieldSpaceRequirement
Future
FutureMap
PhysicalRegion