Support #328

Partition model information

Added by Cameron Smith almost 6 years ago. Updated over 5 years ago.

Status:ResolvedStart date:12/21/2011
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-Spent time:-
Target version:v1.3.9

Description

Is there public API functionality for determining what parts are adjacent to a given part? I did not see something in the UG for directly answering this question.

Thank-you,
Cameron


Related issues

Related to PUMI_MESH (FMDB) - Bug #324: test/parallel/main.cc failure with agressive migration te... Resolved 12/09/2011
Related to PUMI_MESH (FMDB) - Bug #339: migration seg. fault after mutiple part distribution Resolved 01/09/2012
Precedes ParMA - Feature #345: combine part neighbor retrieval functions New 01/12/2012

History

#1 Updated by E. Seegyoung Seol almost 6 years ago

  • Target version set to v1.3.7

We are working on the following two functions in regard of neighboring part info.

int FMDB_Part_GetNumNbor (pPart part, int type, int* numNbor)
int FMDB_Part_GetNborID (pPart part, int entity_type, vector<int>& global_part_ids)

Please let us know if you need any more apis' other than above two.

Cameron Smith wrote:

Is there public API functionality for determining what parts are adjacent to a given part? I did not see something in the UG for directly answering this question.

#2 Updated by E. Seegyoung Seol almost 6 years ago

Seegyoung Seol wrote:

We are working on the following two functions in regard of neighboring part info.

int FMDB_Part_GetNumNbor (pPart part, int type, int* numNbor)
int FMDB_Part_GetNborID (pPart part, int entity_type, vector<int>& global_part_ids)

The current partition model shall be improved as the following
- not storing reverse partition classification per partition entity; shall be computed on-the-fly
- not storing neighboring part; shall be computed on-the-fly
- removing single part constraint

Please let us know if you need any more apis' other than above two.

Cameron Smith wrote:

Is there public API functionality for determining what parts are adjacent to a given part? I did not see something in the UG for directly answering this question.

Thank-you,
Cameron

#3 Updated by Cameron Smith almost 6 years ago

For the function:
int FMDB_Part_GetNborID (pPart part, int entity_type, vector<int>& global_part_ids)

is entity type one of either 'vert, edge, face, region'? If so, is the following description correct:
"Return the global ids of parts with mesh entities of type 'entity_type' on part boundaries shared with 'part'."

Thank-you,
Cameron

#4 Updated by E. Seegyoung Seol almost 6 years ago

Cameron Smith wrote:

For the function:
int FMDB_Part_GetNborID (pPart part, int entity_type, vector<int>& global_part_ids)

is entity type one of either 'vert, edge, face, region'? If so, is the following description correct:
"Return the global ids of parts with mesh entities of type 'entity_type' on part boundaries shared with 'part'."

OK. Theoretically, neighboring part info can be retreived on-the-fly based on the bounding part information stored in partition model entity. However, the current design/impl of "neighbor part" functions in partition model is not compatible with multi-part - since it's based on the process rank and single part constraint. Luckily no application was bothered with this discrepancy so far. To have "right neigboring" implementations convering multi-part, we expect entire design change in partition model and inevitably migration procedure. Basically, it's huge work since partition model and migration are core of parallel features. Do you mind if we release the above two apis after v1.3.7?

#5 Updated by Cameron Smith almost 6 years ago

That should be OK.

Thank-you,
Cameron

#6 Updated by E. Seegyoung Seol almost 6 years ago

  • Target version changed from v1.3.7 to v1.3.9

#7 Updated by Cameron Smith almost 6 years ago

FMDB_Part_GetHandle(...) is another partition model related function that would be useful to have.

-Cameron

#8 Updated by E. Seegyoung Seol almost 6 years ago

Cameron Smith wrote:

FMDB_Part_GetHandle(...) is another partition model related function that would be useful to have.

-Cameron

What's the spec?

#9 Updated by Cameron Smith almost 6 years ago

That function was listed in this version of the UG:
http://redmine.scorec.rpi.edu/projects/fmdb/repository/revisions/3370

int FMDB_Part_GetHandle (
int /* in / partID,
pPart& /
out */ part)
Given a part id, get the part handle. If any part doesn’t exist with the specified id, part is
null.

#10 Updated by E. Seegyoung Seol over 5 years ago

  • Status changed from New to Resolved

From v1.3.9, FMDB supports both neighboring process and partid. Please refer to the user's guide for detailed information on how to use them.

Also available in: Atom PDF