Skip to content

Latest commit

 

History

History
34 lines (27 loc) · 774 Bytes

README.md

File metadata and controls

34 lines (27 loc) · 774 Bytes

YATeTo

It is Yet Another Tensor Toolbox for discontinuous Galerkin methods and other applications. You can find much more information about the package here.

Installation

pip install -e .

Usage

from yateto import *

...
def add(g):
  N = 8
  A = Tensor('A', (N, N))
  B = Tensor('B', (N, N, N))
  w = Tensor('w', (N,))
  C = Tensor('C', (N, N))
  
  kernel = C['ij'] <= 2.0 * C['ij'] + A['lj'] * B['ikl'] * w['k']
  g.add(name='kernel', ast=kernel)

# 'd' - double precision; 'hsw' - haswell-like architecture
arch = useArchitectureIdentifiedBy("dhsw")
generator = Generator(arch)
add(generator)
generator.generate(output_dir, GeneratorCollection([LIBXSMM(arch), Eigen(arch)]))
...