Brick Library 0.1
Performance-portable stencil datalayout & codegen
|
Metadata related to bricks. More...
#include <brick.h>
Public Types | |
typedef unsigned(* | adjlist)[static_power< 3, dims >::value] |
Adjacency list type. | |
typedef unsigned(* | adjlist)[static_power< 3, dims >::value] |
Public Member Functions | |
BrickInfo (unsigned nbricks) | |
Creating an empty metadata consisting of the specified number of bricks. | |
BrickStorage | allocate (long step) |
Allocate a new brick storage BrickStorage::allocate() | |
BrickStorage | mmap_alloc (long step) |
Allocate a new brick storage BrickStorage::mmap_alloc(long, long) | |
BrickStorage | mmap_alloc (long step, void *mmap_fd, size_t offset) |
Allocate a new brick storage BrickStorage::mmap_alloc(long, long, void*, size_t) | |
Public Attributes | |
adjlist | adj |
Adjacency list. | |
unsigned | nbricks |
Number of bricks in this list. | |
Metadata related to bricks.
dims |
It stores the adjacency list used by the computation. One of this data structure can be shared among multiple bricks. In fact, for computation to succeed, it will require having the same adjacencies for all participating bricks.
Each index of the adjacency list will indicate the memory location in the BrickStorage.
Metadata can be used to allocate storage with minimal effort. It is recommended to build the metadata before creating the storage.
typedef unsigned(* BrickInfo< dims >::adjlist)[static_power< 3, dims >::value] |
Adjacency list type.
typedef unsigned(* BrickInfo< dims >::adjlist)[static_power< 3, dims >::value] |
|
inlineexplicit |
Creating an empty metadata consisting of the specified number of bricks.
nbricks | number of bricks |
|
inline |
|
inline |
Allocate a new brick storage BrickStorage::mmap_alloc(long, long)
|
inline |
Allocate a new brick storage BrickStorage::mmap_alloc(long, long, void*, size_t)
unsigned BrickInfo< dims >::nbricks |
Number of bricks in this list.