OffChipMem¶
OffChipMems are pointers to locations in the accelerators main memory to dense multi-dimensional arrays. They are the primary form of communication of data between the host and the accelerator. Data may be loaded to and from the accelerator in contiguous chunks (Tiles). Other access patterns will be supported soon!
Static methods¶
def apply(name: String, dims: Index*)(implicit ev0: Num[T]): OffChipMem[T]
Creates a reference to a multi-dimensional array in main memory with given name and dimensions
def apply(dims: Index*)(implicit ev0: Num[T]): OffChipMem[T]
Creates a reference to an unnamed multi-dimensional array in main memory with given dimensions
Infix methods¶
def apply(cols: Range): Tile[T]
Creates a reference to a 1D Tile of this 1D OffChipMem which can be loaded into on-chip BRAM.
def apply(rows: Range, cols: Range): Tile[T]
Creates a reference to a 2D Tile of this 2D OffChipMem which can be loaded into on-chip BRAM.
def apply(rows: Range, cols: Range, pages: Range): Tile[T]
Creates a reference to a 3D Tile of this 3D OffChipMem which can be loaded into on-chip BRAM.
def apply(row: Index, cols: Range): Tile[T]
Creates a reference to a 1D row Tile of this 2D OffChipMem
def apply(rows: Range, col: Index): Tile[T]
Creates a reference to a 1D column Tile of this 2D OffChipMem
def apply(row: Index, cols: Range, pages: Range): Tile[T]
Creates a reference to a 2D column/page Tile of this 3D OffChipMem
def apply(rows: Range, col: Index, pages: Range): Tile[T]
Creates a reference to a 2D row/page Tile of this 3D OffChipMem
def apply(rows: Range, cols: Range, page: Index): Tile[T]
Creates a reference to a 2D row/column Tile of this 3D OffChipMem
def apply(row: Index, col: Index, pages: Range): Tile[T]
Creates a reference to a 1D page Tile of this 3D OffChipMem
def apply(row: Index, cols: Range, page: Index): Tile[T]
Creates a reference to a 1D column Tile of this 3D OffChipMem
def apply(rows: Range, col: Index, page: Index): Tile[T]
Creates a reference to a 1D row Tile of this 3D OffChipMem