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 |