/pytato

Lazily evaluated arrays in Python (super duper alpha for now)

Primary LanguagePythonOtherNOASSERTION

Pytato: Get Descriptions of Array Computations via Lazy Evaluation

Gitlab Build Status Github Build Status Python Package Index Release Page

Imagine TensorFlow, but aimed at HPC. Produces a data flow graph, where the edges carry arrays and the nodes are (give or take) static-control programs that compute array outputs from inputs, possibly (but not necessarily) expressed in Loopy. A core assumption is that the graph represents a computation that's being repeated often enough that it is worthwhile to do expensive processing on it (code generation, fusion, OpenCL compilation, etc).

  • Documentation (read how things work, see an example)
  • Github (get latest source code, file bugs)

Pytato is licensed to you under the MIT/X Consortium license. See the documentation for further details.

Numpy compatibility

Pytato is written to pose no particular restrictions on the version of numpy used for execution. To use mypy-based type checking on Pytato itself or packages using Pytato, numpy 1.20 or newer is required, due to the typing-based changes to numpy in that release.