Skip to content
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

Change num_blk to void_int in ex_get_truth_table() #308

Open
rrdrake opened this issue Jun 2, 2022 · 3 comments
Open

Change num_blk to void_int in ex_get_truth_table() #308

rrdrake opened this issue Jun 2, 2022 · 3 comments

Comments

@rrdrake
Copy link
Contributor

rrdrake commented Jun 2, 2022

The SNL SABLE code is adaptive block structured and big problems could contain more than 2.x billion element blocks.

I noticed in the exodus source that the ex_get_truth_table() and ex_put_truth_table() are using an int for the number of blocks. In other places, like ex_get_init(), a void_int* is used in order to allow for 64 bit integers, and int64_t is used for ex_put_init().

This is not an issue with ex_get_object_truth_vector() because it receives an ex_entity_id for the block id.

Is this a lingering 64 bit TODO thing, or is there a reason that an int is being used here?

@gsjaardema
Copy link
Member

Did not expect a model to have over 2billion element blocks, so haven't checked that code path very thoroughly... Will take a look. Would be interesting to see what else breaks (internally and externally) with >2 billion blocks...

@rrdrake
Copy link
Contributor Author

rrdrake commented Jun 2, 2022

Truth is (no pun indented :) that in this use case, the results variables would be uniform across all blocks, so there would no need to store or get the truth table. Thus, I consider this Issue low priority. It is just a consistency thing.

@gsjaardema
Copy link
Member

Yes, but there are many other areas in the code which would currently fail with >2 billion blocks.... I'm also not sure whether the underlying HDF5 or netCDF format would support this...

I've looked a little and found a few areas that would need fixing... Will create a branch that I can work on periodically. Not sure how soon you will need >2 billion blocks?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants