Hitmap 1.3
 All Data Structures Namespaces Files Functions Variables Typedefs Friends Macros Groups Pages
Macros | Functions | Variables
hit_pattern.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <hit_pattern.h>
#include <hit_com.h>
#include <hit_sshape.h>
#include <hit_cshape.h>
#include <hit_bshape.h>
Include dependency graph for hit_pattern.c:

Go to the source code of this file.

Macros

#define HIT_PAT_REDISTRIBUTE2_TAG   15005
 
#define HIT_PAT_REDISTRIBUTE_TAG   15001
 
#define HIT_PAT_REDISTRIBUTE_TAG2   15002
 

Functions

void hit_patternAdd (HitPattern *pattern, HitCom comm)
 
void hit_patternCompose (HitPattern *pattern, HitPattern *pattern2)
 
void hit_patternFree (HitPattern *pattern)
 
void hit_patternDoOrdered (HitPattern pattern)
 
void hit_patternDoUnordered (HitPattern pattern)
 
void hit_patternStartAsync (HitPattern pattern)
 
void hit_patternEndAsync (HitPattern pattern)
 
HitPattern hit_patternLayRedistribute2 (HitLayout lay1, HitLayout lay2, void *tileP1, void *tileP2, HitType baseType)
 
HitPattern hit_patternLayRedistribute (HitLayout lay1, HitLayout lay2, void *tileP1, void *tileP2, HitType baseType)
 
HitPattern hit_patternRedistribute (HitLayout lay, void *tileP1, void *tileP2, HitType baseType, int flagCompact)
 
void hit_patMatMultInternal (HitPattern *pattern, HitLayout lay, HitShape origin_matrix, HitShape matrix, const void *tilePSend, const void *tilePRecv, HitType baseType, const char *file, int line)
 
void hit_patMatMultBitmapInternal (HitPattern *pattern, HitLayout lay, HitShape origin_matrix, HitShape matrix, const void *tilePSend, const void *tilePRecv, HitType baseType, const char *file, int line)
 

Variables

HitPattern HIT_PATTERN_NULL = HIT_PATTERN_NULL_STATIC
 

Detailed Description

Hitmap patter definition. A pattern structure includes one or more communications. These communications can be performed ordered or unordered.

Version
1.0
Author
Arturo Gonzalez-Escribano
Javier Fresno Bausela
Carlos de Blas Carton
Date
Jun 2010

Definition in file hit_pattern.c.

Macro Definition Documentation

#define HIT_PAT_REDISTRIBUTE2_TAG   15005

Definition at line 267 of file hit_pattern.c.

#define HIT_PAT_REDISTRIBUTE_TAG   15001

Definition at line 532 of file hit_pattern.c.

#define HIT_PAT_REDISTRIBUTE_TAG2   15002

Definition at line 652 of file hit_pattern.c.

Function Documentation

void hit_patMatMultBitmapInternal ( HitPattern pattern,
HitLayout  lay,
HitShape  origin_matrix,
HitShape  matrix,
const void *  tilePSend,
const void *  tilePRecv,
HitType  baseType,
const char *  file,
int  line 
)

Definition at line 1182 of file hit_pattern.c.

Here is the call graph for this function:

void hit_patMatMultInternal ( HitPattern pattern,
HitLayout  lay,
HitShape  origin_matrix,
HitShape  matrix,
const void *  tilePSend,
const void *  tilePRecv,
HitType  baseType,
const char *  file,
int  line 
)

Definition at line 1003 of file hit_pattern.c.

Here is the call graph for this function:

void hit_patternAdd ( HitPattern pattern,
HitCom  comm 
)

Add a communication to a pattern

Parameters
patternpointer to the old pattern
commthe communication
Returns
the new pattern formed by the communications in pattern and the new communication

Definition at line 61 of file hit_pattern.c.

Here is the caller graph for this function:

void hit_patternCompose ( HitPattern pattern,
HitPattern pattern2 
)

Add a whole pattern to another pattern

Parameters
patternpointer to the pattern to compose that will also be the result
pattern2pointer to the pattern to compose that will not be the result
Returns
the new pattern formed by the communications in pattern and the new communication

Definition at line 85 of file hit_pattern.c.

void hit_patternDoOrdered ( HitPattern  pattern)

Do all the communications in a pattern orderly according to the order of their adding to the pattern

Parameters
patternpointer to the pattern

Definition at line 107 of file hit_pattern.c.

Here is the call graph for this function:

void hit_patternDoUnordered ( HitPattern  pattern)

Do all the communications of a pattern in a unordered way.

Parameters
patternpointer to the pattern

Definition at line 117 of file hit_pattern.c.

Here is the call graph for this function:

void hit_patternEndAsync ( HitPattern  pattern)

End all asynchronous communications in a pattern

Parameters
patternpointer to the pattern

Definition at line 200 of file hit_pattern.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void hit_patternFree ( HitPattern pattern)

Free resources in a pattern. It cannot be used again until a new creation

Parameters
patternpointer to the pattern

Definition at line 94 of file hit_pattern.c.

Here is the call graph for this function:

Here is the caller graph for this function:

HitPattern hit_patternLayRedistribute ( HitLayout  lay1,
HitLayout  lay2,
void *  tileP1,
void *  tileP2,
HitType  baseType 
)

Feb 2013 hit_pattternLayRedistribute: Redistribute tile parts using two layouts

Parameters
lay1Original layout
lay2New layout
tileP1Pointer to HitTile allocated on each processor according to the original layout
tileP2Pointer to HitTile allocated on each processor according to the second layout
baseTypeHitType of the base elements of the tiles
Returns
HitPattern communication structure.

Definition at line 533 of file hit_pattern.c.

Here is the call graph for this function:

HitPattern hit_patternLayRedistribute2 ( HitLayout  lay1,
HitLayout  lay2,
void *  tileP1,
void *  tileP2,
HitType  baseType 
)

Definition at line 268 of file hit_pattern.c.

Here is the call graph for this function:

Here is the caller graph for this function:

HitPattern hit_patternRedistribute ( HitLayout  lay,
void *  tileP1,
void *  tileP2,
HitType  baseType,
int  flagCompact 
)

Feb 2013 hit_pattternRedistribute: Redistribute tile parts using their shapes

Parameters
lay1Layout object for the communication
tileP1Pointer to HitTile from which to get data
tileP2Pointer to HitTile in which to receive data
baseTypeHitType of the base elements of the tiles
Returns
HitPattern communication structure.

Definition at line 653 of file hit_pattern.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void hit_patternStartAsync ( HitPattern  pattern)

Start all asynchronous communications in a pattern

Parameters
patternpointer to the pattern

Definition at line 187 of file hit_pattern.c.

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

HitPattern HIT_PATTERN_NULL = HIT_PATTERN_NULL_STATIC

Definition at line 57 of file hit_pattern.c.