metis idx_t
Issue #40
resolved
we need to emphasize that metis needs to be configured with 32 bit integer
#define IDXTYPEWIDTH 32 at metis.h
otherwise might have compiling issues at: ...
int nelems;
metis_RESULT = METIS_PartGraphKway(&nelems, &nconstraints, &
Comments (6)
-
reporter -
I had a branch with precisely this change. I should revive that again and submit a PR for it.
Vijay
-
Can you see if https://bitbucket.org/fathomteam/moab/branch/vijaysm/metis_support_idxt supports what you need ?
-
@iulian07 If my branch supports configuration with 64-bit indices, I can submit a PR with it. Let me know after verification. I also need to rebase.
-
reporter needs more work, because of int/ long issue; for example, our global id tag is 4 bytes, but we use calls like
idx_t neighbors[5*MAX_SUB_ENTITIES]; result = mbImpl->tag_get_data(gid, adjs, neighbors);MB_CHK_ERR(result);
this does not work for gid when idx_t is 64 bits
-
- changed status to resolved
A PR has been submitted with the necessary changes.
- Log in to comment
the correct fix is to modify our source code, to use idx_t where necessary; it will complicate though our stuff, because we have to be careful when we convert from our entity handle to idx_t, or when we set the tags; one example is that assigned parts should be returned in idx_t array; but we like to set as integer tags (size 4);
the disadvantage of doing nothing is that with the current code we will never be able to partition a 2B mesh . We cannot do that anyway, unless we modify the partitioner to work in parallel.