Brick Library 0.1
Performance-portable stencil datalayout & codegen
Loading...
Searching...
No Matches
Classes | Macros
brick.h File Reference

Main header for bricks. More...

#include <stdlib.h>
#include <type_traits>
#include <memory>
#include "vecscatter.h"
Include dependency graph for brick.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  static_power< base, exp >
 Compute \(base^{exp}\) Statically compute exponentials. More...
 
struct  static_power< base, 0 >
 Return 1 Statically compute exponentials. More...
 
struct  BrickStorage
 Initializing and holding the storage of bricks. More...
 
struct  BrickInfo< dims >
 Metadata related to bricks. More...
 
struct  Dim< Ds >
 Empty template to specify an n-D list. More...
 
struct  cal_size< x >
 return x when only one number left Calculate the product of n numbers in a template More...
 
struct  cal_size< x, xs... >
 Head of the list multiply by result from the rest of list Calculate the product of n numbers in a template. More...
 
struct  cal_offs< 1, off >
 Return offset when only one offset left Calculating the offset within the adjacency list. More...
 
struct  cal_offs< dim, off, offs... >
 Compute the offset Calculating the offset within the adjacency list. More...
 
struct  _BrickAccessor< T, Dim< D >, Dim< F >, bool >
 Last dimension Accessing brick elements using []. More...
 
struct  _BrickAccessor< T, Dim< D, BDims... >, Dim< F, Folds... >, bool >
 When the number of Brick dimensions and Fold dimensions are the same Accessing brick elements using []. More...
 
struct  _BrickAccessor< T, Dim< D, BDims... >, Dim< Folds... >, void >
 When the number of Brick dimensions and Fold dimensions are not the same \(1 + BDims > Folds\) Accessing brick elements using []. More...
 
struct  Brick< Dim< BDims... >, Dim< Folds... > >
 Brick data structure. More...
 

Macros

#define ALIGN   2048
 BrickStorage allocation alignment.
 
#define FORCUDA
 Overloaded attributes for potentially GPU-usable functions (in place of host device etc.)
 

Detailed Description

Main header for bricks.

Macro Definition Documentation

◆ ALIGN

#define ALIGN   2048

BrickStorage allocation alignment.

◆ FORCUDA

#define FORCUDA

Overloaded attributes for potentially GPU-usable functions (in place of host device etc.)