https://github.com/seissol/yateto
https://github.com/seissol/yateto
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/seissol/yateto
- Owner: SeisSol
- License: bsd-3-clause
- Created: 2019-03-26T15:11:18.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2025-03-11T21:37:51.000Z (over 1 year ago)
- Last Synced: 2025-03-21T17:24:38.523Z (about 1 year ago)
- Language: Python
- Size: 782 KB
- Stars: 6
- Watchers: 12
- Forks: 5
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# YATeTo
It is **Y**et **A**nother **Te**nsor **To**olbox for discontinuous Galerkin methods and other
applications. You can find much more information about the package
[here](https://arxiv.org/abs/1903.11521).
## Installation
```bash
pip install -e .
```
## Usage
```python
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)]))
...
```