Comments (7)
That change will break other things. The code should never be invoking the general forms of serialize and deserialize for any of the bit mask types. Notice the explicit specializations of the serialize and deserialize methods in legion_utilities.h. Check to make sure that your compiler is picking them up. Another thing to check is that your compiler is providing the SSE2 macro which protects the explicit specializations. If it's not then we need to understand why (I'm guessing you're not using a very old processor that doesn't have SSE2 instructions).
from legion.
Yeah I figured that the change would break other things, but it seemed to work for short term. I see a specialization of serialize and deserialize for SSEBitMask through a typedef of: "typedef SSEBitMask<MAX_FIELDS> FieldMask;", but there is no specialization for the two level bit mask, SSETLBitMask<size_t>. Yes the compiler is setting the SSE2 macro. It would appear that the appropriate fix would to be a specialization of serialize and deserialize for NodeMask, which is based on the two-level bit mask.
from legion.
I'm not sure I know what you mean by a typedef. Look at this template specialization:
https://github.com/StanfordLegion/legion/blob/master/runtime/legion_utilities.h#L1187
The compiler should be invoking that function whenever it needs to serialize a SSETLBitMask.
from legion.
Also, where do you see NodeMask still being used. I realize the typedefs are still there, but everything should have been switched over to NodeSets now (with the minor exception of one case in the low-level runtime which doesn't get serialized or deserialized anyway).
from legion.
Ahh, my version of legion_utilities.h must be out of date, as that file
looks very different from the version I've got. The typedefs I am referring
to are found in legion_types.h, lines 386 - 449, where FieldMask and
NodeMask are set based on the instruction set. The version of
legion_utilities.h that I have has Serializer::serialize, and
Deserializer::deserialize specialized on FieldMask, but not NodeMask, and
does not include instruction-set-macro based specializations.
On Thu, May 14, 2015 at 12:45 PM, Mike Bauer [email protected]
wrote:
I'm not sure I know what you mean by a typedef. Look at this template
specialization:https://github.com/StanfordLegion/legion/blob/master/runtime/legion_utilities.h#L1187
The compiler should be invoking that function whenever it needs to
serialize a SSETLBitMask.—
Reply to this email directly or view it on GitHub
#9 (comment)
.
from legion.
Ah, that makes sense. I was pretty sure I fixed those issues a long time ago.
from legion.
Ok, my bad.
On Thu, May 14, 2015 at 12:52 PM, Mike Bauer [email protected]
wrote:
Ah, that makes sense. I was pretty sure I fixed those issues a long time
ago.—
Reply to this email directly or view it on GitHub
#9 (comment)
.
from legion.
Related Issues (20)
- Regent: Crusher CI failure with LLVM 16
- Legion: shardrefine shutdown hang HOT 21
- Static Control Replication End-of-Life
- I'd like to ask some questions about automatic partitioning and DPL HOT 4
- warning: use of function '__builtin_alloca' is discouraged; ...
- warning: definition of implicit copy constructor for '...' is deprecated because it has a user-provided destructor HOT 1
- C++20: error: no member named 'atomic_ref' in namespace 'std' HOT 6
- Additional machine configuration options HOT 2
- warning: format specifies type 'long' but the argument has type 'int64_t' (aka 'long long') [-Wformat] HOT 1
- `Realm::UnfairMutex::unlock_slow(): Assertion` HOT 5
- What is the principle and mechanism of dynamic tracing to improve dependency analysis? HOT 1
- Legion: regression in padded constraint conflicts HOT 21
- non-deterministic test failures HOT 15
- legion: slow startup at 96 nodes with shardrefine HOT 23
- legion: shardrefine create_new_equivalence_sets assertion HOT 21
- Slow startup with HIP on control_replication
- Realm: HIP build errors HOT 4
- Pygion: install missing site-packages directory
- Legion Prof Rust Crash
- RFE: Realm: Tracking absent flags in the command line parser HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from legion.