Hitmap 1.3
|
Go to the source code of this file.
Macros | |
#define | OPT_ZU |
#define | OPT_OPERATOR_A |
#define | OPT_OPERATOR_S |
#define | OPT_RESID_BUFFER |
#define | OPT_PSINV_BUFFER |
#define | OPT_RPRJ3_BUFFER |
#define | OPT_INTERP_BUFFER |
#define | S 'S' |
#define | A 'A' |
#define | B 'B' |
#define | C 'C' |
#define | D 'D' |
#define | E 'E' |
#define | CLASS S |
#define | k_num 5 |
#define | iterations 4 |
#define | k_num 8 |
#define | iterations 4 |
#define | k_num 8 |
#define | iterations 20 |
#define | k_num 9 |
#define | iterations 20 |
#define | k_num 10 |
#define | iterations 50 |
#define | k_num 11 |
#define | iterations 50 |
#define | k_max (k_num-1) |
#define | epsilon 1e-8 |
#define | mm 10 |
#define | swap(a, b, c) |
#define | tag(dir) (100 * (dir + 10*dim)) |
#define | printfRootInternal(...) { if( hit_Rank == 0 ) { printf(__VA_ARGS__); fflush(stdout); }} |
#define | printfRoot(...) printfRootInternal(__VA_ARGS__) |
#define | printfAllDebug(...) |
#define | printfRootDebug(...) |
#define | printfDebug(...) |
#define | m(a, b, c) hit_tileElemAtNoStride3(matrix,a,b,c) |
#define | A0 pow(5.0,13) |
#define | x 314159265.e0 |
#define | u(a, b, c) hit_tileElemAtNoStride3(m_u,a,b,c) |
#define | v(a, b, c) hit_tileElemAtNoStride3(m_v,a,b,c) |
#define | r(a, b, c) hit_tileElemAtNoStride3(m_r,a,b,c) |
#define | zu u |
#define | x(a, b, c) hit_tileElemAtNoStride3(m_x,a,b,c) |
#define | y(a, b, c) hit_tileElemAtNoStride3(m_y,a,b,c) |
#define | ro(a, b, c) hit_tileElemAtNoStride3(m_ro,a,b,c) |
#define | r(a, b, c) hit_tileElemAtNoStride3(m_r,a,b,c) |
#define | zo(a, b, c) hit_tileElemAtNoStride3(m_zo,a,b,c) |
#define | z(a, b, c) hit_tileElemAtNoStride3(m_z,a,b,c) |
#define | z(a, b, c) hit_tileElemAtNoStride3(m_z,a,b,c) |
#define | r(a, b, c) hit_tileElemAtNoStride3(m_r,a,b,c) |
#define | r(a, b, c) hit_tileElemAtNoStride3(m_r,a,b,c) |
Functions | |
hit_tileNewType (double) | |
void | setup () |
void | warming_up () |
void | zero3 (HitTile_double tile) |
void | zran3 (HitTile_double matrix) |
double | power (double a, int n) |
void | bubble (double ten[mm][2], int ten_index[mm][2][3], int ind) |
void | resid (HitTile_double m_u, HitTile_double m_v, HitTile_double m_r, int k) |
void | apply_correction (HitTile_double u, HitTile_double r, int k) |
void | v_cycle (HitTile_double r, HitTile_double z, int k) |
void | rprj3 (HitTile_double m_ro, HitTile_double m_r, int k) |
void | interp (HitTile_double m_zo, HitTile_double m_z, int k) |
void | psinv (HitTile_double m_z, HitTile_double m_r, int k) |
double | norm2u3 (HitTile_double m_r, int k) |
void | free_resources () |
void | add (HitTile_double m_x, HitTile_double m_y) |
int | main (int argc, char **argv) |
Variables | |
int | problem_size [3] = {32,32,32} |
double | verify_value = 0.5307707005734e-04 |
double | operatorA [4] = {-8.0/3.0, 0.0, 1.0/6.0, 1.0/12.0} |
double | operatorP [4] = {1.0/2.0, 1.0/4.0, 1.0/8.0, 1.0/16.0} |
double | operatorS [4] = {-3.0/8.0, 1.0/32.0, -1.0/64.0, 0.0} |
double | operatorQ [4] = {1.0, 1.0/2.0, 1.0/4.0, 1.0/8.0} |
HitTopology | topology |
HitLayout | layout [k_num] |
HitShape | block [k_num] |
HitShape | grid [k_num] |
HitTile_double | block_u |
HitTile_double | block_v |
HitTile_double | block_z [k_num] |
HitTile_double | block_r [k_num] |
HitPattern | pattern_v |
HitPattern | pattern_r [k_num] |
HitPattern | pattern_z [k_num] |
HitPattern | pattern_z_ex [k_num] |
HitOp | op_max |
HitOp | op_min |
HitOp | op_sum |
HitClock | setupClk |
HitClock | initClk |
HitClock | processClk |
#define A0 pow(5.0,13) |
#define k_num 5 |
#define k_num 8 |
#define k_num 8 |
#define k_num 9 |
#define k_num 10 |
#define k_num 11 |
#define m | ( | a, | |
b, | |||
c | |||
) | hit_tileElemAtNoStride3(matrix,a,b,c) |
#define OPT_ZU |
#define printfRoot | ( | ... | ) | printfRootInternal(__VA_ARGS__) |
#define printfRootInternal | ( | ... | ) | { if( hit_Rank == 0 ) { printf(__VA_ARGS__); fflush(stdout); }} |
#define r | ( | a, | |
b, | |||
c | |||
) | hit_tileElemAtNoStride3(m_r,a,b,c) |
#define r | ( | a, | |
b, | |||
c | |||
) | hit_tileElemAtNoStride3(m_r,a,b,c) |
#define r | ( | a, | |
b, | |||
c | |||
) | hit_tileElemAtNoStride3(m_r,a,b,c) |
#define r | ( | a, | |
b, | |||
c | |||
) | hit_tileElemAtNoStride3(m_r,a,b,c) |
#define ro | ( | a, | |
b, | |||
c | |||
) | hit_tileElemAtNoStride3(m_ro,a,b,c) |
#define swap | ( | a, | |
b, | |||
c | |||
) |
#define tag | ( | dir | ) | (100 * (dir + 10*dim)) |
#define u | ( | a, | |
b, | |||
c | |||
) | hit_tileElemAtNoStride3(m_u,a,b,c) |
#define v | ( | a, | |
b, | |||
c | |||
) | hit_tileElemAtNoStride3(m_v,a,b,c) |
#define x 314159265.e0 |
#define x | ( | a, | |
b, | |||
c | |||
) | hit_tileElemAtNoStride3(m_x,a,b,c) |
#define y | ( | a, | |
b, | |||
c | |||
) | hit_tileElemAtNoStride3(m_y,a,b,c) |
#define z | ( | a, | |
b, | |||
c | |||
) | hit_tileElemAtNoStride3(m_z,a,b,c) |
#define z | ( | a, | |
b, | |||
c | |||
) | hit_tileElemAtNoStride3(m_z,a,b,c) |
#define zo | ( | a, | |
b, | |||
c | |||
) | hit_tileElemAtNoStride3(m_zo,a,b,c) |
#define zu u |
void add | ( | HitTile_double | m_x, |
HitTile_double | m_y | ||
) |
void apply_correction | ( | HitTile_double | u, |
HitTile_double | r, | ||
int | k | ||
) |
void bubble | ( | double | ten[mm][2], |
int | ten_index[mm][2][3], | ||
int | ind | ||
) |
void free_resources | ( | ) |
hit_tileNewType | ( | double | ) |
void interp | ( | HitTile_double | m_zo, |
HitTile_double | m_z, | ||
int | k | ||
) |
int main | ( | int | argc, |
char ** | argv | ||
) |
double norm2u3 | ( | HitTile_double | m_r, |
int | k | ||
) |
double power | ( | double | a, |
int | n | ||
) |
void psinv | ( | HitTile_double | m_z, |
HitTile_double | m_r, | ||
int | k | ||
) |
void resid | ( | HitTile_double | m_u, |
HitTile_double | m_v, | ||
HitTile_double | m_r, | ||
int | k | ||
) |
void rprj3 | ( | HitTile_double | m_ro, |
HitTile_double | m_r, | ||
int | k | ||
) |
void setup | ( | ) |
void v_cycle | ( | HitTile_double | r, |
HitTile_double | z, | ||
int | k | ||
) |
void warming_up | ( | ) |
void zero3 | ( | HitTile_double | tile | ) |
void zran3 | ( | HitTile_double | matrix | ) |
double operatorA[4] = {-8.0/3.0, 0.0, 1.0/6.0, 1.0/12.0} |
double operatorP[4] = {1.0/2.0, 1.0/4.0, 1.0/8.0, 1.0/16.0} |
double operatorQ[4] = {1.0, 1.0/2.0, 1.0/4.0, 1.0/8.0} |
double operatorS[4] = {-3.0/8.0, 1.0/32.0, -1.0/64.0, 0.0} |
HitPattern pattern_r[k_num] |
HitPattern pattern_v |
HitPattern pattern_z[k_num] |
HitPattern pattern_z_ex[k_num] |
HitTopology topology |