tensorstudio 1.5.0__tar.gz → 1.5.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/CHANGELOG.md +13 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/CMakeLists.txt +1 -1
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/PKG-INFO +2 -2
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/README.md +1 -1
- tensorstudio-1.5.1/benchmarks/results.md +343 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/autograd/coverage.md +1 -1
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/core/api-reference.md +5 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/core/broadcasting.md +6 -4
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/hardware/cpu-backend.md +1 -1
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/index.md +1 -1
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/interchange/onnx.md +1 -1
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/interchange/serialization.md +1 -1
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/nn/training.md +1 -1
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/performance/benchmarks.md +1 -1
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/release/publishing.md +4 -4
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/release/versioning.md +2 -2
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/roadmap/roadmap.md +3 -2
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/include/tensorstudio/version.hpp +1 -1
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/pyproject.toml +1 -1
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/_version.py +1 -1
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/src/bindings/bind_tensor.cpp +45 -10
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/src/core/dtype.cpp +8 -1
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/src/core/ops.cpp +12 -3
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/src/core/shape.cpp +17 -5
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/src/core/tensor.cpp +3 -1
- tensorstudio-1.5.1/tests/test_errors.py +61 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/tests/test_import.py +1 -1
- tensorstudio-1.5.0/benchmarks/results.md +0 -343
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/.gitattributes +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/.github/workflows/ci.yml +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/.github/workflows/publish-testpypi.yml +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/.github/workflows/publish.yml +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/.github/workflows/wheels.yml +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/.gitignore +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/.pre-commit-config.yaml +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/CONTRIBUTING.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/LICENSE +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/SECURITY.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/benchmark_all.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/benchmarks/__init__.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/benchmarks/bench_activations.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/benchmarks/bench_autograd.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/benchmarks/bench_conv2d.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/benchmarks/bench_elementwise.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/benchmarks/bench_matmul.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/benchmarks/bench_pooling.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/benchmarks/bench_reductions.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/benchmarks/bench_tensor_ops.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/benchmarks/bench_training_loop.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/benchmarks/benchmark_report.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/benchmarks/results_conv2d.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/benchmarks/results_matmul.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/benchmarks/results_pooling.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/benchmarks/results_reductions.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/benchmarks/results_tensor_ops.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/autograd/gradient-notes.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/autograd/overview.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/core/native-cpp-core.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/core/tensors.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/data/dataloader-patterns.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/data/datasets-and-dataloaders.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/data/tensor-datasets.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/development/contributing.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/development/cpp-first.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/getting-started/installation.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/getting-started/quickstart.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/getting-started/source-build.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/hardware/linux.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/hardware/macos.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/hardware/windows.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/interchange/model-formats.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/interchange/numpy-interop.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/interchange/trusted-serialization.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/nn/modules.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/nn/optimizers.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/nn/overview.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/performance/optimization.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/performance/profiling.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/project/checkpoints.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/project/project-layout.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/project/workflows.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/release/checklist.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/roadmap/milestones.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/roadmap/priorities.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/vision/dataset-creation.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/docs/vision/overview.md +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/examples/basic_tensor_ops.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/examples/export_onnx.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/examples/image_folder_classification.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/examples/linear_regression.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/examples/project_training.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/examples/save_load_model.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/examples/tiny_mlp.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/examples/vision_classifier.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/include/tensorstudio/autograd.hpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/include/tensorstudio/device.hpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/include/tensorstudio/dtype.hpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/include/tensorstudio/errors.hpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/include/tensorstudio/module.hpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/include/tensorstudio/ops.hpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/include/tensorstudio/optim.hpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/include/tensorstudio/random.hpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/include/tensorstudio/serialization.hpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/include/tensorstudio/shape.hpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/include/tensorstudio/storage.hpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/include/tensorstudio/tensor.hpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/mkdocs.yml +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/_C.pyi +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/__init__.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/autograd.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/data/__init__.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/data/dataloader.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/data/dataset.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/dtypes.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/errors.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/grad_mode.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/interchange/__init__.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/interchange/onnx.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/math.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/nn/__init__.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/nn/functional.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/nn/losses.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/nn/modules.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/ops.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/optim/__init__.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/optim/adam.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/optim/adamw.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/optim/lr_scheduler.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/optim/sgd.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/optim/utils.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/project/__init__.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/project/checkpoint.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/project/config.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/project/trainer.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/py.typed +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/serialization.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/tensor.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/typing.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/vision/__init__.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/vision/datasets.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/vision/io.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/vision/metrics.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/vision/models.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/vision/transforms.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/python/tensorstudio/vision/visualization.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/src/bindings/bind_autograd.cpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/src/bindings/bind_nn.cpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/src/bindings/bind_ops.cpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/src/bindings/bind_optim.cpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/src/bindings/bindings.cpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/src/bindings/bindings.hpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/src/core/autograd.cpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/src/core/device.cpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/src/core/errors.cpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/src/core/module.cpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/src/core/optim.cpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/src/core/random.cpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/src/core/serialization.cpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/src/core/storage.cpp +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/test_all.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/tests/test_autograd.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/tests/test_benchmark_report.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/tests/test_broadcasting.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/tests/test_data.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/tests/test_indexing.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/tests/test_interchange.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/tests/test_nn.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/tests/test_numpy_interop.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/tests/test_ops.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/tests/test_optim.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/tests/test_project.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/tests/test_serialization.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/tests/test_tensor.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/tests/test_views.py +0 -0
- {tensorstudio-1.5.0 → tensorstudio-1.5.1}/tests/test_vision.py +0 -0
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 1.5.1 - 2026-07-07
|
|
6
|
+
|
|
7
|
+
- Completed the next ordered correctness-roadmap item with clearer native
|
|
8
|
+
shape, dtype, and indexing error messages.
|
|
9
|
+
- Broadcasting errors now include the mismatched axis and dimensions.
|
|
10
|
+
- Reshape errors now include requested element counts and inferred-shape
|
|
11
|
+
context.
|
|
12
|
+
- DType errors now validate Python dtype inputs and list supported dtype names
|
|
13
|
+
and aliases.
|
|
14
|
+
- Indexing errors now include tensor shape/rank context and the unsupported
|
|
15
|
+
Python index type/value where practical.
|
|
16
|
+
- Added focused regression tests for the improved diagnostics.
|
|
17
|
+
|
|
5
18
|
## 1.5.0 - 2026-07-07
|
|
6
19
|
|
|
7
20
|
- Completed the next ordered correctness-roadmap item with native C++ view and
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: tensorstudio
|
|
3
|
-
Version: 1.5.
|
|
3
|
+
Version: 1.5.1
|
|
4
4
|
Summary: TensorStudio is a compact C++ tensor and autograd engine with a Python API for learning, experimentation, and lightweight ML workloads.
|
|
5
5
|
Keywords: tensor,autograd,machine-learning,cpp,pybind11
|
|
6
6
|
Author: TensorStudio contributors
|
|
@@ -71,7 +71,7 @@ Description-Content-Type: text/markdown
|
|
|
71
71
|
TensorStudio is a compact C++ tensor and autograd engine with a Python API for
|
|
72
72
|
learning, experimentation, and lightweight ML workloads.
|
|
73
73
|
|
|
74
|
-
TensorStudio `1.5.
|
|
74
|
+
TensorStudio `1.5.1` is a CPU-only stable API foundation. It is eager-only,
|
|
75
75
|
intentionally small, and not a replacement for mature ML frameworks.
|
|
76
76
|
|
|
77
77
|
## Install
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
TensorStudio is a compact C++ tensor and autograd engine with a Python API for
|
|
8
8
|
learning, experimentation, and lightweight ML workloads.
|
|
9
9
|
|
|
10
|
-
TensorStudio `1.5.
|
|
10
|
+
TensorStudio `1.5.1` is a CPU-only stable API foundation. It is eager-only,
|
|
11
11
|
intentionally small, and not a replacement for mature ML frameworks.
|
|
12
12
|
|
|
13
13
|
## Install
|
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
# TensorStudio Benchmark Results
|
|
2
|
+
|
|
3
|
+
These benchmarks are local references, not marketing claims.
|
|
4
|
+
TensorStudio is compared on CPU only and uses the same shapes and dtype.
|
|
5
|
+
|
|
6
|
+
## Environment
|
|
7
|
+
|
|
8
|
+
- Platform: `Windows-10-10.0.26200-SP0`
|
|
9
|
+
- Processor: `Intel64 Family 6 Model 158 Stepping 10, GenuineIntel`
|
|
10
|
+
- Python: `3.10.11`
|
|
11
|
+
- TensorStudio: `1.5.1`
|
|
12
|
+
- NumPy: `1.26.4`
|
|
13
|
+
- TensorFlow CPU eager: unavailable (not installed)
|
|
14
|
+
- PyTorch CPU: unavailable (not installed)
|
|
15
|
+
- JAX CPU dispatch: available (0.6.2)
|
|
16
|
+
|
|
17
|
+
## Summary
|
|
18
|
+
|
|
19
|
+
- TensorStudio wins versus NumPy: `21`
|
|
20
|
+
- TensorStudio losses versus NumPy: `82`
|
|
21
|
+
- TensorStudio wins versus JAX CPU dispatch: `84`
|
|
22
|
+
- TensorStudio losses versus JAX CPU dispatch: `14`
|
|
23
|
+
|
|
24
|
+
TensorStudio beat NumPy on at least one local benchmark case. See the detailed table before making any narrow performance claim.
|
|
25
|
+
|
|
26
|
+
## Detailed Results
|
|
27
|
+
|
|
28
|
+
| category | operation | shape | library | median ms | mean ms | min ms | max ms | std ms | TS vs NumPy | TS vs TensorFlow | TS vs PyTorch | TS vs JAX | win vs NumPy | win vs TensorFlow | win vs PyTorch | win vs JAX | fastest library | result |
|
|
29
|
+
|---|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|---|---|---|---|---|
|
|
30
|
+
| elementwise | add | `(1,)` | TensorStudio | 0.0046 | 0.0046 | 0.0044 | 0.0049 | 0.0002 | 0.1463 | n/a | n/a | 2.5621 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
31
|
+
| elementwise | add | `(1,)` | NumPy | 0.0007 | 0.0007 | 0.0006 | 0.0007 | 0.0000 | 0.1463 | n/a | n/a | 2.5621 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
32
|
+
| elementwise | add | `(1,)` | JAX CPU dispatch | 0.0118 | 0.0121 | 0.0116 | 0.0133 | 0.0006 | 0.1463 | n/a | n/a | 2.5621 | no | n/a | n/a | yes | NumPy | reference |
|
|
33
|
+
| elementwise | sub | `(1,)` | TensorStudio | 0.0026 | 0.0027 | 0.0025 | 0.0031 | 0.0002 | 0.2657 | n/a | n/a | 4.7203 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
34
|
+
| elementwise | sub | `(1,)` | NumPy | 0.0007 | 0.0007 | 0.0007 | 0.0007 | 0.0000 | 0.2657 | n/a | n/a | 4.7203 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
35
|
+
| elementwise | sub | `(1,)` | JAX CPU dispatch | 0.0124 | 0.0129 | 0.0116 | 0.0157 | 0.0015 | 0.2657 | n/a | n/a | 4.7203 | no | n/a | n/a | yes | NumPy | reference |
|
|
36
|
+
| elementwise | mul | `(1,)` | TensorStudio | 0.0025 | 0.0027 | 0.0024 | 0.0034 | 0.0004 | 0.2737 | n/a | n/a | 4.6423 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
37
|
+
| elementwise | mul | `(1,)` | NumPy | 0.0007 | 0.0007 | 0.0007 | 0.0007 | 0.0000 | 0.2737 | n/a | n/a | 4.6423 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
38
|
+
| elementwise | mul | `(1,)` | JAX CPU dispatch | 0.0116 | 0.0120 | 0.0113 | 0.0129 | 0.0007 | 0.2737 | n/a | n/a | 4.6423 | no | n/a | n/a | yes | NumPy | reference |
|
|
39
|
+
| elementwise | div | `(1,)` | TensorStudio | 0.0026 | 0.0026 | 0.0025 | 0.0028 | 0.0002 | 0.2761 | n/a | n/a | 3.4863 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
40
|
+
| elementwise | div | `(1,)` | NumPy | 0.0007 | 0.0007 | 0.0007 | 0.0008 | 0.0000 | 0.2761 | n/a | n/a | 3.4863 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
41
|
+
| elementwise | div | `(1,)` | JAX CPU dispatch | 0.0089 | 0.0089 | 0.0087 | 0.0093 | 0.0002 | 0.2761 | n/a | n/a | 3.4863 | no | n/a | n/a | yes | NumPy | reference |
|
|
42
|
+
| elementwise | chain_relu((x*2+1)/3) | `(1,)` | TensorStudio | 0.0097 | 0.0098 | 0.0096 | 0.0100 | 0.0002 | 0.5552 | n/a | n/a | 8.9392 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
43
|
+
| elementwise | chain_relu((x*2+1)/3) | `(1,)` | NumPy | 0.0054 | 0.0054 | 0.0053 | 0.0055 | 0.0001 | 0.5552 | n/a | n/a | 8.9392 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
44
|
+
| elementwise | chain_relu((x*2+1)/3) | `(1,)` | JAX CPU dispatch | 0.0866 | 0.0879 | 0.0853 | 0.0946 | 0.0034 | 0.5552 | n/a | n/a | 8.9392 | no | n/a | n/a | yes | NumPy | reference |
|
|
45
|
+
| elementwise | add | `(8,)` | TensorStudio | 0.0026 | 0.0026 | 0.0025 | 0.0028 | 0.0001 | 0.2500 | n/a | n/a | 4.5588 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
46
|
+
| elementwise | add | `(8,)` | NumPy | 0.0006 | 0.0006 | 0.0006 | 0.0007 | 0.0000 | 0.2500 | n/a | n/a | 4.5588 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
47
|
+
| elementwise | add | `(8,)` | JAX CPU dispatch | 0.0117 | 0.0135 | 0.0112 | 0.0174 | 0.0026 | 0.2500 | n/a | n/a | 4.5588 | no | n/a | n/a | yes | NumPy | reference |
|
|
48
|
+
| elementwise | sub | `(8,)` | TensorStudio | 0.0026 | 0.0027 | 0.0025 | 0.0029 | 0.0001 | 0.2685 | n/a | n/a | 4.3732 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
49
|
+
| elementwise | sub | `(8,)` | NumPy | 0.0007 | 0.0007 | 0.0007 | 0.0008 | 0.0000 | 0.2685 | n/a | n/a | 4.3732 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
50
|
+
| elementwise | sub | `(8,)` | JAX CPU dispatch | 0.0114 | 0.0115 | 0.0109 | 0.0122 | 0.0004 | 0.2685 | n/a | n/a | 4.3732 | no | n/a | n/a | yes | NumPy | reference |
|
|
51
|
+
| elementwise | mul | `(8,)` | TensorStudio | 0.0026 | 0.0026 | 0.0025 | 0.0028 | 0.0001 | 0.2685 | n/a | n/a | 4.3188 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
52
|
+
| elementwise | mul | `(8,)` | NumPy | 0.0007 | 0.0007 | 0.0007 | 0.0007 | 0.0000 | 0.2685 | n/a | n/a | 4.3188 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
53
|
+
| elementwise | mul | `(8,)` | JAX CPU dispatch | 0.0114 | 0.0114 | 0.0112 | 0.0116 | 0.0002 | 0.2685 | n/a | n/a | 4.3188 | no | n/a | n/a | yes | NumPy | reference |
|
|
54
|
+
| elementwise | div | `(8,)` | TensorStudio | 0.0025 | 0.0025 | 0.0025 | 0.0026 | 0.0000 | 0.2907 | n/a | n/a | 3.4709 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
55
|
+
| elementwise | div | `(8,)` | NumPy | 0.0007 | 0.0009 | 0.0007 | 0.0013 | 0.0002 | 0.2907 | n/a | n/a | 3.4709 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
56
|
+
| elementwise | div | `(8,)` | JAX CPU dispatch | 0.0088 | 0.0088 | 0.0086 | 0.0090 | 0.0001 | 0.2907 | n/a | n/a | 3.4709 | no | n/a | n/a | yes | NumPy | reference |
|
|
57
|
+
| elementwise | chain_relu((x*2+1)/3) | `(8,)` | TensorStudio | 0.0096 | 0.0096 | 0.0096 | 0.0097 | 0.0001 | 0.5616 | n/a | n/a | 9.0605 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
58
|
+
| elementwise | chain_relu((x*2+1)/3) | `(8,)` | NumPy | 0.0054 | 0.0055 | 0.0052 | 0.0061 | 0.0003 | 0.5616 | n/a | n/a | 9.0605 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
59
|
+
| elementwise | chain_relu((x*2+1)/3) | `(8,)` | JAX CPU dispatch | 0.0872 | 0.0877 | 0.0853 | 0.0922 | 0.0024 | 0.5616 | n/a | n/a | 9.0605 | no | n/a | n/a | yes | NumPy | reference |
|
|
60
|
+
| elementwise | add | `(32,)` | TensorStudio | 0.0027 | 0.0028 | 0.0026 | 0.0030 | 0.0002 | 0.2932 | n/a | n/a | 4.6597 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
61
|
+
| elementwise | add | `(32,)` | NumPy | 0.0008 | 0.0008 | 0.0007 | 0.0009 | 0.0001 | 0.2932 | n/a | n/a | 4.6597 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
62
|
+
| elementwise | add | `(32,)` | JAX CPU dispatch | 0.0125 | 0.0126 | 0.0114 | 0.0139 | 0.0009 | 0.2932 | n/a | n/a | 4.6597 | no | n/a | n/a | yes | NumPy | reference |
|
|
63
|
+
| elementwise | sub | `(32,)` | TensorStudio | 0.0027 | 0.0027 | 0.0026 | 0.0028 | 0.0001 | 0.2489 | n/a | n/a | 4.3298 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
64
|
+
| elementwise | sub | `(32,)` | NumPy | 0.0007 | 0.0007 | 0.0007 | 0.0008 | 0.0000 | 0.2489 | n/a | n/a | 4.3298 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
65
|
+
| elementwise | sub | `(32,)` | JAX CPU dispatch | 0.0118 | 0.0119 | 0.0115 | 0.0122 | 0.0002 | 0.2489 | n/a | n/a | 4.3298 | no | n/a | n/a | yes | NumPy | reference |
|
|
66
|
+
| elementwise | mul | `(32,)` | TensorStudio | 0.0028 | 0.0028 | 0.0026 | 0.0030 | 0.0001 | 0.2489 | n/a | n/a | 4.3641 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
67
|
+
| elementwise | mul | `(32,)` | NumPy | 0.0007 | 0.0007 | 0.0007 | 0.0007 | 0.0000 | 0.2489 | n/a | n/a | 4.3641 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
68
|
+
| elementwise | mul | `(32,)` | JAX CPU dispatch | 0.0120 | 0.0124 | 0.0118 | 0.0138 | 0.0007 | 0.2489 | n/a | n/a | 4.3641 | no | n/a | n/a | yes | NumPy | reference |
|
|
69
|
+
| elementwise | div | `(32,)` | TensorStudio | 0.0026 | 0.0027 | 0.0026 | 0.0028 | 0.0001 | 0.2810 | n/a | n/a | 3.3462 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
70
|
+
| elementwise | div | `(32,)` | NumPy | 0.0007 | 0.0008 | 0.0007 | 0.0008 | 0.0000 | 0.2810 | n/a | n/a | 3.3462 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
71
|
+
| elementwise | div | `(32,)` | JAX CPU dispatch | 0.0088 | 0.0088 | 0.0087 | 0.0091 | 0.0002 | 0.2810 | n/a | n/a | 3.3462 | no | n/a | n/a | yes | NumPy | reference |
|
|
72
|
+
| elementwise | chain_relu((x*2+1)/3) | `(32,)` | TensorStudio | 0.0097 | 0.0096 | 0.0096 | 0.0097 | 0.0000 | 0.5735 | n/a | n/a | 9.0016 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
73
|
+
| elementwise | chain_relu((x*2+1)/3) | `(32,)` | NumPy | 0.0055 | 0.0058 | 0.0054 | 0.0068 | 0.0005 | 0.5735 | n/a | n/a | 9.0016 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
74
|
+
| elementwise | chain_relu((x*2+1)/3) | `(32,)` | JAX CPU dispatch | 0.0870 | 0.0872 | 0.0857 | 0.0895 | 0.0013 | 0.5735 | n/a | n/a | 9.0016 | no | n/a | n/a | yes | NumPy | reference |
|
|
75
|
+
| elementwise | add | `(128,)` | TensorStudio | 0.0027 | 0.0027 | 0.0026 | 0.0028 | 0.0001 | 0.2499 | n/a | n/a | 4.1616 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
76
|
+
| elementwise | add | `(128,)` | NumPy | 0.0007 | 0.0007 | 0.0006 | 0.0009 | 0.0001 | 0.2499 | n/a | n/a | 4.1616 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
77
|
+
| elementwise | add | `(128,)` | JAX CPU dispatch | 0.0114 | 0.0115 | 0.0113 | 0.0117 | 0.0002 | 0.2499 | n/a | n/a | 4.1616 | no | n/a | n/a | yes | NumPy | reference |
|
|
78
|
+
| elementwise | sub | `(128,)` | TensorStudio | 0.0027 | 0.0027 | 0.0026 | 0.0027 | 0.0000 | 0.2668 | n/a | n/a | 4.3693 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
79
|
+
| elementwise | sub | `(128,)` | NumPy | 0.0007 | 0.0007 | 0.0007 | 0.0008 | 0.0000 | 0.2668 | n/a | n/a | 4.3693 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
80
|
+
| elementwise | sub | `(128,)` | JAX CPU dispatch | 0.0116 | 0.0116 | 0.0112 | 0.0118 | 0.0002 | 0.2668 | n/a | n/a | 4.3693 | no | n/a | n/a | yes | NumPy | reference |
|
|
81
|
+
| elementwise | mul | `(128,)` | TensorStudio | 0.0026 | 0.0026 | 0.0026 | 0.0027 | 0.0000 | 0.2675 | n/a | n/a | 4.5237 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
82
|
+
| elementwise | mul | `(128,)` | NumPy | 0.0007 | 0.0007 | 0.0007 | 0.0007 | 0.0000 | 0.2675 | n/a | n/a | 4.5237 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
83
|
+
| elementwise | mul | `(128,)` | JAX CPU dispatch | 0.0118 | 0.0118 | 0.0117 | 0.0120 | 0.0001 | 0.2675 | n/a | n/a | 4.5237 | no | n/a | n/a | yes | NumPy | reference |
|
|
84
|
+
| elementwise | div | `(128,)` | TensorStudio | 0.0028 | 0.0030 | 0.0026 | 0.0040 | 0.0005 | 0.2712 | n/a | n/a | 3.1160 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
85
|
+
| elementwise | div | `(128,)` | NumPy | 0.0008 | 0.0009 | 0.0007 | 0.0014 | 0.0002 | 0.2712 | n/a | n/a | 3.1160 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
86
|
+
| elementwise | div | `(128,)` | JAX CPU dispatch | 0.0088 | 0.0098 | 0.0086 | 0.0140 | 0.0021 | 0.2712 | n/a | n/a | 3.1160 | no | n/a | n/a | yes | NumPy | reference |
|
|
87
|
+
| elementwise | chain_relu((x*2+1)/3) | `(128,)` | TensorStudio | 0.0101 | 0.0101 | 0.0100 | 0.0103 | 0.0001 | 0.5357 | n/a | n/a | 8.7850 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
88
|
+
| elementwise | chain_relu((x*2+1)/3) | `(128,)` | NumPy | 0.0054 | 0.0054 | 0.0054 | 0.0055 | 0.0000 | 0.5357 | n/a | n/a | 8.7850 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
89
|
+
| elementwise | chain_relu((x*2+1)/3) | `(128,)` | JAX CPU dispatch | 0.0889 | 0.0907 | 0.0872 | 0.0963 | 0.0032 | 0.5357 | n/a | n/a | 8.7850 | no | n/a | n/a | yes | NumPy | reference |
|
|
90
|
+
| elementwise | add | `(1024,)` | TensorStudio | 0.0032 | 0.0031 | 0.0030 | 0.0032 | 0.0001 | 0.3721 | n/a | n/a | 4.5073 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
91
|
+
| elementwise | add | `(1024,)` | NumPy | 0.0012 | 0.0011 | 0.0009 | 0.0012 | 0.0001 | 0.3721 | n/a | n/a | 4.5073 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
92
|
+
| elementwise | add | `(1024,)` | JAX CPU dispatch | 0.0142 | 0.0149 | 0.0123 | 0.0192 | 0.0024 | 0.3721 | n/a | n/a | 4.5073 | no | n/a | n/a | yes | NumPy | reference |
|
|
93
|
+
| elementwise | sub | `(1024,)` | TensorStudio | 0.0030 | 0.0030 | 0.0030 | 0.0031 | 0.0000 | 0.3246 | n/a | n/a | 4.5470 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
94
|
+
| elementwise | sub | `(1024,)` | NumPy | 0.0010 | 0.0010 | 0.0010 | 0.0010 | 0.0000 | 0.3246 | n/a | n/a | 4.5470 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
95
|
+
| elementwise | sub | `(1024,)` | JAX CPU dispatch | 0.0137 | 0.0142 | 0.0116 | 0.0176 | 0.0020 | 0.3246 | n/a | n/a | 4.5470 | no | n/a | n/a | yes | NumPy | reference |
|
|
96
|
+
| elementwise | mul | `(1024,)` | TensorStudio | 0.0031 | 0.0030 | 0.0029 | 0.0031 | 0.0001 | 0.3336 | n/a | n/a | 4.8682 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
97
|
+
| elementwise | mul | `(1024,)` | NumPy | 0.0010 | 0.0010 | 0.0010 | 0.0010 | 0.0000 | 0.3336 | n/a | n/a | 4.8682 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
98
|
+
| elementwise | mul | `(1024,)` | JAX CPU dispatch | 0.0149 | 0.0146 | 0.0125 | 0.0169 | 0.0017 | 0.3336 | n/a | n/a | 4.8682 | no | n/a | n/a | yes | NumPy | reference |
|
|
99
|
+
| elementwise | div | `(1024,)` | TensorStudio | 0.0032 | 0.0033 | 0.0032 | 0.0038 | 0.0002 | 0.6986 | n/a | n/a | 3.1039 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
100
|
+
| elementwise | div | `(1024,)` | NumPy | 0.0022 | 0.0023 | 0.0022 | 0.0023 | 0.0000 | 0.6986 | n/a | n/a | 3.1039 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
101
|
+
| elementwise | div | `(1024,)` | JAX CPU dispatch | 0.0100 | 0.0105 | 0.0097 | 0.0128 | 0.0012 | 0.6986 | n/a | n/a | 3.1039 | no | n/a | n/a | yes | NumPy | reference |
|
|
102
|
+
| elementwise | chain_relu((x*2+1)/3) | `(1024,)` | TensorStudio | 0.0119 | 0.0130 | 0.0118 | 0.0171 | 0.0021 | 0.6389 | n/a | n/a | 11.5433 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
103
|
+
| elementwise | chain_relu((x*2+1)/3) | `(1024,)` | NumPy | 0.0076 | 0.0075 | 0.0072 | 0.0077 | 0.0002 | 0.6389 | n/a | n/a | 11.5433 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
104
|
+
| elementwise | chain_relu((x*2+1)/3) | `(1024,)` | JAX CPU dispatch | 0.1371 | 0.1317 | 0.1147 | 0.1389 | 0.0089 | 0.6389 | n/a | n/a | 11.5433 | no | n/a | n/a | yes | NumPy | reference |
|
|
105
|
+
| elementwise | add | `(4096,)` | TensorStudio | 0.0065 | 0.0075 | 0.0049 | 0.0130 | 0.0029 | 0.4728 | n/a | n/a | 3.2641 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
106
|
+
| elementwise | add | `(4096,)` | NumPy | 0.0031 | 0.0030 | 0.0026 | 0.0035 | 0.0003 | 0.4728 | n/a | n/a | 3.2641 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
107
|
+
| elementwise | add | `(4096,)` | JAX CPU dispatch | 0.0212 | 0.0228 | 0.0160 | 0.0296 | 0.0049 | 0.4728 | n/a | n/a | 3.2641 | no | n/a | n/a | yes | NumPy | reference |
|
|
108
|
+
| elementwise | sub | `(4096,)` | TensorStudio | 0.0049 | 0.0050 | 0.0048 | 0.0054 | 0.0002 | 0.3232 | n/a | n/a | 3.1234 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
109
|
+
| elementwise | sub | `(4096,)` | NumPy | 0.0016 | 0.0016 | 0.0016 | 0.0016 | 0.0000 | 0.3232 | n/a | n/a | 3.1234 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
110
|
+
| elementwise | sub | `(4096,)` | JAX CPU dispatch | 0.0153 | 0.0160 | 0.0130 | 0.0204 | 0.0028 | 0.3232 | n/a | n/a | 3.1234 | no | n/a | n/a | yes | NumPy | reference |
|
|
111
|
+
| elementwise | mul | `(4096,)` | TensorStudio | 0.0049 | 0.0049 | 0.0047 | 0.0050 | 0.0001 | 0.3132 | n/a | n/a | 2.8687 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
112
|
+
| elementwise | mul | `(4096,)` | NumPy | 0.0015 | 0.0015 | 0.0015 | 0.0016 | 0.0000 | 0.3132 | n/a | n/a | 2.8687 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
113
|
+
| elementwise | mul | `(4096,)` | JAX CPU dispatch | 0.0141 | 0.0140 | 0.0126 | 0.0155 | 0.0010 | 0.3132 | n/a | n/a | 2.8687 | no | n/a | n/a | yes | NumPy | reference |
|
|
114
|
+
| elementwise | div | `(4096,)` | TensorStudio | 0.0057 | 0.0057 | 0.0056 | 0.0061 | 0.0002 | 0.2883 | n/a | n/a | 1.8886 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
115
|
+
| elementwise | div | `(4096,)` | NumPy | 0.0016 | 0.0016 | 0.0016 | 0.0016 | 0.0000 | 0.2883 | n/a | n/a | 1.8886 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
116
|
+
| elementwise | div | `(4096,)` | JAX CPU dispatch | 0.0107 | 0.0112 | 0.0101 | 0.0136 | 0.0012 | 0.2883 | n/a | n/a | 1.8886 | no | n/a | n/a | yes | NumPy | reference |
|
|
117
|
+
| elementwise | chain_relu((x*2+1)/3) | `(4096,)` | TensorStudio | 0.0191 | 0.0192 | 0.0189 | 0.0195 | 0.0003 | 0.5461 | n/a | n/a | 5.8840 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
118
|
+
| elementwise | chain_relu((x*2+1)/3) | `(4096,)` | NumPy | 0.0104 | 0.0106 | 0.0102 | 0.0117 | 0.0005 | 0.5461 | n/a | n/a | 5.8840 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
119
|
+
| elementwise | chain_relu((x*2+1)/3) | `(4096,)` | JAX CPU dispatch | 0.1121 | 0.1135 | 0.1055 | 0.1250 | 0.0068 | 0.5461 | n/a | n/a | 5.8840 | no | n/a | n/a | yes | NumPy | reference |
|
|
120
|
+
| elementwise | add | `(16384,)` | TensorStudio | 0.0127 | 0.0133 | 0.0123 | 0.0160 | 0.0014 | 0.2819 | n/a | n/a | 1.0329 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
121
|
+
| elementwise | add | `(16384,)` | NumPy | 0.0036 | 0.0036 | 0.0036 | 0.0036 | 0.0000 | 0.2819 | n/a | n/a | 1.0329 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
122
|
+
| elementwise | add | `(16384,)` | JAX CPU dispatch | 0.0132 | 0.0156 | 0.0126 | 0.0239 | 0.0043 | 0.2819 | n/a | n/a | 1.0329 | no | n/a | n/a | yes | NumPy | reference |
|
|
123
|
+
| elementwise | sub | `(16384,)` | TensorStudio | 0.0095 | 0.0095 | 0.0095 | 0.0096 | 0.0000 | 0.3980 | n/a | n/a | 1.3705 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
124
|
+
| elementwise | sub | `(16384,)` | NumPy | 0.0038 | 0.0038 | 0.0038 | 0.0038 | 0.0000 | 0.3980 | n/a | n/a | 1.3705 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
125
|
+
| elementwise | sub | `(16384,)` | JAX CPU dispatch | 0.0131 | 0.0139 | 0.0125 | 0.0184 | 0.0022 | 0.3980 | n/a | n/a | 1.3705 | no | n/a | n/a | yes | NumPy | reference |
|
|
126
|
+
| elementwise | mul | `(16384,)` | TensorStudio | 0.0095 | 0.0096 | 0.0095 | 0.0096 | 0.0000 | 0.3896 | n/a | n/a | 1.8563 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
127
|
+
| elementwise | mul | `(16384,)` | NumPy | 0.0037 | 0.0037 | 0.0037 | 0.0038 | 0.0000 | 0.3896 | n/a | n/a | 1.8563 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
128
|
+
| elementwise | mul | `(16384,)` | JAX CPU dispatch | 0.0177 | 0.0169 | 0.0129 | 0.0218 | 0.0035 | 0.3896 | n/a | n/a | 1.8563 | no | n/a | n/a | yes | NumPy | reference |
|
|
129
|
+
| elementwise | div | `(16384,)` | TensorStudio | 0.0132 | 0.0132 | 0.0131 | 0.0132 | 0.0000 | 0.3201 | n/a | n/a | 0.8437 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
130
|
+
| elementwise | div | `(16384,)` | NumPy | 0.0042 | 0.0044 | 0.0042 | 0.0050 | 0.0003 | 0.3201 | n/a | n/a | 0.8437 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
131
|
+
| elementwise | div | `(16384,)` | JAX CPU dispatch | 0.0111 | 0.0113 | 0.0111 | 0.0118 | 0.0003 | 0.3201 | n/a | n/a | 0.8437 | no | n/a | n/a | no | NumPy | reference |
|
|
132
|
+
| elementwise | chain_relu((x*2+1)/3) | `(16384,)` | TensorStudio | 0.0431 | 0.0433 | 0.0428 | 0.0442 | 0.0005 | 0.4885 | n/a | n/a | 3.3933 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
133
|
+
| elementwise | chain_relu((x*2+1)/3) | `(16384,)` | NumPy | 0.0210 | 0.0213 | 0.0210 | 0.0220 | 0.0004 | 0.4885 | n/a | n/a | 3.3933 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
134
|
+
| elementwise | chain_relu((x*2+1)/3) | `(16384,)` | JAX CPU dispatch | 0.1462 | 0.1470 | 0.1383 | 0.1534 | 0.0057 | 0.4885 | n/a | n/a | 3.3933 | no | n/a | n/a | yes | NumPy | reference |
|
|
135
|
+
| activations | relu | `(1,)` | TensorStudio | 0.0018 | 0.0018 | 0.0017 | 0.0019 | 0.0001 | 0.9606 | n/a | n/a | 24.5550 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
136
|
+
| activations | relu | `(1,)` | NumPy | 0.0017 | 0.0017 | 0.0017 | 0.0019 | 0.0001 | 0.9606 | n/a | n/a | 24.5550 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
137
|
+
| activations | relu | `(1,)` | JAX CPU dispatch | 0.0434 | 0.0438 | 0.0426 | 0.0455 | 0.0010 | 0.9606 | n/a | n/a | 24.5550 | no | n/a | n/a | yes | NumPy | reference |
|
|
138
|
+
| activations | sigmoid | `(1,)` | TensorStudio | 0.0018 | 0.0018 | 0.0018 | 0.0020 | 0.0001 | 2.4894 | n/a | n/a | 37.6658 | yes | n/a | n/a | yes | TensorStudio | win vs NumPy |
|
|
139
|
+
| activations | sigmoid | `(1,)` | NumPy | 0.0045 | 0.0045 | 0.0043 | 0.0046 | 0.0001 | 2.4894 | n/a | n/a | 37.6658 | yes | n/a | n/a | yes | TensorStudio | NumPy baseline |
|
|
140
|
+
| activations | sigmoid | `(1,)` | JAX CPU dispatch | 0.0687 | 0.0697 | 0.0685 | 0.0724 | 0.0015 | 2.4894 | n/a | n/a | 37.6658 | yes | n/a | n/a | yes | TensorStudio | reference |
|
|
141
|
+
| activations | tanh | `(1,)` | TensorStudio | 0.0018 | 0.0018 | 0.0018 | 0.0019 | 0.0000 | 0.6766 | n/a | n/a | 16.3403 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
142
|
+
| activations | tanh | `(1,)` | NumPy | 0.0012 | 0.0012 | 0.0012 | 0.0012 | 0.0000 | 0.6766 | n/a | n/a | 16.3403 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
143
|
+
| activations | tanh | `(1,)` | JAX CPU dispatch | 0.0293 | 0.0293 | 0.0286 | 0.0296 | 0.0004 | 0.6766 | n/a | n/a | 16.3403 | no | n/a | n/a | yes | NumPy | reference |
|
|
144
|
+
| activations | exp | `(1,)` | TensorStudio | 0.0018 | 0.0019 | 0.0018 | 0.0020 | 0.0001 | 0.6618 | n/a | n/a | 16.1313 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
145
|
+
| activations | exp | `(1,)` | NumPy | 0.0012 | 0.0013 | 0.0012 | 0.0014 | 0.0001 | 0.6618 | n/a | n/a | 16.1313 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
146
|
+
| activations | exp | `(1,)` | JAX CPU dispatch | 0.0295 | 0.0296 | 0.0288 | 0.0306 | 0.0007 | 0.6618 | n/a | n/a | 16.1313 | no | n/a | n/a | yes | NumPy | reference |
|
|
147
|
+
| activations | log | `(1,)` | TensorStudio | 0.0019 | 0.0019 | 0.0018 | 0.0021 | 0.0001 | 0.6834 | n/a | n/a | 15.8139 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
148
|
+
| activations | log | `(1,)` | NumPy | 0.0013 | 0.0013 | 0.0012 | 0.0015 | 0.0001 | 0.6834 | n/a | n/a | 15.8139 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
149
|
+
| activations | log | `(1,)` | JAX CPU dispatch | 0.0294 | 0.0296 | 0.0287 | 0.0307 | 0.0007 | 0.6834 | n/a | n/a | 15.8139 | no | n/a | n/a | yes | NumPy | reference |
|
|
150
|
+
| activations | relu | `(8,)` | TensorStudio | 0.0018 | 0.0018 | 0.0017 | 0.0019 | 0.0001 | 0.9366 | n/a | n/a | 24.0948 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
151
|
+
| activations | relu | `(8,)` | NumPy | 0.0017 | 0.0017 | 0.0016 | 0.0018 | 0.0001 | 0.9366 | n/a | n/a | 24.0948 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
152
|
+
| activations | relu | `(8,)` | JAX CPU dispatch | 0.0442 | 0.0442 | 0.0425 | 0.0461 | 0.0013 | 0.9366 | n/a | n/a | 24.0948 | no | n/a | n/a | yes | NumPy | reference |
|
|
153
|
+
| activations | sigmoid | `(8,)` | TensorStudio | 0.0019 | 0.0019 | 0.0018 | 0.0019 | 0.0000 | 2.4066 | n/a | n/a | 38.4883 | yes | n/a | n/a | yes | TensorStudio | win vs NumPy |
|
|
154
|
+
| activations | sigmoid | `(8,)` | NumPy | 0.0045 | 0.0045 | 0.0043 | 0.0045 | 0.0001 | 2.4066 | n/a | n/a | 38.4883 | yes | n/a | n/a | yes | TensorStudio | NumPy baseline |
|
|
155
|
+
| activations | sigmoid | `(8,)` | JAX CPU dispatch | 0.0717 | 0.0718 | 0.0709 | 0.0725 | 0.0006 | 2.4066 | n/a | n/a | 38.4883 | yes | n/a | n/a | yes | TensorStudio | reference |
|
|
156
|
+
| activations | tanh | `(8,)` | TensorStudio | 0.0019 | 0.0019 | 0.0019 | 0.0019 | 0.0000 | 0.6357 | n/a | n/a | 15.1449 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
157
|
+
| activations | tanh | `(8,)` | NumPy | 0.0012 | 0.0012 | 0.0012 | 0.0013 | 0.0000 | 0.6357 | n/a | n/a | 15.1449 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
158
|
+
| activations | tanh | `(8,)` | JAX CPU dispatch | 0.0285 | 0.0286 | 0.0283 | 0.0293 | 0.0003 | 0.6357 | n/a | n/a | 15.1449 | no | n/a | n/a | yes | NumPy | reference |
|
|
159
|
+
| activations | exp | `(8,)` | TensorStudio | 0.0019 | 0.0020 | 0.0019 | 0.0022 | 0.0001 | 0.6618 | n/a | n/a | 15.3268 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
160
|
+
| activations | exp | `(8,)` | NumPy | 0.0013 | 0.0013 | 0.0012 | 0.0015 | 0.0001 | 0.6618 | n/a | n/a | 15.3268 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
161
|
+
| activations | exp | `(8,)` | JAX CPU dispatch | 0.0298 | 0.0297 | 0.0290 | 0.0304 | 0.0006 | 0.6618 | n/a | n/a | 15.3268 | no | n/a | n/a | yes | NumPy | reference |
|
|
162
|
+
| activations | log | `(8,)` | TensorStudio | 0.0020 | 0.0021 | 0.0020 | 0.0024 | 0.0002 | 0.6648 | n/a | n/a | 14.3260 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
163
|
+
| activations | log | `(8,)` | NumPy | 0.0013 | 0.0018 | 0.0012 | 0.0027 | 0.0006 | 0.6648 | n/a | n/a | 14.3260 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
164
|
+
| activations | log | `(8,)` | JAX CPU dispatch | 0.0290 | 0.0290 | 0.0283 | 0.0298 | 0.0005 | 0.6648 | n/a | n/a | 14.3260 | no | n/a | n/a | yes | NumPy | reference |
|
|
165
|
+
| activations | relu | `(32,)` | TensorStudio | 0.0017 | 0.0018 | 0.0017 | 0.0018 | 0.0000 | 0.9603 | n/a | n/a | 24.9638 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
166
|
+
| activations | relu | `(32,)` | NumPy | 0.0017 | 0.0017 | 0.0017 | 0.0017 | 0.0000 | 0.9603 | n/a | n/a | 24.9638 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
167
|
+
| activations | relu | `(32,)` | JAX CPU dispatch | 0.0434 | 0.0437 | 0.0430 | 0.0451 | 0.0008 | 0.9603 | n/a | n/a | 24.9638 | no | n/a | n/a | yes | NumPy | reference |
|
|
168
|
+
| activations | sigmoid | `(32,)` | TensorStudio | 0.0020 | 0.0020 | 0.0020 | 0.0021 | 0.0000 | 2.2200 | n/a | n/a | 34.2413 | yes | n/a | n/a | yes | TensorStudio | win vs NumPy |
|
|
169
|
+
| activations | sigmoid | `(32,)` | NumPy | 0.0045 | 0.0045 | 0.0044 | 0.0048 | 0.0002 | 2.2200 | n/a | n/a | 34.2413 | yes | n/a | n/a | yes | TensorStudio | NumPy baseline |
|
|
170
|
+
| activations | sigmoid | `(32,)` | JAX CPU dispatch | 0.0693 | 0.0701 | 0.0688 | 0.0726 | 0.0014 | 2.2200 | n/a | n/a | 34.2413 | yes | n/a | n/a | yes | TensorStudio | reference |
|
|
171
|
+
| activations | tanh | `(32,)` | TensorStudio | 0.0021 | 0.0022 | 0.0021 | 0.0022 | 0.0001 | 0.6005 | n/a | n/a | 13.7565 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
172
|
+
| activations | tanh | `(32,)` | NumPy | 0.0013 | 0.0013 | 0.0012 | 0.0015 | 0.0001 | 0.6005 | n/a | n/a | 13.7565 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
173
|
+
| activations | tanh | `(32,)` | JAX CPU dispatch | 0.0292 | 0.0294 | 0.0289 | 0.0304 | 0.0005 | 0.6005 | n/a | n/a | 13.7565 | no | n/a | n/a | yes | NumPy | reference |
|
|
174
|
+
| activations | exp | `(32,)` | TensorStudio | 0.0020 | 0.0021 | 0.0020 | 0.0023 | 0.0001 | 0.5972 | n/a | n/a | 14.4123 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
175
|
+
| activations | exp | `(32,)` | NumPy | 0.0012 | 0.0012 | 0.0012 | 0.0013 | 0.0000 | 0.5972 | n/a | n/a | 14.4123 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
176
|
+
| activations | exp | `(32,)` | JAX CPU dispatch | 0.0294 | 0.0295 | 0.0291 | 0.0303 | 0.0004 | 0.5972 | n/a | n/a | 14.4123 | no | n/a | n/a | yes | NumPy | reference |
|
|
177
|
+
| activations | log | `(32,)` | TensorStudio | 0.0020 | 0.0020 | 0.0020 | 0.0021 | 0.0000 | 0.6403 | n/a | n/a | 14.4213 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
178
|
+
| activations | log | `(32,)` | NumPy | 0.0013 | 0.0013 | 0.0013 | 0.0015 | 0.0001 | 0.6403 | n/a | n/a | 14.4213 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
179
|
+
| activations | log | `(32,)` | JAX CPU dispatch | 0.0293 | 0.0294 | 0.0287 | 0.0300 | 0.0004 | 0.6403 | n/a | n/a | 14.4213 | no | n/a | n/a | yes | NumPy | reference |
|
|
180
|
+
| activations | relu | `(128,)` | TensorStudio | 0.0019 | 0.0019 | 0.0018 | 0.0020 | 0.0000 | 0.9287 | n/a | n/a | 23.6020 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
181
|
+
| activations | relu | `(128,)` | NumPy | 0.0017 | 0.0018 | 0.0017 | 0.0018 | 0.0000 | 0.9287 | n/a | n/a | 23.6020 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
182
|
+
| activations | relu | `(128,)` | JAX CPU dispatch | 0.0444 | 0.0493 | 0.0434 | 0.0699 | 0.0103 | 0.9287 | n/a | n/a | 23.6020 | no | n/a | n/a | yes | NumPy | reference |
|
|
183
|
+
| activations | sigmoid | `(128,)` | TensorStudio | 0.0029 | 0.0029 | 0.0028 | 0.0030 | 0.0001 | 1.6456 | n/a | n/a | 24.7498 | yes | n/a | n/a | yes | TensorStudio | win vs NumPy |
|
|
184
|
+
| activations | sigmoid | `(128,)` | NumPy | 0.0048 | 0.0047 | 0.0045 | 0.0049 | 0.0002 | 1.6456 | n/a | n/a | 24.7498 | yes | n/a | n/a | yes | TensorStudio | NumPy baseline |
|
|
185
|
+
| activations | sigmoid | `(128,)` | JAX CPU dispatch | 0.0723 | 0.0715 | 0.0701 | 0.0725 | 0.0011 | 1.6456 | n/a | n/a | 24.7498 | yes | n/a | n/a | yes | TensorStudio | reference |
|
|
186
|
+
| activations | tanh | `(128,)` | TensorStudio | 0.0031 | 0.0031 | 0.0030 | 0.0031 | 0.0000 | 0.4739 | n/a | n/a | 10.0428 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
187
|
+
| activations | tanh | `(128,)` | NumPy | 0.0015 | 0.0015 | 0.0014 | 0.0017 | 0.0001 | 0.4739 | n/a | n/a | 10.0428 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
188
|
+
| activations | tanh | `(128,)` | JAX CPU dispatch | 0.0310 | 0.0308 | 0.0285 | 0.0339 | 0.0019 | 0.4739 | n/a | n/a | 10.0428 | no | n/a | n/a | yes | NumPy | reference |
|
|
189
|
+
| activations | exp | `(128,)` | TensorStudio | 0.0027 | 0.0027 | 0.0026 | 0.0027 | 0.0000 | 0.5096 | n/a | n/a | 11.1536 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
190
|
+
| activations | exp | `(128,)` | NumPy | 0.0014 | 0.0014 | 0.0013 | 0.0014 | 0.0000 | 0.5096 | n/a | n/a | 11.1536 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
191
|
+
| activations | exp | `(128,)` | JAX CPU dispatch | 0.0296 | 0.0296 | 0.0293 | 0.0298 | 0.0002 | 0.5096 | n/a | n/a | 11.1536 | no | n/a | n/a | yes | NumPy | reference |
|
|
192
|
+
| activations | log | `(128,)` | TensorStudio | 0.0027 | 0.0028 | 0.0027 | 0.0031 | 0.0001 | 0.5246 | n/a | n/a | 10.6159 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
193
|
+
| activations | log | `(128,)` | NumPy | 0.0014 | 0.0014 | 0.0014 | 0.0015 | 0.0000 | 0.5246 | n/a | n/a | 10.6159 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
194
|
+
| activations | log | `(128,)` | JAX CPU dispatch | 0.0288 | 0.0288 | 0.0284 | 0.0294 | 0.0004 | 0.5246 | n/a | n/a | 10.6159 | no | n/a | n/a | yes | NumPy | reference |
|
|
195
|
+
| activations | relu | `(1024,)` | TensorStudio | 0.0025 | 0.0025 | 0.0024 | 0.0026 | 0.0000 | 0.9419 | n/a | n/a | 23.6470 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
196
|
+
| activations | relu | `(1024,)` | NumPy | 0.0023 | 0.0024 | 0.0023 | 0.0026 | 0.0001 | 0.9419 | n/a | n/a | 23.6470 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
197
|
+
| activations | relu | `(1024,)` | JAX CPU dispatch | 0.0580 | 0.0605 | 0.0535 | 0.0710 | 0.0063 | 0.9419 | n/a | n/a | 23.6470 | no | n/a | n/a | yes | NumPy | reference |
|
|
198
|
+
| activations | sigmoid | `(1024,)` | TensorStudio | 0.0093 | 0.0093 | 0.0092 | 0.0094 | 0.0001 | 0.7352 | n/a | n/a | 9.4155 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
199
|
+
| activations | sigmoid | `(1024,)` | NumPy | 0.0068 | 0.0069 | 0.0068 | 0.0070 | 0.0001 | 0.7352 | n/a | n/a | 9.4155 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
200
|
+
| activations | sigmoid | `(1024,)` | JAX CPU dispatch | 0.0875 | 0.0891 | 0.0863 | 0.0950 | 0.0033 | 0.7352 | n/a | n/a | 9.4155 | no | n/a | n/a | yes | NumPy | reference |
|
|
201
|
+
| activations | tanh | `(1024,)` | TensorStudio | 0.0136 | 0.0136 | 0.0133 | 0.0137 | 0.0001 | 0.2726 | n/a | n/a | 2.1402 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
202
|
+
| activations | tanh | `(1024,)` | NumPy | 0.0037 | 0.0037 | 0.0037 | 0.0038 | 0.0000 | 0.2726 | n/a | n/a | 2.1402 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
203
|
+
| activations | tanh | `(1024,)` | JAX CPU dispatch | 0.0291 | 0.0293 | 0.0287 | 0.0303 | 0.0005 | 0.2726 | n/a | n/a | 2.1402 | no | n/a | n/a | yes | NumPy | reference |
|
|
204
|
+
| activations | exp | `(1024,)` | TensorStudio | 0.0084 | 0.0084 | 0.0082 | 0.0087 | 0.0002 | 0.3102 | n/a | n/a | 3.4620 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
205
|
+
| activations | exp | `(1024,)` | NumPy | 0.0026 | 0.0026 | 0.0026 | 0.0026 | 0.0000 | 0.3102 | n/a | n/a | 3.4620 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
206
|
+
| activations | exp | `(1024,)` | JAX CPU dispatch | 0.0289 | 0.0290 | 0.0288 | 0.0293 | 0.0002 | 0.3102 | n/a | n/a | 3.4620 | no | n/a | n/a | yes | NumPy | reference |
|
|
207
|
+
| activations | log | `(1024,)` | TensorStudio | 0.0088 | 0.0088 | 0.0086 | 0.0089 | 0.0001 | 0.3289 | n/a | n/a | 3.3826 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
208
|
+
| activations | log | `(1024,)` | NumPy | 0.0029 | 0.0029 | 0.0028 | 0.0030 | 0.0000 | 0.3289 | n/a | n/a | 3.3826 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
209
|
+
| activations | log | `(1024,)` | JAX CPU dispatch | 0.0298 | 0.0299 | 0.0293 | 0.0306 | 0.0004 | 0.3289 | n/a | n/a | 3.3826 | no | n/a | n/a | yes | NumPy | reference |
|
|
210
|
+
| activations | relu | `(4096,)` | TensorStudio | 0.0050 | 0.0050 | 0.0050 | 0.0052 | 0.0001 | 0.7380 | n/a | n/a | 11.5708 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
211
|
+
| activations | relu | `(4096,)` | NumPy | 0.0037 | 0.0037 | 0.0034 | 0.0039 | 0.0002 | 0.7380 | n/a | n/a | 11.5708 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
212
|
+
| activations | relu | `(4096,)` | JAX CPU dispatch | 0.0574 | 0.0603 | 0.0532 | 0.0689 | 0.0062 | 0.7380 | n/a | n/a | 11.5708 | no | n/a | n/a | yes | NumPy | reference |
|
|
213
|
+
| activations | sigmoid | `(4096,)` | TensorStudio | 0.0323 | 0.0324 | 0.0322 | 0.0327 | 0.0002 | 0.3651 | n/a | n/a | 3.1205 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
214
|
+
| activations | sigmoid | `(4096,)` | NumPy | 0.0118 | 0.0118 | 0.0116 | 0.0119 | 0.0001 | 0.3651 | n/a | n/a | 3.1205 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
215
|
+
| activations | sigmoid | `(4096,)` | JAX CPU dispatch | 0.1008 | 0.1014 | 0.0952 | 0.1115 | 0.0055 | 0.3651 | n/a | n/a | 3.1205 | no | n/a | n/a | yes | NumPy | reference |
|
|
216
|
+
| activations | tanh | `(4096,)` | TensorStudio | 0.0582 | 0.0584 | 0.0580 | 0.0589 | 0.0004 | 0.1876 | n/a | n/a | 0.5549 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
217
|
+
| activations | tanh | `(4096,)` | NumPy | 0.0109 | 0.0110 | 0.0108 | 0.0111 | 0.0001 | 0.1876 | n/a | n/a | 0.5549 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
218
|
+
| activations | tanh | `(4096,)` | JAX CPU dispatch | 0.0323 | 0.0323 | 0.0319 | 0.0329 | 0.0003 | 0.1876 | n/a | n/a | 0.5549 | no | n/a | n/a | no | NumPy | reference |
|
|
219
|
+
| activations | exp | `(4096,)` | TensorStudio | 0.0281 | 0.0281 | 0.0275 | 0.0284 | 0.0003 | 0.2129 | n/a | n/a | 1.1640 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
220
|
+
| activations | exp | `(4096,)` | NumPy | 0.0060 | 0.0060 | 0.0059 | 0.0062 | 0.0001 | 0.2129 | n/a | n/a | 1.1640 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
221
|
+
| activations | exp | `(4096,)` | JAX CPU dispatch | 0.0327 | 0.0357 | 0.0323 | 0.0424 | 0.0041 | 0.2129 | n/a | n/a | 1.1640 | no | n/a | n/a | yes | NumPy | reference |
|
|
222
|
+
| activations | log | `(4096,)` | TensorStudio | 0.0300 | 0.0299 | 0.0296 | 0.0300 | 0.0002 | 0.2505 | n/a | n/a | 1.1738 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
223
|
+
| activations | log | `(4096,)` | NumPy | 0.0075 | 0.0075 | 0.0073 | 0.0077 | 0.0001 | 0.2505 | n/a | n/a | 1.1738 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
224
|
+
| activations | log | `(4096,)` | JAX CPU dispatch | 0.0352 | 0.0353 | 0.0335 | 0.0387 | 0.0018 | 0.2505 | n/a | n/a | 1.1738 | no | n/a | n/a | yes | NumPy | reference |
|
|
225
|
+
| activations | relu | `(16384,)` | TensorStudio | 0.0156 | 0.0157 | 0.0156 | 0.0162 | 0.0002 | 0.5540 | n/a | n/a | 5.5171 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
226
|
+
| activations | relu | `(16384,)` | NumPy | 0.0087 | 0.0088 | 0.0087 | 0.0091 | 0.0002 | 0.5540 | n/a | n/a | 5.5171 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
227
|
+
| activations | relu | `(16384,)` | JAX CPU dispatch | 0.0863 | 0.0847 | 0.0683 | 0.0991 | 0.0103 | 0.5540 | n/a | n/a | 5.5171 | no | n/a | n/a | yes | NumPy | reference |
|
|
228
|
+
| activations | sigmoid | `(16384,)` | TensorStudio | 0.1208 | 0.1214 | 0.1205 | 0.1241 | 0.0014 | 0.2716 | n/a | n/a | 1.0294 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
229
|
+
| activations | sigmoid | `(16384,)` | NumPy | 0.0328 | 0.0334 | 0.0327 | 0.0353 | 0.0010 | 0.2716 | n/a | n/a | 1.0294 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
230
|
+
| activations | sigmoid | `(16384,)` | JAX CPU dispatch | 0.1244 | 0.1243 | 0.1011 | 0.1538 | 0.0173 | 0.2716 | n/a | n/a | 1.0294 | no | n/a | n/a | yes | NumPy | reference |
|
|
231
|
+
| activations | tanh | `(16384,)` | TensorStudio | 0.2368 | 0.2382 | 0.2354 | 0.2447 | 0.0034 | 0.1592 | n/a | n/a | 0.1664 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
232
|
+
| activations | tanh | `(16384,)` | NumPy | 0.0377 | 0.0380 | 0.0374 | 0.0389 | 0.0006 | 0.1592 | n/a | n/a | 0.1664 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
233
|
+
| activations | tanh | `(16384,)` | JAX CPU dispatch | 0.0394 | 0.0389 | 0.0374 | 0.0397 | 0.0009 | 0.1592 | n/a | n/a | 0.1664 | no | n/a | n/a | no | NumPy | reference |
|
|
234
|
+
| activations | exp | `(16384,)` | TensorStudio | 0.1052 | 0.1052 | 0.1049 | 0.1055 | 0.0002 | 0.1789 | n/a | n/a | 0.3746 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
235
|
+
| activations | exp | `(16384,)` | NumPy | 0.0188 | 0.0188 | 0.0186 | 0.0192 | 0.0002 | 0.1789 | n/a | n/a | 0.3746 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
236
|
+
| activations | exp | `(16384,)` | JAX CPU dispatch | 0.0394 | 0.0397 | 0.0392 | 0.0409 | 0.0006 | 0.1789 | n/a | n/a | 0.3746 | no | n/a | n/a | no | NumPy | reference |
|
|
237
|
+
| activations | log | `(16384,)` | TensorStudio | 0.1134 | 0.1130 | 0.1105 | 0.1152 | 0.0019 | 0.2144 | n/a | n/a | 0.3702 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
238
|
+
| activations | log | `(16384,)` | NumPy | 0.0243 | 0.0246 | 0.0243 | 0.0259 | 0.0006 | 0.2144 | n/a | n/a | 0.3702 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
239
|
+
| activations | log | `(16384,)` | JAX CPU dispatch | 0.0420 | 0.0425 | 0.0415 | 0.0445 | 0.0012 | 0.2144 | n/a | n/a | 0.3702 | no | n/a | n/a | no | NumPy | reference |
|
|
240
|
+
| reductions | sum | `(1,)` | TensorStudio | 0.0022 | 0.0022 | 0.0022 | 0.0024 | 0.0001 | 0.9709 | n/a | n/a | 5.3188 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
241
|
+
| reductions | sum | `(1,)` | NumPy | 0.0022 | 0.0022 | 0.0021 | 0.0024 | 0.0001 | 0.9709 | n/a | n/a | 5.3188 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
242
|
+
| reductions | sum | `(1,)` | JAX CPU dispatch | 0.0118 | 0.0118 | 0.0115 | 0.0121 | 0.0002 | 0.9709 | n/a | n/a | 5.3188 | no | n/a | n/a | yes | NumPy | reference |
|
|
243
|
+
| reductions | mean | `(1,)` | TensorStudio | 0.0022 | 0.0022 | 0.0021 | 0.0022 | 0.0000 | 3.5155 | n/a | n/a | 4.8989 | yes | n/a | n/a | yes | TensorStudio | win vs NumPy |
|
|
244
|
+
| reductions | mean | `(1,)` | NumPy | 0.0077 | 0.0078 | 0.0077 | 0.0079 | 0.0001 | 3.5155 | n/a | n/a | 4.8989 | yes | n/a | n/a | yes | TensorStudio | NumPy baseline |
|
|
245
|
+
| reductions | mean | `(1,)` | JAX CPU dispatch | 0.0108 | 0.0111 | 0.0106 | 0.0121 | 0.0005 | 3.5155 | n/a | n/a | 4.8989 | yes | n/a | n/a | yes | TensorStudio | reference |
|
|
246
|
+
| reductions | sum | `(8,)` | TensorStudio | 0.0023 | 0.0023 | 0.0022 | 0.0023 | 0.0000 | 0.9601 | n/a | n/a | 5.4383 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
247
|
+
| reductions | sum | `(8,)` | NumPy | 0.0022 | 0.0022 | 0.0022 | 0.0023 | 0.0000 | 0.9601 | n/a | n/a | 5.4383 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
248
|
+
| reductions | sum | `(8,)` | JAX CPU dispatch | 0.0125 | 0.0125 | 0.0119 | 0.0132 | 0.0004 | 0.9601 | n/a | n/a | 5.4383 | no | n/a | n/a | yes | NumPy | reference |
|
|
249
|
+
| reductions | mean | `(8,)` | TensorStudio | 0.0023 | 0.0023 | 0.0022 | 0.0023 | 0.0001 | 3.4584 | n/a | n/a | 5.0478 | yes | n/a | n/a | yes | TensorStudio | win vs NumPy |
|
|
250
|
+
| reductions | mean | `(8,)` | NumPy | 0.0078 | 0.0078 | 0.0075 | 0.0081 | 0.0002 | 3.4584 | n/a | n/a | 5.0478 | yes | n/a | n/a | yes | TensorStudio | NumPy baseline |
|
|
251
|
+
| reductions | mean | `(8,)` | JAX CPU dispatch | 0.0114 | 0.0118 | 0.0111 | 0.0140 | 0.0011 | 3.4584 | n/a | n/a | 5.0478 | yes | n/a | n/a | yes | TensorStudio | reference |
|
|
252
|
+
| reductions | sum | `(32,)` | TensorStudio | 0.0024 | 0.0024 | 0.0023 | 0.0024 | 0.0000 | 0.9453 | n/a | n/a | 5.0853 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
253
|
+
| reductions | sum | `(32,)` | NumPy | 0.0022 | 0.0023 | 0.0021 | 0.0025 | 0.0001 | 0.9453 | n/a | n/a | 5.0853 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
254
|
+
| reductions | sum | `(32,)` | JAX CPU dispatch | 0.0121 | 0.0121 | 0.0118 | 0.0123 | 0.0002 | 0.9453 | n/a | n/a | 5.0853 | no | n/a | n/a | yes | NumPy | reference |
|
|
255
|
+
| reductions | mean | `(32,)` | TensorStudio | 0.0024 | 0.0024 | 0.0023 | 0.0024 | 0.0000 | 3.2742 | n/a | n/a | 5.6939 | yes | n/a | n/a | yes | TensorStudio | win vs NumPy |
|
|
256
|
+
| reductions | mean | `(32,)` | NumPy | 0.0077 | 0.0078 | 0.0077 | 0.0080 | 0.0001 | 3.2742 | n/a | n/a | 5.6939 | yes | n/a | n/a | yes | TensorStudio | NumPy baseline |
|
|
257
|
+
| reductions | mean | `(32,)` | JAX CPU dispatch | 0.0135 | 0.0164 | 0.0113 | 0.0289 | 0.0065 | 3.2742 | n/a | n/a | 5.6939 | yes | n/a | n/a | yes | TensorStudio | reference |
|
|
258
|
+
| reductions | sum | `(128,)` | TensorStudio | 0.0029 | 0.0036 | 0.0029 | 0.0059 | 0.0011 | 0.7399 | n/a | n/a | 4.6559 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
259
|
+
| reductions | sum | `(128,)` | NumPy | 0.0022 | 0.0022 | 0.0021 | 0.0022 | 0.0000 | 0.7399 | n/a | n/a | 4.6559 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
260
|
+
| reductions | sum | `(128,)` | JAX CPU dispatch | 0.0136 | 0.0135 | 0.0132 | 0.0137 | 0.0002 | 0.7399 | n/a | n/a | 4.6559 | no | n/a | n/a | yes | NumPy | reference |
|
|
261
|
+
| reductions | mean | `(128,)` | TensorStudio | 0.0030 | 0.0030 | 0.0029 | 0.0031 | 0.0001 | 2.6167 | n/a | n/a | 4.2260 | yes | n/a | n/a | yes | TensorStudio | win vs NumPy |
|
|
262
|
+
| reductions | mean | `(128,)` | NumPy | 0.0078 | 0.0078 | 0.0077 | 0.0078 | 0.0001 | 2.6167 | n/a | n/a | 4.2260 | yes | n/a | n/a | yes | TensorStudio | NumPy baseline |
|
|
263
|
+
| reductions | mean | `(128,)` | JAX CPU dispatch | 0.0126 | 0.0129 | 0.0124 | 0.0141 | 0.0006 | 2.6167 | n/a | n/a | 4.2260 | yes | n/a | n/a | yes | TensorStudio | reference |
|
|
264
|
+
| reductions | sum | `(1024,)` | TensorStudio | 0.0082 | 0.0083 | 0.0081 | 0.0084 | 0.0001 | 0.3090 | n/a | n/a | 1.7267 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
265
|
+
| reductions | sum | `(1024,)` | NumPy | 0.0025 | 0.0026 | 0.0025 | 0.0026 | 0.0000 | 0.3090 | n/a | n/a | 1.7267 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
266
|
+
| reductions | sum | `(1024,)` | JAX CPU dispatch | 0.0142 | 0.0150 | 0.0135 | 0.0178 | 0.0016 | 0.3090 | n/a | n/a | 1.7267 | no | n/a | n/a | yes | NumPy | reference |
|
|
267
|
+
| reductions | mean | `(1024,)` | TensorStudio | 0.0082 | 0.0085 | 0.0081 | 0.0092 | 0.0004 | 1.0007 | n/a | n/a | 1.8594 | yes | n/a | n/a | yes | TensorStudio | win vs NumPy |
|
|
268
|
+
| reductions | mean | `(1024,)` | NumPy | 0.0082 | 0.0083 | 0.0081 | 0.0086 | 0.0002 | 1.0007 | n/a | n/a | 1.8594 | yes | n/a | n/a | yes | TensorStudio | NumPy baseline |
|
|
269
|
+
| reductions | mean | `(1024,)` | JAX CPU dispatch | 0.0153 | 0.0154 | 0.0126 | 0.0189 | 0.0022 | 1.0007 | n/a | n/a | 1.8594 | yes | n/a | n/a | yes | TensorStudio | reference |
|
|
270
|
+
| reductions | sum | `(4096,)` | TensorStudio | 0.0269 | 0.0271 | 0.0266 | 0.0276 | 0.0004 | 0.1248 | n/a | n/a | 0.5840 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
271
|
+
| reductions | sum | `(4096,)` | NumPy | 0.0034 | 0.0034 | 0.0033 | 0.0036 | 0.0001 | 0.1248 | n/a | n/a | 0.5840 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
272
|
+
| reductions | sum | `(4096,)` | JAX CPU dispatch | 0.0157 | 0.0166 | 0.0151 | 0.0212 | 0.0023 | 0.1248 | n/a | n/a | 0.5840 | no | n/a | n/a | no | NumPy | reference |
|
|
273
|
+
| reductions | mean | `(4096,)` | TensorStudio | 0.0303 | 0.0300 | 0.0263 | 0.0334 | 0.0031 | 0.3103 | n/a | n/a | 0.5122 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
274
|
+
| reductions | mean | `(4096,)` | NumPy | 0.0094 | 0.0100 | 0.0093 | 0.0119 | 0.0010 | 0.3103 | n/a | n/a | 0.5122 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
275
|
+
| reductions | mean | `(4096,)` | JAX CPU dispatch | 0.0155 | 0.0158 | 0.0149 | 0.0172 | 0.0009 | 0.3103 | n/a | n/a | 0.5122 | no | n/a | n/a | no | NumPy | reference |
|
|
276
|
+
| reductions | sum | `(16384,)` | TensorStudio | 0.1001 | 0.1018 | 0.1000 | 0.1084 | 0.0033 | 0.0664 | n/a | n/a | 0.3348 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
277
|
+
| reductions | sum | `(16384,)` | NumPy | 0.0066 | 0.0067 | 0.0066 | 0.0068 | 0.0001 | 0.0664 | n/a | n/a | 0.3348 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
278
|
+
| reductions | sum | `(16384,)` | JAX CPU dispatch | 0.0335 | 0.0311 | 0.0211 | 0.0358 | 0.0054 | 0.0664 | n/a | n/a | 0.3348 | no | n/a | n/a | no | NumPy | reference |
|
|
279
|
+
| reductions | mean | `(16384,)` | TensorStudio | 0.1008 | 0.1010 | 0.0996 | 0.1033 | 0.0013 | 0.1348 | n/a | n/a | 0.3345 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
280
|
+
| reductions | mean | `(16384,)` | NumPy | 0.0136 | 0.0138 | 0.0130 | 0.0150 | 0.0007 | 0.1348 | n/a | n/a | 0.3345 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
281
|
+
| reductions | mean | `(16384,)` | JAX CPU dispatch | 0.0337 | 0.0299 | 0.0182 | 0.0363 | 0.0069 | 0.1348 | n/a | n/a | 0.3345 | no | n/a | n/a | no | NumPy | reference |
|
|
282
|
+
| reductions | sum_axis1 | `(16, 16)` | TensorStudio | 0.0027 | 0.0027 | 0.0026 | 0.0028 | 0.0001 | 1.0183 | n/a | n/a | 5.0925 | yes | n/a | n/a | yes | TensorStudio | win vs NumPy |
|
|
283
|
+
| reductions | sum_axis1 | `(16, 16)` | NumPy | 0.0027 | 0.0028 | 0.0026 | 0.0032 | 0.0002 | 1.0183 | n/a | n/a | 5.0925 | yes | n/a | n/a | yes | TensorStudio | NumPy baseline |
|
|
284
|
+
| reductions | sum_axis1 | `(16, 16)` | JAX CPU dispatch | 0.0135 | 0.0135 | 0.0124 | 0.0151 | 0.0010 | 1.0183 | n/a | n/a | 5.0925 | yes | n/a | n/a | yes | TensorStudio | reference |
|
|
285
|
+
| reductions | mean_axis0 | `(16, 16)` | TensorStudio | 0.0027 | 0.0028 | 0.0026 | 0.0033 | 0.0003 | 3.8536 | n/a | n/a | 4.4498 | yes | n/a | n/a | yes | TensorStudio | win vs NumPy |
|
|
286
|
+
| reductions | mean_axis0 | `(16, 16)` | NumPy | 0.0102 | 0.0106 | 0.0097 | 0.0124 | 0.0009 | 3.8536 | n/a | n/a | 4.4498 | yes | n/a | n/a | yes | TensorStudio | NumPy baseline |
|
|
287
|
+
| reductions | mean_axis0 | `(16, 16)` | JAX CPU dispatch | 0.0118 | 0.0120 | 0.0114 | 0.0131 | 0.0006 | 3.8536 | n/a | n/a | 4.4498 | yes | n/a | n/a | yes | TensorStudio | reference |
|
|
288
|
+
| reductions | sum_axis1 | `(64, 64)` | TensorStudio | 0.0056 | 0.0058 | 0.0054 | 0.0068 | 0.0005 | 0.7290 | n/a | n/a | 4.8945 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
289
|
+
| reductions | sum_axis1 | `(64, 64)` | NumPy | 0.0041 | 0.0042 | 0.0040 | 0.0046 | 0.0002 | 0.7290 | n/a | n/a | 4.8945 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
290
|
+
| reductions | sum_axis1 | `(64, 64)` | JAX CPU dispatch | 0.0274 | 0.0240 | 0.0146 | 0.0325 | 0.0076 | 0.7290 | n/a | n/a | 4.8945 | no | n/a | n/a | yes | NumPy | reference |
|
|
291
|
+
| reductions | mean_axis0 | `(64, 64)` | TensorStudio | 0.0044 | 0.0045 | 0.0039 | 0.0057 | 0.0006 | 2.7570 | n/a | n/a | 2.9597 | yes | n/a | n/a | yes | TensorStudio | win vs NumPy |
|
|
292
|
+
| reductions | mean_axis0 | `(64, 64)` | NumPy | 0.0120 | 0.0132 | 0.0115 | 0.0185 | 0.0027 | 2.7570 | n/a | n/a | 2.9597 | yes | n/a | n/a | yes | TensorStudio | NumPy baseline |
|
|
293
|
+
| reductions | mean_axis0 | `(64, 64)` | JAX CPU dispatch | 0.0129 | 0.0132 | 0.0127 | 0.0140 | 0.0005 | 2.7570 | n/a | n/a | 2.9597 | yes | n/a | n/a | yes | TensorStudio | reference |
|
|
294
|
+
| reductions | sum_axis1 | `(128, 128)` | TensorStudio | 0.0163 | 0.0173 | 0.0160 | 0.0213 | 0.0020 | 0.4686 | n/a | n/a | 1.7575 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
295
|
+
| reductions | sum_axis1 | `(128, 128)` | NumPy | 0.0077 | 0.0084 | 0.0076 | 0.0116 | 0.0016 | 0.4686 | n/a | n/a | 1.7575 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
296
|
+
| reductions | sum_axis1 | `(128, 128)` | JAX CPU dispatch | 0.0287 | 0.0277 | 0.0187 | 0.0353 | 0.0054 | 0.4686 | n/a | n/a | 1.7575 | no | n/a | n/a | yes | NumPy | reference |
|
|
297
|
+
| reductions | mean_axis0 | `(128, 128)` | TensorStudio | 0.0068 | 0.0068 | 0.0068 | 0.0069 | 0.0000 | 2.1600 | n/a | n/a | 2.4238 | yes | n/a | n/a | yes | TensorStudio | win vs NumPy |
|
|
298
|
+
| reductions | mean_axis0 | `(128, 128)` | NumPy | 0.0147 | 0.0153 | 0.0143 | 0.0178 | 0.0013 | 2.1600 | n/a | n/a | 2.4238 | yes | n/a | n/a | yes | TensorStudio | NumPy baseline |
|
|
299
|
+
| reductions | mean_axis0 | `(128, 128)` | JAX CPU dispatch | 0.0165 | 0.0171 | 0.0126 | 0.0219 | 0.0041 | 2.1600 | n/a | n/a | 2.4238 | yes | n/a | n/a | yes | TensorStudio | reference |
|
|
300
|
+
| reductions | sum_axis1 | `(256, 256)` | TensorStudio | 0.0646 | 0.0646 | 0.0641 | 0.0652 | 0.0004 | 0.3328 | n/a | n/a | 1.1015 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
301
|
+
| reductions | sum_axis1 | `(256, 256)` | NumPy | 0.0215 | 0.0222 | 0.0212 | 0.0251 | 0.0015 | 0.3328 | n/a | n/a | 1.1015 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
302
|
+
| reductions | sum_axis1 | `(256, 256)` | JAX CPU dispatch | 0.0711 | 0.0704 | 0.0586 | 0.0782 | 0.0074 | 0.3328 | n/a | n/a | 1.1015 | no | n/a | n/a | yes | NumPy | reference |
|
|
303
|
+
| reductions | mean_axis0 | `(256, 256)` | TensorStudio | 0.0183 | 0.0188 | 0.0183 | 0.0205 | 0.0009 | 1.1799 | n/a | n/a | 1.3230 | yes | n/a | n/a | yes | TensorStudio | win vs NumPy |
|
|
304
|
+
| reductions | mean_axis0 | `(256, 256)` | NumPy | 0.0216 | 0.0224 | 0.0211 | 0.0260 | 0.0018 | 1.1799 | n/a | n/a | 1.3230 | yes | n/a | n/a | yes | TensorStudio | NumPy baseline |
|
|
305
|
+
| reductions | mean_axis0 | `(256, 256)` | JAX CPU dispatch | 0.0243 | 0.0263 | 0.0239 | 0.0328 | 0.0034 | 1.1799 | n/a | n/a | 1.3230 | yes | n/a | n/a | yes | TensorStudio | reference |
|
|
306
|
+
| matmul | matmul | `(16, 16)` | TensorStudio | 0.0056 | 0.0054 | 0.0037 | 0.0069 | 0.0012 | 0.4206 | n/a | n/a | 3.6137 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
307
|
+
| matmul | matmul | `(16, 16)` | NumPy | 0.0024 | 0.0025 | 0.0021 | 0.0030 | 0.0003 | 0.4206 | n/a | n/a | 3.6137 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
308
|
+
| matmul | matmul | `(16, 16)` | JAX CPU dispatch | 0.0203 | 0.0257 | 0.0163 | 0.0405 | 0.0096 | 0.4206 | n/a | n/a | 3.6137 | no | n/a | n/a | yes | NumPy | reference |
|
|
309
|
+
| matmul | matmul | `(64, 64)` | TensorStudio | 0.0632 | 0.0630 | 0.0618 | 0.0636 | 0.0007 | 0.2410 | n/a | n/a | 0.2547 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
310
|
+
| matmul | matmul | `(64, 64)` | NumPy | 0.0152 | 0.0167 | 0.0112 | 0.0268 | 0.0058 | 0.2410 | n/a | n/a | 0.2547 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
311
|
+
| matmul | matmul | `(64, 64)` | JAX CPU dispatch | 0.0161 | 0.0246 | 0.0159 | 0.0583 | 0.0169 | 0.2410 | n/a | n/a | 0.2547 | no | n/a | n/a | no | NumPy | reference |
|
|
312
|
+
| matmul | matmul | `(128, 128)` | TensorStudio | 0.2656 | 0.2723 | 0.2550 | 0.3089 | 0.0200 | 1.4666 | n/a | n/a | 0.5691 | yes | n/a | n/a | no | JAX CPU dispatch | win vs NumPy |
|
|
313
|
+
| matmul | matmul | `(128, 128)` | NumPy | 0.3895 | 0.3565 | 0.2553 | 0.4328 | 0.0735 | 1.4666 | n/a | n/a | 0.5691 | yes | n/a | n/a | no | JAX CPU dispatch | NumPy baseline |
|
|
314
|
+
| matmul | matmul | `(128, 128)` | JAX CPU dispatch | 0.1512 | 0.1511 | 0.1250 | 0.1843 | 0.0236 | 1.4666 | n/a | n/a | 0.5691 | yes | n/a | n/a | no | JAX CPU dispatch | reference |
|
|
315
|
+
| matmul | matmul | `(256, 256)` | TensorStudio | 2.7138 | 2.7048 | 2.2742 | 2.9971 | 0.2427 | 0.1909 | n/a | n/a | 0.1210 | no | n/a | n/a | no | JAX CPU dispatch | loss vs NumPy |
|
|
316
|
+
| matmul | matmul | `(256, 256)` | NumPy | 0.5182 | 0.5053 | 0.4288 | 0.5589 | 0.0508 | 0.1909 | n/a | n/a | 0.1210 | no | n/a | n/a | no | JAX CPU dispatch | NumPy baseline |
|
|
317
|
+
| matmul | matmul | `(256, 256)` | JAX CPU dispatch | 0.3283 | 0.3232 | 0.2753 | 0.3924 | 0.0417 | 0.1909 | n/a | n/a | 0.1210 | no | n/a | n/a | no | JAX CPU dispatch | reference |
|
|
318
|
+
| conv2d | conv2d_3x3_padding1 | `(1, 1, 8, 8)` | TensorStudio | 0.1505 | 0.1582 | 0.1426 | 0.1789 | 0.0140 | 8.4519 | n/a | n/a | 0.6564 | yes | n/a | n/a | no | JAX CPU dispatch | win vs NumPy |
|
|
319
|
+
| conv2d | conv2d_3x3_padding1 | `(1, 1, 8, 8)` | NumPy | 1.2718 | 1.2741 | 1.2369 | 1.3080 | 0.0264 | 8.4519 | n/a | n/a | 0.6564 | yes | n/a | n/a | no | JAX CPU dispatch | NumPy baseline |
|
|
320
|
+
| conv2d | conv2d_3x3_padding1 | `(1, 1, 8, 8)` | JAX CPU dispatch | 0.0988 | 0.1030 | 0.0935 | 0.1232 | 0.0106 | 8.4519 | n/a | n/a | 0.6564 | yes | n/a | n/a | no | JAX CPU dispatch | reference |
|
|
321
|
+
| conv2d | conv2d_3x3_padding1 | `(4, 3, 16, 16)` | TensorStudio | 7.1059 | 7.0926 | 7.0340 | 7.1305 | 0.0354 | 8.7270 | n/a | n/a | 0.0469 | yes | n/a | n/a | no | JAX CPU dispatch | win vs NumPy |
|
|
322
|
+
| conv2d | conv2d_3x3_padding1 | `(4, 3, 16, 16)` | NumPy | 62.0132 | 61.8515 | 61.3995 | 62.0491 | 0.2460 | 8.7270 | n/a | n/a | 0.0469 | yes | n/a | n/a | no | JAX CPU dispatch | NumPy baseline |
|
|
323
|
+
| conv2d | conv2d_3x3_padding1 | `(4, 3, 16, 16)` | JAX CPU dispatch | 0.3335 | 0.3489 | 0.3249 | 0.3945 | 0.0273 | 8.7270 | n/a | n/a | 0.0469 | yes | n/a | n/a | no | JAX CPU dispatch | reference |
|
|
324
|
+
| pooling | max_pool2d_2x2 | `(1, 1, 16, 16)` | TensorStudio | 0.0135 | 0.0138 | 0.0135 | 0.0145 | 0.0004 | 11.3282 | n/a | n/a | n/a | yes | n/a | n/a | n/a | TensorStudio | win vs NumPy |
|
|
325
|
+
| pooling | max_pool2d_2x2 | `(1, 1, 16, 16)` | NumPy | 0.1532 | 0.1531 | 0.1517 | 0.1545 | 0.0010 | 11.3282 | n/a | n/a | n/a | yes | n/a | n/a | n/a | TensorStudio | NumPy baseline |
|
|
326
|
+
| pooling | avg_pool2d_2x2 | `(1, 1, 16, 16)` | TensorStudio | 0.0134 | 0.0138 | 0.0133 | 0.0154 | 0.0008 | 41.0677 | n/a | n/a | n/a | yes | n/a | n/a | n/a | TensorStudio | win vs NumPy |
|
|
327
|
+
| pooling | avg_pool2d_2x2 | `(1, 1, 16, 16)` | NumPy | 0.5499 | 0.5502 | 0.5456 | 0.5561 | 0.0035 | 41.0677 | n/a | n/a | n/a | yes | n/a | n/a | n/a | TensorStudio | NumPy baseline |
|
|
328
|
+
| pooling | max_pool2d_2x2 | `(4, 3, 32, 32)` | TensorStudio | 0.5329 | 0.5457 | 0.5308 | 0.5920 | 0.0235 | 14.0147 | n/a | n/a | n/a | yes | n/a | n/a | n/a | TensorStudio | win vs NumPy |
|
|
329
|
+
| pooling | max_pool2d_2x2 | `(4, 3, 32, 32)` | NumPy | 7.4683 | 7.4573 | 7.3658 | 7.5043 | 0.0487 | 14.0147 | n/a | n/a | n/a | yes | n/a | n/a | n/a | TensorStudio | NumPy baseline |
|
|
330
|
+
| pooling | avg_pool2d_2x2 | `(4, 3, 32, 32)` | TensorStudio | 0.5554 | 0.5527 | 0.5249 | 0.5898 | 0.0229 | 49.2709 | n/a | n/a | n/a | yes | n/a | n/a | n/a | TensorStudio | win vs NumPy |
|
|
331
|
+
| pooling | avg_pool2d_2x2 | `(4, 3, 32, 32)` | NumPy | 27.3663 | 27.4102 | 26.6733 | 28.2549 | 0.5050 | 49.2709 | n/a | n/a | n/a | yes | n/a | n/a | n/a | TensorStudio | NumPy baseline |
|
|
332
|
+
| autograd | scalar_backward | `(1,)` | TensorStudio | 0.0148 | 0.0153 | 0.0143 | 0.0165 | 0.0009 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | TensorStudio | no NumPy reference |
|
|
333
|
+
| autograd | elementwise_backward | `(1,)` | TensorStudio | 0.0316 | 0.0312 | 0.0302 | 0.0320 | 0.0007 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | TensorStudio | no NumPy reference |
|
|
334
|
+
| autograd | scalar_backward | `(128,)` | TensorStudio | 0.1457 | 0.1451 | 0.1439 | 0.1458 | 0.0008 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | TensorStudio | no NumPy reference |
|
|
335
|
+
| autograd | elementwise_backward | `(128,)` | TensorStudio | 0.3343 | 0.3342 | 0.3317 | 0.3373 | 0.0020 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | TensorStudio | no NumPy reference |
|
|
336
|
+
| autograd | scalar_backward | `(1024,)` | TensorStudio | 1.1318 | 1.1721 | 1.0634 | 1.2921 | 0.0984 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | TensorStudio | no NumPy reference |
|
|
337
|
+
| autograd | elementwise_backward | `(1024,)` | TensorStudio | 2.4474 | 2.4465 | 2.4368 | 2.4596 | 0.0080 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | TensorStudio | no NumPy reference |
|
|
338
|
+
| training_loop | tiny_linear_regression_10_steps | `(32,)` | TensorStudio | 1.6089 | 1.6070 | 1.5921 | 1.6237 | 0.0121 | 0.0974 | n/a | n/a | n/a | no | n/a | n/a | n/a | NumPy | loss vs NumPy |
|
|
339
|
+
| training_loop | tiny_linear_regression_10_steps | `(32,)` | NumPy | 0.1567 | 0.1651 | 0.1548 | 0.1902 | 0.0135 | 0.0974 | n/a | n/a | n/a | no | n/a | n/a | n/a | NumPy | NumPy baseline |
|
|
340
|
+
|
|
341
|
+
Speedup columns are `competitor median / TensorStudio median`; values above 1.0 mean
|
|
342
|
+
TensorStudio was faster for that specific case.
|
|
343
|
+
Win columns say whether that same speedup is above 1.0 for the competitor.
|
|
@@ -386,6 +386,11 @@ Import native exception aliases from `tensorstudio.errors`:
|
|
|
386
386
|
- `DeviceError`
|
|
387
387
|
- `AutogradError`
|
|
388
388
|
|
|
389
|
+
Shape, dtype, and indexing errors are intended to be actionable. Common
|
|
390
|
+
messages include tensor shapes, ranks, mismatched broadcast axes, requested
|
|
391
|
+
reshape element counts, unsupported dtype names, and unsupported Python index
|
|
392
|
+
types where that context is available from the C++/binding layer.
|
|
393
|
+
|
|
389
394
|
## Serialization
|
|
390
395
|
|
|
391
396
|
```python
|
|
@@ -41,12 +41,14 @@ operand shapes.
|
|
|
41
41
|
|
|
42
42
|
## Error Behavior
|
|
43
43
|
|
|
44
|
-
Incompatible shapes raise `ShapeError` with the relevant shapes
|
|
45
|
-
|
|
44
|
+
Incompatible shapes raise `ShapeError` with the relevant shapes, the aligned
|
|
45
|
+
axis that failed, and the two incompatible dimensions. TensorStudio does not
|
|
46
|
+
silently reshape tensors.
|
|
46
47
|
|
|
47
48
|
```python
|
|
48
49
|
ts.ones((2, 3)) + ts.ones((4,))
|
|
49
50
|
```
|
|
50
51
|
|
|
51
|
-
This is invalid because trailing dimensions `3` and `4` are incompatible.
|
|
52
|
-
|
|
52
|
+
This is invalid because trailing dimensions `3` and `4` are incompatible. The
|
|
53
|
+
error includes that axis-level mismatch so callers do not need to infer it from
|
|
54
|
+
the two shapes manually.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
TensorStudio is a compact C++ tensor and autograd engine with a Python API for
|
|
4
4
|
learning, experimentation, and lightweight ML workloads.
|
|
5
5
|
|
|
6
|
-
`1.5.
|
|
6
|
+
`1.5.1` is a CPU-only stable API foundation for the tensor, autograd,
|
|
7
7
|
neural-network, optimizer, data, project, serialization, ONNX export, vision,
|
|
8
8
|
docs, packaging, and wheel workflows.
|
|
9
9
|
|
|
@@ -80,7 +80,7 @@ w = ts.randn((4, 4), seed=123)
|
|
|
80
80
|
|
|
81
81
|
## Practical Tips
|
|
82
82
|
|
|
83
|
-
- Keep tensors modest in `1.5.
|
|
83
|
+
- Keep tensors modest in `1.5.1`; kernels are simple CPU loops.
|
|
84
84
|
- Prefer `float32` unless you need `float64`.
|
|
85
85
|
- Compare with NumPy in tests for expected numerical values.
|
|
86
86
|
- Watch shape errors carefully around broadcasting and matrix multiplication.
|
|
@@ -55,7 +55,7 @@ equivalents where available.
|
|
|
55
55
|
## Interpreting Results
|
|
56
56
|
|
|
57
57
|
Expect NumPy and PyTorch to be faster for many medium and large operations
|
|
58
|
-
because they use highly optimized native kernels. TensorStudio `1.5.
|
|
58
|
+
because they use highly optimized native kernels. TensorStudio `1.5.1` still
|
|
59
59
|
favors clarity, portability, and a compact C++ implementation over full kernel
|
|
60
60
|
library performance.
|
|
61
61
|
|
|
@@ -23,8 +23,8 @@ Windows, Linux, and macOS.
|
|
|
23
23
|
After the release checklist passes, tag the stable release:
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
|
-
git tag v1.5.
|
|
27
|
-
git push origin v1.5.
|
|
26
|
+
git tag v1.5.1
|
|
27
|
+
git push origin v1.5.1
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
Stable release notes must avoid unsupported performance claims. Publish measured
|
|
@@ -63,7 +63,7 @@ clean environment:
|
|
|
63
63
|
python -m venv .venv-testpypi
|
|
64
64
|
. .venv-testpypi/bin/activate
|
|
65
65
|
python -m pip install -U pip
|
|
66
|
-
python -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ tensorstudio==1.5.
|
|
66
|
+
python -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ tensorstudio==1.5.1
|
|
67
67
|
python -c "import tensorstudio as ts; import tensorstudio._C; print(ts.__version__)"
|
|
68
68
|
deactivate
|
|
69
69
|
```
|
|
@@ -74,7 +74,7 @@ On Windows PowerShell:
|
|
|
74
74
|
python -m venv .venv-testpypi
|
|
75
75
|
.\.venv-testpypi\Scripts\Activate.ps1
|
|
76
76
|
python -m pip install -U pip
|
|
77
|
-
python -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ tensorstudio==1.5.
|
|
77
|
+
python -m pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ tensorstudio==1.5.1
|
|
78
78
|
python -c "import tensorstudio as ts; import tensorstudio._C; print(ts.__version__)"
|
|
79
79
|
deactivate
|
|
80
80
|
```
|
|
@@ -30,8 +30,8 @@ Before a release, update the version consistently in:
|
|
|
30
30
|
Tags use a leading `v`:
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
|
-
git tag v1.5.
|
|
34
|
-
git push origin v1.5.
|
|
33
|
+
git tag v1.5.1
|
|
34
|
+
git push origin v1.5.1
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
GitHub Actions uses the tag to build wheels and release artifacts.
|