Wrapper package for the einsum benchmark dataset and code to create new instances of the various types used in the benchmark
Project description
Einsum Benchmark Data
Benchmark data repository accompanying the paper: "Einsum Benchmark: Enabling the Development of Next-Generation Tensor Execution Engines". It includes a package to easily work with the benmark data and all methods we used to convert and create our instances so you can create new ones yourself.
Installation
Install our base package, you will need at least python 3.10:
pip install einsum_benchmark
Basic Usage
Now you can load and run an instance like this:
import opt_einsum as oe
import einsum_benchmark
instance = einsum_benchmark.instances["qc_circuit_n49_m14_s9_e6_pEFGH_simplified"]
opt_size_path_meta = instance.paths.opt_size
print("Size optimized path")
print("log10[FLOPS]:", round(opt_size_path_meta.flops, 2))
print("log2[SIZE]:", round(opt_size_path_meta.size, 2))
result = oe.contract(
instance.format_string, *instance.tensors, optimize=opt_size_path_meta.path
)
print("sum[OUTPUT]:", result.sum(), instance.result_sum)
For more information please read our docs.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
einsum_benchmark-0.1.5.tar.gz
(73.8 kB
view hashes)
Built Distribution
Close
Hashes for einsum_benchmark-0.1.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eba14b97525da90633512595c7531935431b97c18db38babb7b5a42c25aefb8b |
|
MD5 | a7e726b80b0ee3ca5e772d42768a5da8 |
|
BLAKE2b-256 | 340f0fa2467c6b820c539b8b1bb820866a4740c2c27d4d8e6f8254d61629a014 |