Brick Library 0.1
Performance-portable stencil datalayout & codegen
|
Public Member Functions | |
def | __init__ (self) |
def | setLayout (self, layout) |
def | prequel (self, toplevel) |
def | declare_buf (self, Buffer buf, CodeBlock block) |
def | declare_gridref (self, Grid grid, CodeBlock block) |
def | genVectorLoop (self, CodeBlock group) |
def | genStoreLoop (self, CodeBlock group) |
def | gen_lhs (self, Buffer buf, List[int] offset, rel=None, dimrels=None) |
def | gen_rhs (self, Expr comp, List[int] shift, List[int] offset, rel=None, dimrels=None) |
def | declare_reg (self, name, CodeBlock block) |
def | declare_vec (self, name, CodeBlock block) |
def | store_vecbuf (self, vecbuf_name, reg_name, CodeBlock block) |
def | merge (self, rego, regl, regr, dim, shift, CodeBlock block) |
def | read_aligned (self, Grid grid, offset, str name, CodeBlock block, rel=None) |
Public Member Functions inherited from st.codegen.backend.base.Backend | |
def | __init__ (self) |
def | setCodeGen (self, codegen) |
def | setLayout (self, layout) |
def | prequel (self, toplevel) |
def | checkConfig (self) |
def | declare_buf (self, Buffer buf, CodeBlock block) |
def | declare_gridref (self, Grid grid, CodeBlock block) |
def | stride (self, dim) |
def | declare_vecbuf (self, Grid grid, vec_shift, CodeBlock block) |
def | genVectorLoop (self, CodeBlock group) |
def | genStoreLoop (self, CodeBlock group) |
def | store (self, Buffer buf, CodeBlock group) |
def | storeTile (self, Buffer buf, CodeBlock group) |
def | genStoreLoc (self, Grid grid, shift, offset, rel, dimrels) |
def | genStoreTileLoop (self, CodeBlock group, dims) |
def | gen_lhs (self, Buffer buf, List[int] offset, rel=None, dimrels=None) |
def | gen_rhs (self, Expr comp, List[int] shift, List[int] offset, rel=None, dimrels=None) |
def | declare_reg (self, name, CodeBlock block) |
def | declare_vec (self, name, CodeBlock block) |
def | store_vecbuf (self, vecbuf_name, reg_name, CodeBlock block) |
def | merge (self, rego, regl, regr, dim, shift, CodeBlock block) |
def | read_aligned (self, Grid grid, offset, str name, CodeBlock block, rel=None) |
Public Attributes | |
VECLEN | |
Public Attributes inherited from st.codegen.backend.base.Backend | |
printer | |
codegen | |
prec | |
layout | |
STRIDE | |
VECLEN | |
ALIGNED | |
Additional Inherited Members | |
Static Public Member Functions inherited from st.codegen.backend.base.Backend | |
def | gridref_name (grid) |
def | vectmp_name (idx) |
def | vecbuf_name (grid, vec_shift) |
def | vecreg_name (grid, vec_shift) |
def | index_name (idx) |
def | rel_name (idx=None) |
Static Public Attributes inherited from st.codegen.backend.base.Backend | |
str | preffix = "_cg" |
def st.codegen.backend.avx512.BackendAVX512.__init__ | ( | self | ) |
Reimplemented from st.codegen.backend.base.Backend.
Reimplemented in st.codegen.backend.asimd.BackendASIMD, st.codegen.backend.avx2.BackendAVX2, st.codegen.backend.flex.BackendFlex, st.codegen.backend.sse.BackendSSE, and st.codegen.backend.asimd.BackendSVE.
Reimplemented from st.codegen.backend.base.Backend.
def st.codegen.backend.avx512.BackendAVX512.declare_reg | ( | self, | |
name, | |||
CodeBlock | block | ||
) |
Reimplemented from st.codegen.backend.base.Backend.
def st.codegen.backend.avx512.BackendAVX512.declare_vec | ( | self, | |
name, | |||
CodeBlock | block | ||
) |
def st.codegen.backend.avx512.BackendAVX512.gen_lhs | ( | self, | |
Buffer | buf, | ||
List[int] | offset, | ||
rel = None , |
|||
dimrels = None |
|||
) |
Reimplemented from st.codegen.backend.base.Backend.
def st.codegen.backend.avx512.BackendAVX512.gen_rhs | ( | self, | |
Expr | comp, | ||
List[int] | shift, | ||
List[int] | offset, | ||
rel = None , |
|||
dimrels = None |
|||
) |
:param comp: The expression to print :param shift: The shift of scatter :param offset: Scattered from :param rel: Added offset when using loops :return:
Reimplemented from st.codegen.backend.base.Backend.
def st.codegen.backend.avx512.BackendAVX512.genStoreLoop | ( | self, | |
CodeBlock | group | ||
) |
Reimplemented from st.codegen.backend.base.Backend.
def st.codegen.backend.avx512.BackendAVX512.genVectorLoop | ( | self, | |
CodeBlock | group | ||
) |
Reimplemented from st.codegen.backend.base.Backend.
def st.codegen.backend.avx512.BackendAVX512.merge | ( | self, | |
rego, | |||
regl, | |||
regr, | |||
dim, | |||
shift, | |||
CodeBlock | block | ||
) |
Reimplemented from st.codegen.backend.base.Backend.
Reimplemented in st.codegen.backend.asimd.BackendASIMD, st.codegen.backend.asimd.BackendSVE, st.codegen.backend.avx2.BackendAVX2, st.codegen.backend.flex.BackendFlex, and st.codegen.backend.sse.BackendSSE.
def st.codegen.backend.avx512.BackendAVX512.prequel | ( | self, | |
toplevel | |||
) |
Reimplemented from st.codegen.backend.base.Backend.
def st.codegen.backend.avx512.BackendAVX512.setLayout | ( | self, | |
layout | |||
) |
Reimplemented from st.codegen.backend.base.Backend.
Reimplemented in st.codegen.backend.flex.BackendFlex.
def st.codegen.backend.avx512.BackendAVX512.store_vecbuf | ( | self, | |
vecbuf_name, | |||
reg_name, | |||
CodeBlock | block | ||
) |
st.codegen.backend.avx512.BackendAVX512.VECLEN |