Get Descriptions of Array Computations via Lazy Evaluation
Project description
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)
Example:
import pytato as pt import numpy as np ns = pt.Namespace() pt.SizeParameter(ns, "n") # -> prescribes shape=(), dtype=np.intp a = pt.Placeholder(ns, "a", "n,n", dtype=np.float32) # Also: pt.roll # If we can: np.roll a2a = a@(2*a) aat = a@a.T # FIXME: those names are only local...? # maybe change name of DictOfNamedArrays result = pt.DictOfNamedArrays({"a2a": a2a, "aat": aat}) prg = pt.generate_loopy(result)
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pytato-2021.1.tar.gz
.
File metadata
- Download URL: pytato-2021.1.tar.gz
- Upload date:
- Size: 46.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.1+
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 568276778521ae1ac78412161ce5041e072cbeca21555321b1b0925a52957071 |
|
MD5 | d0b79b9255a7b149d40d5957ae9d4779 |
|
BLAKE2b-256 | e05bd59dfd98c54a4751f5f70b0e4c0d3ff23ed9a3eb1bdacb76f765897751fb |