itaps-parallel Assignments for parallel interface, due before 2/5 phone conf

Vitus Leung vjleung at sandia.gov
Mon Feb 4 14:30:30 CST 2008


On Tue, 2008-01-22 at 11:48 -0700, Devine, Karen D wrote:

> Vitus:
> -  Propose the communication functions needed to support
> prefix_sendEntArrToParts and prefix_receiveEntArrToParts.

Karen,

Here are the minor syntax corrections we discussed for these two
functions.

    void prefix_sendEntArrToParts(iMesh_Instance instance,
                      /*in*/  const prefix_PartitionHandle
partition_handle, 
                      /*in*/  const iBase_EntityHandle *entity_handles,
                      /*in*/  const int entity_handles_size,
                      /*in*/  const int *target_part_ids,
                      /*in*/  int command_code,  // e.g., MIGRATE,COPY
                              int *err);

    void prefix_receiveEntArrToParts(iMesh_Instance instance,
                      /*in*/  const prefix_PartitionHandle
partition_handle, 
                   /*inout*/  iBase_EntityHandle **entity_handles,
                   /*inout*/  int *entity_handles_size,
                     /*out*/  int *entity_handles_allocated,
                   /*inout*/  int *target_part_ids,
                     /*out*/  int *target_part_ids_allocated,
                   /*inout*/  int command_code,  // e.g., MIGRATE,COPY
                              int *err);

The prefix_sendEntArrToParts() should be a collective call.  With the
entity_handles and target_part_ids in all the calls, the implementation
can determine the pairwise send/receives with all to all communication.
This can be held by the implementation until the
prefix_receiveEntArrToParts() call or passed back to the application in
an additional argument.  If the additional argument is used, it should
be passed to prefix_receiveEntArrToParts().  

Vitus





More information about the itaps-parallel mailing list