KaHIP
KaHIP copied to clipboard
64bit edges not reflected in the headers
If I compile with 64bit edges, I'd expect a modified of the kaHIP_interface.h
file to reflect this, but it only seems to be unaffected. The kaffpa() call uses int*
thanks, will integrate it with the next version.
Would it be possible/reasonable to define a typedef such as kahip_idxtype
and possibly parkahip_idxtype
in the headers. This would make it possible to extract some sizing information from the header and then compare this to the expectations. Eg, let us build a widening container for the indices and adjacency list. Could then always compile in 64bit and link with our 32-bit or 64-bit addressing.
Hey Mark, I am currently looking into this. Could you explain a little bit more what you need? Maybe I am able to integrate it in the current sprint.
Hi,
I still meet this problem with the latest master branch. The type in kaHIP_interface.h
is still int when compiling with 64BITMODE
Hi, I am happy if you issue a pull request.
@schulzchristian I feel it's complicated. The signatures in https://github.com/KaHIP/KaHIP/blob/2158c5b6c07ae1b5755bcda6ea7adbca1a3618a2/interface/kaHIP_interface.cpp are all int. Is it safe to replace them with EdgeID
or NodeID
?
@VoVAllen nice that you are looking at this. I ran out of time to pursue it further...
I will look into it next week.
Best Christian
Along these lines if a typedef is added would it be possible to also add a function to query the size? Something like
int kahip_idx_size();
This is extremely useful for ABI purposes as it means given libkahip.so
we do not need to guess what the index type size is. A good example of this is SCOTCH_numSizeof
in SCOTCH which fulfils a similar role.
Hi @FreddieWitherden, I am happy to add this through a pull request.
Perfect! I will work on something over the next few days and submit for feedback.
First attempt at this is in #148