|
Brick Library 0.1
Performance-portable stencil datalayout & codegen
|
#include <iostream>#include <memory>#include <omp.h>#include <random>#include "brick.h"#include "bricksetup.h"#include "multiarray.h"#include "brickcompare.h"#include <immintrin.h>Macros | |
| #define | VSVEC "AVX2" |
| #define | VFOLD 2,2 |
| #define | N 256 |
| #define | TILE 8 |
| #define | GZ TILE |
| #define | PADDING 8 |
| #define | STRIDE (N + 2 * (GZ + PADDING)) |
| #define | STRIDEG (N + 2 * GZ) |
| #define | NB (N / TILE) |
| #define | GB (GZ / TILE) |
| #define | STRIDEB ((N + 2 * GZ) / TILE) |
| #define | BDIM TILE,TILE,TILE |
| #define | TOT_TIME 5 |
| #define | _PARFOR _Pragma("omp parallel for collapse(2)") |
| #define | _TILEFOR |
| #define | bIn(i, j, k) arr_in[k][j][i] |
| #define | bOut(i, j, k) arr_out[k][j][i] |
Functions | |
| template<typename T > | |
| double | time_func (T func) |
| void | d3pt7 () |
| int | main () |
Variables | |
| bElem * | coeff |
| #define _PARFOR _Pragma("omp parallel for collapse(2)") |
| #define _TILEFOR |
| #define bIn | ( | i, | |
| j, | |||
| k | |||
| ) | arr_in[k][j][i] |
| #define bOut | ( | i, | |
| j, | |||
| k | |||
| ) | arr_out[k][j][i] |
| #define GZ TILE |
| #define N 256 |
| #define PADDING 8 |
| #define TILE 8 |
| #define TOT_TIME 5 |
| #define VFOLD 2,2 |
| #define VSVEC "AVX2" |
| void d3pt7 | ( | ) |
| int main | ( | ) |
| double time_func | ( | T | func | ) |
| bElem* coeff |