tensorstudio 1.7.0__tar.gz → 1.8.0__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.7.0 → tensorstudio-1.8.0}/CHANGELOG.md +19 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/CMakeLists.txt +1 -1
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/PKG-INFO +25 -15
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/README.md +24 -14
- tensorstudio-1.8.0/benchmarks/results.md +347 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/benchmarks/results_matmul.md +13 -13
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/autograd/coverage.md +50 -5
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/autograd/gradient-notes.md +28 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/autograd/overview.md +45 -9
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/core/api-reference.md +7 -1
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/core/tensors.md +22 -3
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/hardware/cpu-backend.md +1 -1
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/index.md +4 -1
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/interchange/onnx.md +1 -1
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/interchange/serialization.md +1 -1
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/nn/training.md +1 -1
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/release/publishing.md +4 -4
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/release/versioning.md +2 -2
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/roadmap/milestones.md +4 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/roadmap/roadmap.md +17 -9
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/include/tensorstudio/autograd.hpp +4 -1
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/include/tensorstudio/tensor.hpp +8 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/include/tensorstudio/version.hpp +1 -1
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/pyproject.toml +1 -1
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/_C.pyi +12 -2
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/_version.py +1 -1
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/autograd.py +2 -2
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/src/bindings/bind_autograd.cpp +7 -4
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/src/bindings/bind_tensor.cpp +25 -4
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/src/core/autograd.cpp +38 -4
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/src/core/tensor.cpp +60 -0
- tensorstudio-1.8.0/tests/test_autograd_hardening.py +139 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/tests/test_import.py +1 -1
- tensorstudio-1.7.0/benchmarks/results.md +0 -347
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/.gitattributes +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/.github/workflows/ci.yml +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/.github/workflows/publish-testpypi.yml +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/.github/workflows/publish.yml +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/.github/workflows/wheels.yml +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/.gitignore +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/.pre-commit-config.yaml +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/CONTRIBUTING.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/LICENSE +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/SECURITY.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/benchmark_all.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/benchmarks/__init__.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/benchmarks/bench_activations.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/benchmarks/bench_autograd.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/benchmarks/bench_conv2d.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/benchmarks/bench_elementwise.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/benchmarks/bench_matmul.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/benchmarks/bench_pooling.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/benchmarks/bench_reductions.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/benchmarks/bench_tensor_ops.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/benchmarks/bench_training_loop.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/benchmarks/benchmark_report.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/benchmarks/results_conv2d.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/benchmarks/results_pooling.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/benchmarks/results_reductions.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/benchmarks/results_tensor_ops.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/benchmarks/thresholds.json +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/core/broadcasting.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/core/math-and-statistics.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/core/native-cpp-core.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/data/dataloader-patterns.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/data/datasets-and-dataloaders.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/data/tensor-datasets.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/development/contributing.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/development/cpp-first.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/getting-started/installation.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/getting-started/quickstart.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/getting-started/source-build.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/hardware/linux.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/hardware/macos.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/hardware/windows.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/interchange/model-formats.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/interchange/numpy-interop.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/interchange/trusted-serialization.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/nn/modules.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/nn/optimizers.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/nn/overview.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/performance/benchmarks.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/performance/optimization.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/performance/profiling.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/project/checkpoints.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/project/project-layout.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/project/workflows.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/release/checklist.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/roadmap/priorities.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/vision/dataset-creation.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/docs/vision/overview.md +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/examples/basic_tensor_ops.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/examples/export_onnx.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/examples/image_folder_classification.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/examples/linear_regression.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/examples/project_training.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/examples/save_load_model.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/examples/tiny_mlp.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/examples/vision_classifier.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/include/tensorstudio/device.hpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/include/tensorstudio/dtype.hpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/include/tensorstudio/errors.hpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/include/tensorstudio/module.hpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/include/tensorstudio/ops.hpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/include/tensorstudio/optim.hpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/include/tensorstudio/perf.hpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/include/tensorstudio/random.hpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/include/tensorstudio/serialization.hpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/include/tensorstudio/shape.hpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/include/tensorstudio/storage.hpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/mkdocs.yml +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/__init__.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/data/__init__.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/data/dataloader.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/data/dataset.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/dtypes.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/errors.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/grad_mode.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/interchange/__init__.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/interchange/onnx.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/math.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/nn/__init__.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/nn/functional.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/nn/losses.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/nn/modules.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/ops.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/optim/__init__.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/optim/adam.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/optim/adamw.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/optim/lr_scheduler.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/optim/sgd.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/optim/utils.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/performance.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/project/__init__.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/project/checkpoint.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/project/config.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/project/trainer.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/py.typed +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/serialization.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/tensor.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/typing.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/vision/__init__.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/vision/datasets.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/vision/io.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/vision/metrics.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/vision/models.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/vision/transforms.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/python/tensorstudio/vision/visualization.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/src/bindings/bind_nn.cpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/src/bindings/bind_ops.cpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/src/bindings/bind_optim.cpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/src/bindings/bindings.cpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/src/bindings/bindings.hpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/src/core/device.cpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/src/core/dtype.cpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/src/core/errors.cpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/src/core/module.cpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/src/core/ops.cpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/src/core/optim.cpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/src/core/perf.cpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/src/core/random.cpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/src/core/serialization.cpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/src/core/shape.cpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/src/core/storage.cpp +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/test_all.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/tests/test_autograd.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/tests/test_benchmark_report.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/tests/test_broadcasting.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/tests/test_core_math_expansion.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/tests/test_data.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/tests/test_errors.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/tests/test_indexing.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/tests/test_interchange.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/tests/test_nn.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/tests/test_numpy_interop.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/tests/test_ops.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/tests/test_optim.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/tests/test_performance.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/tests/test_project.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/tests/test_serialization.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/tests/test_tensor.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/tests/test_views.py +0 -0
- {tensorstudio-1.7.0 → tensorstudio-1.8.0}/tests/test_vision.py +0 -0
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 1.8.0 - 2026-07-07
|
|
6
|
+
|
|
7
|
+
- Completed the ordered Autograd Coverage And Hardening roadmap section as one
|
|
8
|
+
release batch.
|
|
9
|
+
- Added `retain_graph` support to `Tensor.backward()` and
|
|
10
|
+
`tensorstudio.autograd.backward()`.
|
|
11
|
+
- Added graph lifecycle hardening: normal backward frees non-leaf graph history,
|
|
12
|
+
repeated backward through a freed graph raises a clear error, and retained
|
|
13
|
+
graphs clear intermediate gradients between backward passes.
|
|
14
|
+
- Added Tensor `is_leaf`, `clear_history()`, and `detach_()` controls for
|
|
15
|
+
explicit graph lifecycle management.
|
|
16
|
+
- Added guarded public in-place methods `zero_()`, `fill_()`, and `add_()`.
|
|
17
|
+
They reject gradient-tracked mutation while grad mode is enabled and work
|
|
18
|
+
inside `tensorstudio.no_grad()`.
|
|
19
|
+
- Expanded non-scalar backward and finite-difference gradient tests for stable
|
|
20
|
+
probability ops, statistics, norms, and batched matrix multiplication.
|
|
21
|
+
- Expanded autograd documentation with a coverage matrix, lifecycle notes, and
|
|
22
|
+
explicit higher-order-gradient limitations.
|
|
23
|
+
|
|
5
24
|
## 1.7.0 - 2026-07-07
|
|
6
25
|
|
|
7
26
|
- Completed the ordered Core Math Expansion roadmap section as one release
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: tensorstudio
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.8.0
|
|
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,12 +71,13 @@ 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.
|
|
74
|
+
TensorStudio `1.8.0` is a CPU-only stable API foundation with native C++
|
|
75
75
|
threading, storage reuse, SIMD-friendly typed kernels, and optional
|
|
76
76
|
CBLAS/Accelerate matrix multiplication when available. It adds native stable
|
|
77
77
|
softmax/logsumexp, batched matrix multiplication, statistical reductions,
|
|
78
|
-
boolean reductions,
|
|
79
|
-
intentionally compact, and not a replacement for
|
|
78
|
+
boolean reductions, seeded random distributions, and a hardened eager autograd
|
|
79
|
+
lifecycle. It is eager-only, intentionally compact, and not a replacement for
|
|
80
|
+
mature ML frameworks.
|
|
80
81
|
|
|
81
82
|
## Install
|
|
82
83
|
|
|
@@ -241,11 +242,20 @@ loss.backward()
|
|
|
241
242
|
print(x.grad.tolist())
|
|
242
243
|
```
|
|
243
244
|
|
|
245
|
+
Reuse a graph explicitly when needed:
|
|
246
|
+
|
|
247
|
+
```python
|
|
248
|
+
loss = (x * x).sum()
|
|
249
|
+
loss.backward(retain_graph=True)
|
|
250
|
+
loss.backward()
|
|
251
|
+
```
|
|
252
|
+
|
|
244
253
|
Use `no_grad()` when you want eager computation without recording a graph:
|
|
245
254
|
|
|
246
255
|
```python
|
|
247
256
|
with ts.no_grad():
|
|
248
257
|
y = x * 2
|
|
258
|
+
x.zero_()
|
|
249
259
|
```
|
|
250
260
|
|
|
251
261
|
## Neural Networks
|
|
@@ -381,11 +391,11 @@ Run the loose local regression thresholds with:
|
|
|
381
391
|
python benchmark_all.py --check-thresholds
|
|
382
392
|
```
|
|
383
393
|
|
|
384
|
-
On one Windows CPython 3.10 development run reporting `1.
|
|
394
|
+
On one Windows CPython 3.10 development run reporting `1.8.0`, with
|
|
385
395
|
TensorStudio threads enabled, storage pooling enabled, SSE2 autovectorization
|
|
386
396
|
reported, and no BLAS provider found, TensorStudio beat NumPy on 7 local
|
|
387
397
|
benchmark cases and lost on 96 NumPy-comparable cases. JAX CPU dispatch was
|
|
388
|
-
available on that machine; TensorStudio won
|
|
398
|
+
available on that machine; TensorStudio won 47 local cases and lost 51. The
|
|
389
399
|
strongest local wins were the simple NumPy convolution/pooling reference loops
|
|
390
400
|
and some small JAX-dispatch-heavy eager cases. NumPy and JAX were faster for
|
|
391
401
|
many elementwise, reduction, matrix multiplication, larger activation, and
|
|
@@ -397,15 +407,15 @@ Snapshot from that local run:
|
|
|
397
407
|
|
|
398
408
|
| operation | shape | TensorStudio | NumPy | JAX CPU dispatch | TS vs NumPy | TS vs JAX |
|
|
399
409
|
|---|---:|---:|---:|---:|---:|---:|
|
|
400
|
-
| `sigmoid` | `(32,)` | 0.
|
|
401
|
-
| `mean` | `(32,)` | 0.
|
|
402
|
-
| `sum_axis1` | `(16, 16)` | 0.
|
|
403
|
-
| `chain_relu` | `(128,)` | 0.
|
|
404
|
-
| `matmul` | `(256, 256)` | 2.
|
|
405
|
-
| `conv2d_3x3_padding1` | `(1, 1, 8, 8)` | 0.
|
|
406
|
-
| `max_pool2d_2x2` | `(1, 1, 16, 16)` | 0.
|
|
407
|
-
| `avg_pool2d_2x2` | `(1, 1, 16, 16)` | 0.
|
|
408
|
-
| `elementwise_backward` | `(1024,)` | 2.
|
|
410
|
+
| `sigmoid` | `(32,)` | 0.0155 ms | 0.0044 ms | 0.0761 ms | 0.2860x | 4.9227x |
|
|
411
|
+
| `mean` | `(32,)` | 0.0158 ms | 0.0082 ms | 0.0126 ms | 0.5215x | 0.7968x |
|
|
412
|
+
| `sum_axis1` | `(16, 16)` | 0.0161 ms | 0.0028 ms | 0.0136 ms | 0.1714x | 0.8417x |
|
|
413
|
+
| `chain_relu` | `(128,)` | 0.0861 ms | 0.0056 ms | 0.0944 ms | 0.0646x | 1.0971x |
|
|
414
|
+
| `matmul` | `(256, 256)` | 2.1900 ms | 0.4380 ms | 0.2610 ms | 0.2000x | 0.1192x |
|
|
415
|
+
| `conv2d_3x3_padding1` | `(1, 1, 8, 8)` | 0.1995 ms | 1.2390 ms | 0.1086 ms | 6.2118x | 0.5443x |
|
|
416
|
+
| `max_pool2d_2x2` | `(1, 1, 16, 16)` | 0.0286 ms | 0.1684 ms | n/a | 5.8921x | n/a |
|
|
417
|
+
| `avg_pool2d_2x2` | `(1, 1, 16, 16)` | 0.0286 ms | 0.5569 ms | n/a | 19.4803x | n/a |
|
|
418
|
+
| `elementwise_backward` | `(1024,)` | 2.7758 ms | n/a | n/a | n/a | n/a |
|
|
409
419
|
|
|
410
420
|
Speedup is `competitor median / TensorStudio median`, so values above `1.0x`
|
|
411
421
|
favor TensorStudio.
|
|
@@ -7,12 +7,13 @@
|
|
|
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.
|
|
10
|
+
TensorStudio `1.8.0` is a CPU-only stable API foundation with native C++
|
|
11
11
|
threading, storage reuse, SIMD-friendly typed kernels, and optional
|
|
12
12
|
CBLAS/Accelerate matrix multiplication when available. It adds native stable
|
|
13
13
|
softmax/logsumexp, batched matrix multiplication, statistical reductions,
|
|
14
|
-
boolean reductions,
|
|
15
|
-
intentionally compact, and not a replacement for
|
|
14
|
+
boolean reductions, seeded random distributions, and a hardened eager autograd
|
|
15
|
+
lifecycle. It is eager-only, intentionally compact, and not a replacement for
|
|
16
|
+
mature ML frameworks.
|
|
16
17
|
|
|
17
18
|
## Install
|
|
18
19
|
|
|
@@ -177,11 +178,20 @@ loss.backward()
|
|
|
177
178
|
print(x.grad.tolist())
|
|
178
179
|
```
|
|
179
180
|
|
|
181
|
+
Reuse a graph explicitly when needed:
|
|
182
|
+
|
|
183
|
+
```python
|
|
184
|
+
loss = (x * x).sum()
|
|
185
|
+
loss.backward(retain_graph=True)
|
|
186
|
+
loss.backward()
|
|
187
|
+
```
|
|
188
|
+
|
|
180
189
|
Use `no_grad()` when you want eager computation without recording a graph:
|
|
181
190
|
|
|
182
191
|
```python
|
|
183
192
|
with ts.no_grad():
|
|
184
193
|
y = x * 2
|
|
194
|
+
x.zero_()
|
|
185
195
|
```
|
|
186
196
|
|
|
187
197
|
## Neural Networks
|
|
@@ -317,11 +327,11 @@ Run the loose local regression thresholds with:
|
|
|
317
327
|
python benchmark_all.py --check-thresholds
|
|
318
328
|
```
|
|
319
329
|
|
|
320
|
-
On one Windows CPython 3.10 development run reporting `1.
|
|
330
|
+
On one Windows CPython 3.10 development run reporting `1.8.0`, with
|
|
321
331
|
TensorStudio threads enabled, storage pooling enabled, SSE2 autovectorization
|
|
322
332
|
reported, and no BLAS provider found, TensorStudio beat NumPy on 7 local
|
|
323
333
|
benchmark cases and lost on 96 NumPy-comparable cases. JAX CPU dispatch was
|
|
324
|
-
available on that machine; TensorStudio won
|
|
334
|
+
available on that machine; TensorStudio won 47 local cases and lost 51. The
|
|
325
335
|
strongest local wins were the simple NumPy convolution/pooling reference loops
|
|
326
336
|
and some small JAX-dispatch-heavy eager cases. NumPy and JAX were faster for
|
|
327
337
|
many elementwise, reduction, matrix multiplication, larger activation, and
|
|
@@ -333,15 +343,15 @@ Snapshot from that local run:
|
|
|
333
343
|
|
|
334
344
|
| operation | shape | TensorStudio | NumPy | JAX CPU dispatch | TS vs NumPy | TS vs JAX |
|
|
335
345
|
|---|---:|---:|---:|---:|---:|---:|
|
|
336
|
-
| `sigmoid` | `(32,)` | 0.
|
|
337
|
-
| `mean` | `(32,)` | 0.
|
|
338
|
-
| `sum_axis1` | `(16, 16)` | 0.
|
|
339
|
-
| `chain_relu` | `(128,)` | 0.
|
|
340
|
-
| `matmul` | `(256, 256)` | 2.
|
|
341
|
-
| `conv2d_3x3_padding1` | `(1, 1, 8, 8)` | 0.
|
|
342
|
-
| `max_pool2d_2x2` | `(1, 1, 16, 16)` | 0.
|
|
343
|
-
| `avg_pool2d_2x2` | `(1, 1, 16, 16)` | 0.
|
|
344
|
-
| `elementwise_backward` | `(1024,)` | 2.
|
|
346
|
+
| `sigmoid` | `(32,)` | 0.0155 ms | 0.0044 ms | 0.0761 ms | 0.2860x | 4.9227x |
|
|
347
|
+
| `mean` | `(32,)` | 0.0158 ms | 0.0082 ms | 0.0126 ms | 0.5215x | 0.7968x |
|
|
348
|
+
| `sum_axis1` | `(16, 16)` | 0.0161 ms | 0.0028 ms | 0.0136 ms | 0.1714x | 0.8417x |
|
|
349
|
+
| `chain_relu` | `(128,)` | 0.0861 ms | 0.0056 ms | 0.0944 ms | 0.0646x | 1.0971x |
|
|
350
|
+
| `matmul` | `(256, 256)` | 2.1900 ms | 0.4380 ms | 0.2610 ms | 0.2000x | 0.1192x |
|
|
351
|
+
| `conv2d_3x3_padding1` | `(1, 1, 8, 8)` | 0.1995 ms | 1.2390 ms | 0.1086 ms | 6.2118x | 0.5443x |
|
|
352
|
+
| `max_pool2d_2x2` | `(1, 1, 16, 16)` | 0.0286 ms | 0.1684 ms | n/a | 5.8921x | n/a |
|
|
353
|
+
| `avg_pool2d_2x2` | `(1, 1, 16, 16)` | 0.0286 ms | 0.5569 ms | n/a | 19.4803x | n/a |
|
|
354
|
+
| `elementwise_backward` | `(1024,)` | 2.7758 ms | n/a | n/a | n/a | n/a |
|
|
345
355
|
|
|
346
356
|
Speedup is `competitor median / TensorStudio median`, so values above `1.0x`
|
|
347
357
|
favor TensorStudio.
|
|
@@ -0,0 +1,347 @@
|
|
|
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.8.0`
|
|
12
|
+
- TensorStudio threads: `12`
|
|
13
|
+
- TensorStudio BLAS enabled: `False`
|
|
14
|
+
- TensorStudio SIMD level: `sse2`
|
|
15
|
+
- TensorStudio storage pool enabled: `True`
|
|
16
|
+
- NumPy: `1.26.4`
|
|
17
|
+
- TensorFlow CPU eager: unavailable (not installed)
|
|
18
|
+
- PyTorch CPU: unavailable (not installed)
|
|
19
|
+
- JAX CPU dispatch: available (0.6.2)
|
|
20
|
+
|
|
21
|
+
## Summary
|
|
22
|
+
|
|
23
|
+
- TensorStudio wins versus NumPy: `7`
|
|
24
|
+
- TensorStudio losses versus NumPy: `96`
|
|
25
|
+
- TensorStudio wins versus JAX CPU dispatch: `47`
|
|
26
|
+
- TensorStudio losses versus JAX CPU dispatch: `51`
|
|
27
|
+
|
|
28
|
+
TensorStudio beat NumPy on at least one local benchmark case. See the detailed table before making any narrow performance claim.
|
|
29
|
+
|
|
30
|
+
## Detailed Results
|
|
31
|
+
|
|
32
|
+
| 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 |
|
|
33
|
+
|---|---|---:|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|---|---|---|---|---|
|
|
34
|
+
| elementwise | add | `(1,)` | TensorStudio | 0.0164 | 0.0169 | 0.0159 | 0.0191 | 0.0011 | 0.0391 | n/a | n/a | 0.7797 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
35
|
+
| elementwise | add | `(1,)` | NumPy | 0.0006 | 0.0009 | 0.0006 | 0.0013 | 0.0003 | 0.0391 | n/a | n/a | 0.7797 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
36
|
+
| elementwise | add | `(1,)` | JAX CPU dispatch | 0.0128 | 0.0144 | 0.0120 | 0.0215 | 0.0036 | 0.0391 | n/a | n/a | 0.7797 | no | n/a | n/a | no | NumPy | reference |
|
|
37
|
+
| elementwise | sub | `(1,)` | TensorStudio | 0.0166 | 0.0167 | 0.0163 | 0.0171 | 0.0003 | 0.0406 | n/a | n/a | 0.7525 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
38
|
+
| elementwise | sub | `(1,)` | NumPy | 0.0007 | 0.0007 | 0.0007 | 0.0007 | 0.0000 | 0.0406 | n/a | n/a | 0.7525 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
39
|
+
| elementwise | sub | `(1,)` | JAX CPU dispatch | 0.0125 | 0.0126 | 0.0120 | 0.0134 | 0.0004 | 0.0406 | n/a | n/a | 0.7525 | no | n/a | n/a | no | NumPy | reference |
|
|
40
|
+
| elementwise | mul | `(1,)` | TensorStudio | 0.0159 | 0.0163 | 0.0159 | 0.0173 | 0.0005 | 0.0431 | n/a | n/a | 0.7596 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
41
|
+
| elementwise | mul | `(1,)` | NumPy | 0.0007 | 0.0007 | 0.0007 | 0.0007 | 0.0000 | 0.0431 | n/a | n/a | 0.7596 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
42
|
+
| elementwise | mul | `(1,)` | JAX CPU dispatch | 0.0121 | 0.0123 | 0.0120 | 0.0128 | 0.0003 | 0.0431 | n/a | n/a | 0.7596 | no | n/a | n/a | no | NumPy | reference |
|
|
43
|
+
| elementwise | div | `(1,)` | TensorStudio | 0.0159 | 0.0162 | 0.0158 | 0.0172 | 0.0005 | 0.0446 | n/a | n/a | 0.5782 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
44
|
+
| elementwise | div | `(1,)` | NumPy | 0.0007 | 0.0007 | 0.0007 | 0.0007 | 0.0000 | 0.0446 | n/a | n/a | 0.5782 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
45
|
+
| elementwise | div | `(1,)` | JAX CPU dispatch | 0.0092 | 0.0093 | 0.0091 | 0.0097 | 0.0002 | 0.0446 | n/a | n/a | 0.5782 | no | n/a | n/a | no | NumPy | reference |
|
|
46
|
+
| elementwise | chain_relu((x*2+1)/3) | `(1,)` | TensorStudio | 0.0897 | 0.0895 | 0.0854 | 0.0931 | 0.0025 | 0.0628 | n/a | n/a | 1.2298 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
47
|
+
| elementwise | chain_relu((x*2+1)/3) | `(1,)` | NumPy | 0.0056 | 0.0057 | 0.0055 | 0.0063 | 0.0003 | 0.0628 | n/a | n/a | 1.2298 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
48
|
+
| elementwise | chain_relu((x*2+1)/3) | `(1,)` | JAX CPU dispatch | 0.1103 | 0.1125 | 0.0943 | 0.1328 | 0.0164 | 0.0628 | n/a | n/a | 1.2298 | no | n/a | n/a | yes | NumPy | reference |
|
|
49
|
+
| elementwise | add | `(8,)` | TensorStudio | 0.0160 | 0.0159 | 0.0156 | 0.0161 | 0.0002 | 0.0402 | n/a | n/a | 0.7635 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
50
|
+
| elementwise | add | `(8,)` | NumPy | 0.0006 | 0.0007 | 0.0006 | 0.0007 | 0.0000 | 0.0402 | n/a | n/a | 0.7635 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
51
|
+
| elementwise | add | `(8,)` | JAX CPU dispatch | 0.0122 | 0.0122 | 0.0121 | 0.0124 | 0.0001 | 0.0402 | n/a | n/a | 0.7635 | no | n/a | n/a | no | NumPy | reference |
|
|
52
|
+
| elementwise | sub | `(8,)` | TensorStudio | 0.0160 | 0.0160 | 0.0159 | 0.0161 | 0.0001 | 0.0428 | n/a | n/a | 0.7775 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
53
|
+
| elementwise | sub | `(8,)` | NumPy | 0.0007 | 0.0007 | 0.0007 | 0.0008 | 0.0001 | 0.0428 | n/a | n/a | 0.7775 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
54
|
+
| elementwise | sub | `(8,)` | JAX CPU dispatch | 0.0124 | 0.0123 | 0.0119 | 0.0127 | 0.0003 | 0.0428 | n/a | n/a | 0.7775 | no | n/a | n/a | no | NumPy | reference |
|
|
55
|
+
| elementwise | mul | `(8,)` | TensorStudio | 0.0161 | 0.0163 | 0.0159 | 0.0169 | 0.0004 | 0.0447 | n/a | n/a | 0.7937 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
56
|
+
| elementwise | mul | `(8,)` | NumPy | 0.0007 | 0.0007 | 0.0007 | 0.0007 | 0.0000 | 0.0447 | n/a | n/a | 0.7937 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
57
|
+
| elementwise | mul | `(8,)` | JAX CPU dispatch | 0.0128 | 0.0130 | 0.0126 | 0.0139 | 0.0005 | 0.0447 | n/a | n/a | 0.7937 | no | n/a | n/a | no | NumPy | reference |
|
|
58
|
+
| elementwise | div | `(8,)` | TensorStudio | 0.0161 | 0.0162 | 0.0160 | 0.0168 | 0.0003 | 0.0461 | n/a | n/a | 0.5862 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
59
|
+
| elementwise | div | `(8,)` | NumPy | 0.0007 | 0.0007 | 0.0007 | 0.0008 | 0.0000 | 0.0461 | n/a | n/a | 0.5862 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
60
|
+
| elementwise | div | `(8,)` | JAX CPU dispatch | 0.0095 | 0.0095 | 0.0094 | 0.0097 | 0.0001 | 0.0461 | n/a | n/a | 0.5862 | no | n/a | n/a | no | NumPy | reference |
|
|
61
|
+
| elementwise | chain_relu((x*2+1)/3) | `(8,)` | TensorStudio | 0.0842 | 0.0843 | 0.0838 | 0.0852 | 0.0005 | 0.0664 | n/a | n/a | 1.0910 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
62
|
+
| elementwise | chain_relu((x*2+1)/3) | `(8,)` | NumPy | 0.0056 | 0.0057 | 0.0054 | 0.0062 | 0.0003 | 0.0664 | n/a | n/a | 1.0910 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
63
|
+
| elementwise | chain_relu((x*2+1)/3) | `(8,)` | JAX CPU dispatch | 0.0918 | 0.0917 | 0.0897 | 0.0937 | 0.0014 | 0.0664 | n/a | n/a | 1.0910 | no | n/a | n/a | yes | NumPy | reference |
|
|
64
|
+
| elementwise | add | `(32,)` | TensorStudio | 0.0159 | 0.0160 | 0.0158 | 0.0164 | 0.0003 | 0.0408 | n/a | n/a | 0.7844 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
65
|
+
| elementwise | add | `(32,)` | NumPy | 0.0006 | 0.0007 | 0.0006 | 0.0008 | 0.0001 | 0.0408 | n/a | n/a | 0.7844 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
66
|
+
| elementwise | add | `(32,)` | JAX CPU dispatch | 0.0124 | 0.0125 | 0.0122 | 0.0126 | 0.0002 | 0.0408 | n/a | n/a | 0.7844 | no | n/a | n/a | no | NumPy | reference |
|
|
67
|
+
| elementwise | sub | `(32,)` | TensorStudio | 0.0159 | 0.0159 | 0.0158 | 0.0160 | 0.0001 | 0.0460 | n/a | n/a | 0.7733 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
68
|
+
| elementwise | sub | `(32,)` | NumPy | 0.0007 | 0.0007 | 0.0007 | 0.0008 | 0.0000 | 0.0460 | n/a | n/a | 0.7733 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
69
|
+
| elementwise | sub | `(32,)` | JAX CPU dispatch | 0.0123 | 0.0123 | 0.0119 | 0.0126 | 0.0002 | 0.0460 | n/a | n/a | 0.7733 | no | n/a | n/a | no | NumPy | reference |
|
|
70
|
+
| elementwise | mul | `(32,)` | TensorStudio | 0.0166 | 0.0167 | 0.0161 | 0.0172 | 0.0005 | 0.0419 | n/a | n/a | 0.7989 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
71
|
+
| elementwise | mul | `(32,)` | NumPy | 0.0007 | 0.0007 | 0.0007 | 0.0007 | 0.0000 | 0.0419 | n/a | n/a | 0.7989 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
72
|
+
| elementwise | mul | `(32,)` | JAX CPU dispatch | 0.0133 | 0.0133 | 0.0122 | 0.0141 | 0.0007 | 0.0419 | n/a | n/a | 0.7989 | no | n/a | n/a | no | NumPy | reference |
|
|
73
|
+
| elementwise | div | `(32,)` | TensorStudio | 0.0173 | 0.0173 | 0.0161 | 0.0188 | 0.0009 | 0.0419 | n/a | n/a | 0.5869 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
74
|
+
| elementwise | div | `(32,)` | NumPy | 0.0007 | 0.0008 | 0.0007 | 0.0009 | 0.0001 | 0.0419 | n/a | n/a | 0.5869 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
75
|
+
| elementwise | div | `(32,)` | JAX CPU dispatch | 0.0101 | 0.0108 | 0.0094 | 0.0128 | 0.0015 | 0.0419 | n/a | n/a | 0.5869 | no | n/a | n/a | no | NumPy | reference |
|
|
76
|
+
| elementwise | chain_relu((x*2+1)/3) | `(32,)` | TensorStudio | 0.0885 | 0.0890 | 0.0862 | 0.0942 | 0.0027 | 0.0643 | n/a | n/a | 1.0609 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
77
|
+
| elementwise | chain_relu((x*2+1)/3) | `(32,)` | NumPy | 0.0057 | 0.0059 | 0.0055 | 0.0072 | 0.0006 | 0.0643 | n/a | n/a | 1.0609 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
78
|
+
| elementwise | chain_relu((x*2+1)/3) | `(32,)` | JAX CPU dispatch | 0.0939 | 0.0947 | 0.0913 | 0.1014 | 0.0035 | 0.0643 | n/a | n/a | 1.0609 | no | n/a | n/a | yes | NumPy | reference |
|
|
79
|
+
| elementwise | add | `(128,)` | TensorStudio | 0.0161 | 0.0163 | 0.0160 | 0.0168 | 0.0003 | 0.0448 | n/a | n/a | 0.7905 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
80
|
+
| elementwise | add | `(128,)` | NumPy | 0.0007 | 0.0007 | 0.0007 | 0.0008 | 0.0000 | 0.0448 | n/a | n/a | 0.7905 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
81
|
+
| elementwise | add | `(128,)` | JAX CPU dispatch | 0.0128 | 0.0193 | 0.0126 | 0.0396 | 0.0104 | 0.0448 | n/a | n/a | 0.7905 | no | n/a | n/a | no | NumPy | reference |
|
|
82
|
+
| elementwise | sub | `(128,)` | TensorStudio | 0.0161 | 0.0167 | 0.0161 | 0.0191 | 0.0012 | 0.0424 | n/a | n/a | 0.7664 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
83
|
+
| elementwise | sub | `(128,)` | NumPy | 0.0007 | 0.0007 | 0.0007 | 0.0007 | 0.0000 | 0.0424 | n/a | n/a | 0.7664 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
84
|
+
| elementwise | sub | `(128,)` | JAX CPU dispatch | 0.0124 | 0.0123 | 0.0121 | 0.0124 | 0.0001 | 0.0424 | n/a | n/a | 0.7664 | no | n/a | n/a | no | NumPy | reference |
|
|
85
|
+
| elementwise | mul | `(128,)` | TensorStudio | 0.0163 | 0.0165 | 0.0160 | 0.0172 | 0.0005 | 0.0435 | n/a | n/a | 0.7971 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
86
|
+
| elementwise | mul | `(128,)` | NumPy | 0.0007 | 0.0007 | 0.0007 | 0.0007 | 0.0000 | 0.0435 | n/a | n/a | 0.7971 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
87
|
+
| elementwise | mul | `(128,)` | JAX CPU dispatch | 0.0130 | 0.0144 | 0.0128 | 0.0200 | 0.0028 | 0.0435 | n/a | n/a | 0.7971 | no | n/a | n/a | no | NumPy | reference |
|
|
88
|
+
| elementwise | div | `(128,)` | TensorStudio | 0.0159 | 0.0161 | 0.0159 | 0.0168 | 0.0004 | 0.0465 | n/a | n/a | 0.6165 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
89
|
+
| elementwise | div | `(128,)` | NumPy | 0.0007 | 0.0007 | 0.0007 | 0.0008 | 0.0000 | 0.0465 | n/a | n/a | 0.6165 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
90
|
+
| elementwise | div | `(128,)` | JAX CPU dispatch | 0.0098 | 0.0098 | 0.0093 | 0.0106 | 0.0005 | 0.0465 | n/a | n/a | 0.6165 | no | n/a | n/a | no | NumPy | reference |
|
|
91
|
+
| elementwise | chain_relu((x*2+1)/3) | `(128,)` | TensorStudio | 0.0861 | 0.0862 | 0.0847 | 0.0874 | 0.0009 | 0.0646 | n/a | n/a | 1.0971 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
92
|
+
| elementwise | chain_relu((x*2+1)/3) | `(128,)` | NumPy | 0.0056 | 0.0056 | 0.0055 | 0.0057 | 0.0001 | 0.0646 | n/a | n/a | 1.0971 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
93
|
+
| elementwise | chain_relu((x*2+1)/3) | `(128,)` | JAX CPU dispatch | 0.0944 | 0.0968 | 0.0914 | 0.1065 | 0.0058 | 0.0646 | n/a | n/a | 1.0971 | no | n/a | n/a | yes | NumPy | reference |
|
|
94
|
+
| elementwise | add | `(1024,)` | TensorStudio | 0.0162 | 0.0168 | 0.0159 | 0.0191 | 0.0012 | 0.0734 | n/a | n/a | 1.0326 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
95
|
+
| elementwise | add | `(1024,)` | NumPy | 0.0012 | 0.0013 | 0.0012 | 0.0017 | 0.0002 | 0.0734 | n/a | n/a | 1.0326 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
96
|
+
| elementwise | add | `(1024,)` | JAX CPU dispatch | 0.0168 | 0.0175 | 0.0164 | 0.0206 | 0.0016 | 0.0734 | n/a | n/a | 1.0326 | no | n/a | n/a | yes | NumPy | reference |
|
|
97
|
+
| elementwise | sub | `(1024,)` | TensorStudio | 0.0164 | 0.0164 | 0.0162 | 0.0167 | 0.0002 | 0.0751 | n/a | n/a | 0.9213 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
98
|
+
| elementwise | sub | `(1024,)` | NumPy | 0.0012 | 0.0012 | 0.0012 | 0.0012 | 0.0000 | 0.0751 | n/a | n/a | 0.9213 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
99
|
+
| elementwise | sub | `(1024,)` | JAX CPU dispatch | 0.0151 | 0.0147 | 0.0127 | 0.0169 | 0.0015 | 0.0751 | n/a | n/a | 0.9213 | no | n/a | n/a | no | NumPy | reference |
|
|
100
|
+
| elementwise | mul | `(1024,)` | TensorStudio | 0.0164 | 0.0170 | 0.0163 | 0.0190 | 0.0010 | 0.0836 | n/a | n/a | 0.9017 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
101
|
+
| elementwise | mul | `(1024,)` | NumPy | 0.0014 | 0.0013 | 0.0013 | 0.0014 | 0.0001 | 0.0836 | n/a | n/a | 0.9017 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
102
|
+
| elementwise | mul | `(1024,)` | JAX CPU dispatch | 0.0148 | 0.0157 | 0.0134 | 0.0183 | 0.0018 | 0.0836 | n/a | n/a | 0.9017 | no | n/a | n/a | no | NumPy | reference |
|
|
103
|
+
| elementwise | div | `(1024,)` | TensorStudio | 0.0161 | 0.0162 | 0.0160 | 0.0165 | 0.0002 | 0.0662 | n/a | n/a | 0.7117 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
104
|
+
| elementwise | div | `(1024,)` | NumPy | 0.0011 | 0.0011 | 0.0011 | 0.0011 | 0.0000 | 0.0662 | n/a | n/a | 0.7117 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
105
|
+
| elementwise | div | `(1024,)` | JAX CPU dispatch | 0.0115 | 0.0111 | 0.0101 | 0.0122 | 0.0008 | 0.0662 | n/a | n/a | 0.7117 | no | n/a | n/a | no | NumPy | reference |
|
|
106
|
+
| elementwise | chain_relu((x*2+1)/3) | `(1024,)` | TensorStudio | 0.0875 | 0.0897 | 0.0860 | 0.0995 | 0.0051 | 0.0866 | n/a | n/a | 1.4800 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
107
|
+
| elementwise | chain_relu((x*2+1)/3) | `(1024,)` | NumPy | 0.0076 | 0.0075 | 0.0072 | 0.0077 | 0.0002 | 0.0866 | n/a | n/a | 1.4800 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
108
|
+
| elementwise | chain_relu((x*2+1)/3) | `(1024,)` | JAX CPU dispatch | 0.1295 | 0.1280 | 0.1204 | 0.1389 | 0.0069 | 0.0866 | n/a | n/a | 1.4800 | no | n/a | n/a | yes | NumPy | reference |
|
|
109
|
+
| elementwise | add | `(4096,)` | TensorStudio | 0.0173 | 0.0174 | 0.0170 | 0.0179 | 0.0003 | 0.0864 | n/a | n/a | 1.0773 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
110
|
+
| elementwise | add | `(4096,)` | NumPy | 0.0015 | 0.0015 | 0.0014 | 0.0016 | 0.0001 | 0.0864 | n/a | n/a | 1.0773 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
111
|
+
| elementwise | add | `(4096,)` | JAX CPU dispatch | 0.0186 | 0.0191 | 0.0164 | 0.0223 | 0.0026 | 0.0864 | n/a | n/a | 1.0773 | no | n/a | n/a | yes | NumPy | reference |
|
|
112
|
+
| elementwise | sub | `(4096,)` | TensorStudio | 0.0179 | 0.0191 | 0.0176 | 0.0213 | 0.0017 | 0.0861 | n/a | n/a | 1.1306 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
113
|
+
| elementwise | sub | `(4096,)` | NumPy | 0.0015 | 0.0016 | 0.0015 | 0.0017 | 0.0001 | 0.0861 | n/a | n/a | 1.1306 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
114
|
+
| elementwise | sub | `(4096,)` | JAX CPU dispatch | 0.0203 | 0.0195 | 0.0176 | 0.0203 | 0.0011 | 0.0861 | n/a | n/a | 1.1306 | no | n/a | n/a | yes | NumPy | reference |
|
|
115
|
+
| elementwise | mul | `(4096,)` | TensorStudio | 0.0177 | 0.0178 | 0.0169 | 0.0192 | 0.0008 | 0.0936 | n/a | n/a | 1.0693 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
116
|
+
| elementwise | mul | `(4096,)` | NumPy | 0.0017 | 0.0017 | 0.0016 | 0.0019 | 0.0001 | 0.0936 | n/a | n/a | 1.0693 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
117
|
+
| elementwise | mul | `(4096,)` | JAX CPU dispatch | 0.0189 | 0.0197 | 0.0150 | 0.0250 | 0.0041 | 0.0936 | n/a | n/a | 1.0693 | no | n/a | n/a | yes | NumPy | reference |
|
|
118
|
+
| elementwise | div | `(4096,)` | TensorStudio | 0.0172 | 0.0173 | 0.0171 | 0.0174 | 0.0001 | 0.1049 | n/a | n/a | 0.9096 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
119
|
+
| elementwise | div | `(4096,)` | NumPy | 0.0018 | 0.0018 | 0.0016 | 0.0020 | 0.0002 | 0.1049 | n/a | n/a | 0.9096 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
120
|
+
| elementwise | div | `(4096,)` | JAX CPU dispatch | 0.0157 | 0.0148 | 0.0114 | 0.0164 | 0.0019 | 0.1049 | n/a | n/a | 0.9096 | no | n/a | n/a | no | NumPy | reference |
|
|
121
|
+
| elementwise | chain_relu((x*2+1)/3) | `(4096,)` | TensorStudio | 0.1057 | 0.1047 | 0.0922 | 0.1179 | 0.0088 | 0.0953 | n/a | n/a | 1.3363 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
122
|
+
| elementwise | chain_relu((x*2+1)/3) | `(4096,)` | NumPy | 0.0101 | 0.0101 | 0.0098 | 0.0103 | 0.0002 | 0.0953 | n/a | n/a | 1.3363 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
123
|
+
| elementwise | chain_relu((x*2+1)/3) | `(4096,)` | JAX CPU dispatch | 0.1413 | 0.1400 | 0.1302 | 0.1531 | 0.0084 | 0.0953 | n/a | n/a | 1.3363 | no | n/a | n/a | yes | NumPy | reference |
|
|
124
|
+
| elementwise | add | `(16384,)` | TensorStudio | 0.0224 | 0.0225 | 0.0212 | 0.0248 | 0.0013 | 0.1815 | n/a | n/a | 0.8039 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
125
|
+
| elementwise | add | `(16384,)` | NumPy | 0.0041 | 0.0042 | 0.0038 | 0.0049 | 0.0004 | 0.1815 | n/a | n/a | 0.8039 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
126
|
+
| elementwise | add | `(16384,)` | JAX CPU dispatch | 0.0180 | 0.0195 | 0.0150 | 0.0263 | 0.0045 | 0.1815 | n/a | n/a | 0.8039 | no | n/a | n/a | no | NumPy | reference |
|
|
127
|
+
| elementwise | sub | `(16384,)` | TensorStudio | 0.0212 | 0.0218 | 0.0210 | 0.0241 | 0.0012 | 0.1779 | n/a | n/a | 1.1192 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
128
|
+
| elementwise | sub | `(16384,)` | NumPy | 0.0038 | 0.0038 | 0.0037 | 0.0040 | 0.0001 | 0.1779 | n/a | n/a | 1.1192 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
129
|
+
| elementwise | sub | `(16384,)` | JAX CPU dispatch | 0.0238 | 0.0229 | 0.0161 | 0.0283 | 0.0040 | 0.1779 | n/a | n/a | 1.1192 | no | n/a | n/a | yes | NumPy | reference |
|
|
130
|
+
| elementwise | mul | `(16384,)` | TensorStudio | 0.0215 | 0.0220 | 0.0210 | 0.0243 | 0.0012 | 0.1852 | n/a | n/a | 0.9464 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
131
|
+
| elementwise | mul | `(16384,)` | NumPy | 0.0040 | 0.0041 | 0.0038 | 0.0045 | 0.0002 | 0.1852 | n/a | n/a | 0.9464 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
132
|
+
| elementwise | mul | `(16384,)` | JAX CPU dispatch | 0.0203 | 0.0199 | 0.0133 | 0.0263 | 0.0054 | 0.1852 | n/a | n/a | 0.9464 | no | n/a | n/a | no | NumPy | reference |
|
|
133
|
+
| elementwise | div | `(16384,)` | TensorStudio | 0.0217 | 0.0221 | 0.0209 | 0.0234 | 0.0009 | 0.2301 | n/a | n/a | 0.6575 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
134
|
+
| elementwise | div | `(16384,)` | NumPy | 0.0050 | 0.0049 | 0.0046 | 0.0054 | 0.0003 | 0.2301 | n/a | n/a | 0.6575 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
135
|
+
| elementwise | div | `(16384,)` | JAX CPU dispatch | 0.0143 | 0.0153 | 0.0138 | 0.0200 | 0.0024 | 0.2301 | n/a | n/a | 0.6575 | no | n/a | n/a | no | NumPy | reference |
|
|
136
|
+
| elementwise | chain_relu((x*2+1)/3) | `(16384,)` | TensorStudio | 0.1188 | 0.1189 | 0.1048 | 0.1358 | 0.0122 | 0.3060 | n/a | n/a | 1.6244 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
137
|
+
| elementwise | chain_relu((x*2+1)/3) | `(16384,)` | NumPy | 0.0364 | 0.0341 | 0.0229 | 0.0400 | 0.0064 | 0.3060 | n/a | n/a | 1.6244 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
138
|
+
| elementwise | chain_relu((x*2+1)/3) | `(16384,)` | JAX CPU dispatch | 0.1930 | 0.2638 | 0.1432 | 0.5748 | 0.1592 | 0.3060 | n/a | n/a | 1.6244 | no | n/a | n/a | yes | NumPy | reference |
|
|
139
|
+
| activations | relu | `(1,)` | TensorStudio | 0.0151 | 0.0151 | 0.0146 | 0.0158 | 0.0005 | 0.1154 | n/a | n/a | 2.9763 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
140
|
+
| activations | relu | `(1,)` | NumPy | 0.0017 | 0.0018 | 0.0017 | 0.0020 | 0.0001 | 0.1154 | n/a | n/a | 2.9763 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
141
|
+
| activations | relu | `(1,)` | JAX CPU dispatch | 0.0449 | 0.0454 | 0.0447 | 0.0468 | 0.0008 | 0.1154 | n/a | n/a | 2.9763 | no | n/a | n/a | yes | NumPy | reference |
|
|
142
|
+
| activations | sigmoid | `(1,)` | TensorStudio | 0.0149 | 0.0149 | 0.0148 | 0.0150 | 0.0001 | 0.2956 | n/a | n/a | 5.0984 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
143
|
+
| activations | sigmoid | `(1,)` | NumPy | 0.0044 | 0.0044 | 0.0043 | 0.0045 | 0.0001 | 0.2956 | n/a | n/a | 5.0984 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
144
|
+
| activations | sigmoid | `(1,)` | JAX CPU dispatch | 0.0758 | 0.0756 | 0.0738 | 0.0768 | 0.0011 | 0.2956 | n/a | n/a | 5.0984 | no | n/a | n/a | yes | NumPy | reference |
|
|
145
|
+
| activations | tanh | `(1,)` | TensorStudio | 0.0150 | 0.0150 | 0.0149 | 0.0152 | 0.0001 | 0.0816 | n/a | n/a | 1.9919 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
146
|
+
| activations | tanh | `(1,)` | NumPy | 0.0012 | 0.0012 | 0.0012 | 0.0013 | 0.0000 | 0.0816 | n/a | n/a | 1.9919 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
147
|
+
| activations | tanh | `(1,)` | JAX CPU dispatch | 0.0300 | 0.0307 | 0.0297 | 0.0327 | 0.0011 | 0.0816 | n/a | n/a | 1.9919 | no | n/a | n/a | yes | NumPy | reference |
|
|
148
|
+
| activations | exp | `(1,)` | TensorStudio | 0.0149 | 0.0149 | 0.0148 | 0.0152 | 0.0001 | 0.0817 | n/a | n/a | 2.0346 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
149
|
+
| activations | exp | `(1,)` | NumPy | 0.0012 | 0.0012 | 0.0012 | 0.0013 | 0.0000 | 0.0817 | n/a | n/a | 2.0346 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
150
|
+
| activations | exp | `(1,)` | JAX CPU dispatch | 0.0302 | 0.0306 | 0.0299 | 0.0315 | 0.0006 | 0.0817 | n/a | n/a | 2.0346 | no | n/a | n/a | yes | NumPy | reference |
|
|
151
|
+
| activations | log | `(1,)` | TensorStudio | 0.0150 | 0.0151 | 0.0148 | 0.0153 | 0.0002 | 0.0863 | n/a | n/a | 1.9866 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
152
|
+
| activations | log | `(1,)` | NumPy | 0.0013 | 0.0016 | 0.0012 | 0.0028 | 0.0006 | 0.0863 | n/a | n/a | 1.9866 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
153
|
+
| activations | log | `(1,)` | JAX CPU dispatch | 0.0298 | 0.0305 | 0.0295 | 0.0317 | 0.0009 | 0.0863 | n/a | n/a | 1.9866 | no | n/a | n/a | yes | NumPy | reference |
|
|
154
|
+
| activations | relu | `(8,)` | TensorStudio | 0.0151 | 0.0151 | 0.0150 | 0.0155 | 0.0002 | 0.1135 | n/a | n/a | 3.0652 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
155
|
+
| activations | relu | `(8,)` | NumPy | 0.0017 | 0.0017 | 0.0017 | 0.0018 | 0.0000 | 0.1135 | n/a | n/a | 3.0652 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
156
|
+
| activations | relu | `(8,)` | JAX CPU dispatch | 0.0462 | 0.0470 | 0.0448 | 0.0515 | 0.0024 | 0.1135 | n/a | n/a | 3.0652 | no | n/a | n/a | yes | NumPy | reference |
|
|
157
|
+
| activations | sigmoid | `(8,)` | TensorStudio | 0.0149 | 0.0150 | 0.0149 | 0.0155 | 0.0002 | 0.3030 | n/a | n/a | 5.0278 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
158
|
+
| activations | sigmoid | `(8,)` | NumPy | 0.0045 | 0.0045 | 0.0044 | 0.0046 | 0.0000 | 0.3030 | n/a | n/a | 5.0278 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
159
|
+
| activations | sigmoid | `(8,)` | JAX CPU dispatch | 0.0752 | 0.0750 | 0.0740 | 0.0758 | 0.0007 | 0.3030 | n/a | n/a | 5.0278 | no | n/a | n/a | yes | NumPy | reference |
|
|
160
|
+
| activations | tanh | `(8,)` | TensorStudio | 0.0151 | 0.0153 | 0.0151 | 0.0158 | 0.0003 | 0.0814 | n/a | n/a | 2.0133 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
161
|
+
| activations | tanh | `(8,)` | NumPy | 0.0012 | 0.0013 | 0.0012 | 0.0013 | 0.0000 | 0.0814 | n/a | n/a | 2.0133 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
162
|
+
| activations | tanh | `(8,)` | JAX CPU dispatch | 0.0305 | 0.0304 | 0.0299 | 0.0310 | 0.0004 | 0.0814 | n/a | n/a | 2.0133 | no | n/a | n/a | yes | NumPy | reference |
|
|
163
|
+
| activations | exp | `(8,)` | TensorStudio | 0.0150 | 0.0150 | 0.0149 | 0.0151 | 0.0001 | 0.0853 | n/a | n/a | 2.0180 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
164
|
+
| activations | exp | `(8,)` | NumPy | 0.0013 | 0.0012 | 0.0012 | 0.0013 | 0.0000 | 0.0853 | n/a | n/a | 2.0180 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
165
|
+
| activations | exp | `(8,)` | JAX CPU dispatch | 0.0302 | 0.0306 | 0.0298 | 0.0326 | 0.0010 | 0.0853 | n/a | n/a | 2.0180 | no | n/a | n/a | yes | NumPy | reference |
|
|
166
|
+
| activations | log | `(8,)` | TensorStudio | 0.0150 | 0.0150 | 0.0149 | 0.0151 | 0.0001 | 0.0862 | n/a | n/a | 2.0175 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
167
|
+
| activations | log | `(8,)` | NumPy | 0.0013 | 0.0013 | 0.0012 | 0.0015 | 0.0001 | 0.0862 | n/a | n/a | 2.0175 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
168
|
+
| activations | log | `(8,)` | JAX CPU dispatch | 0.0303 | 0.0303 | 0.0302 | 0.0306 | 0.0001 | 0.0862 | n/a | n/a | 2.0175 | no | n/a | n/a | yes | NumPy | reference |
|
|
169
|
+
| activations | relu | `(32,)` | TensorStudio | 0.0148 | 0.0148 | 0.0147 | 0.0150 | 0.0001 | 0.1169 | n/a | n/a | 3.0356 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
170
|
+
| activations | relu | `(32,)` | NumPy | 0.0017 | 0.0017 | 0.0017 | 0.0018 | 0.0000 | 0.1169 | n/a | n/a | 3.0356 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
171
|
+
| activations | relu | `(32,)` | JAX CPU dispatch | 0.0450 | 0.0453 | 0.0442 | 0.0463 | 0.0008 | 0.1169 | n/a | n/a | 3.0356 | no | n/a | n/a | yes | NumPy | reference |
|
|
172
|
+
| activations | sigmoid | `(32,)` | TensorStudio | 0.0155 | 0.0156 | 0.0150 | 0.0165 | 0.0005 | 0.2860 | n/a | n/a | 4.9227 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
173
|
+
| activations | sigmoid | `(32,)` | NumPy | 0.0044 | 0.0044 | 0.0044 | 0.0045 | 0.0000 | 0.2860 | n/a | n/a | 4.9227 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
174
|
+
| activations | sigmoid | `(32,)` | JAX CPU dispatch | 0.0761 | 0.0761 | 0.0734 | 0.0788 | 0.0019 | 0.2860 | n/a | n/a | 4.9227 | no | n/a | n/a | yes | NumPy | reference |
|
|
175
|
+
| activations | tanh | `(32,)` | TensorStudio | 0.0152 | 0.0153 | 0.0152 | 0.0153 | 0.0001 | 0.0840 | n/a | n/a | 2.0028 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
176
|
+
| activations | tanh | `(32,)` | NumPy | 0.0013 | 0.0013 | 0.0013 | 0.0013 | 0.0000 | 0.0840 | n/a | n/a | 2.0028 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
177
|
+
| activations | tanh | `(32,)` | JAX CPU dispatch | 0.0305 | 0.0310 | 0.0302 | 0.0323 | 0.0008 | 0.0840 | n/a | n/a | 2.0028 | no | n/a | n/a | yes | NumPy | reference |
|
|
178
|
+
| activations | exp | `(32,)` | TensorStudio | 0.0149 | 0.0150 | 0.0149 | 0.0152 | 0.0001 | 0.0812 | n/a | n/a | 2.0337 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
179
|
+
| activations | exp | `(32,)` | NumPy | 0.0012 | 0.0013 | 0.0012 | 0.0014 | 0.0001 | 0.0812 | n/a | n/a | 2.0337 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
180
|
+
| activations | exp | `(32,)` | JAX CPU dispatch | 0.0304 | 0.0305 | 0.0303 | 0.0310 | 0.0003 | 0.0812 | n/a | n/a | 2.0337 | no | n/a | n/a | yes | NumPy | reference |
|
|
181
|
+
| activations | log | `(32,)` | TensorStudio | 0.0152 | 0.0151 | 0.0150 | 0.0153 | 0.0001 | 0.0865 | n/a | n/a | 1.9854 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
182
|
+
| activations | log | `(32,)` | NumPy | 0.0013 | 0.0013 | 0.0013 | 0.0014 | 0.0000 | 0.0865 | n/a | n/a | 1.9854 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
183
|
+
| activations | log | `(32,)` | JAX CPU dispatch | 0.0301 | 0.0300 | 0.0296 | 0.0302 | 0.0002 | 0.0865 | n/a | n/a | 1.9854 | no | n/a | n/a | yes | NumPy | reference |
|
|
184
|
+
| activations | relu | `(128,)` | TensorStudio | 0.0149 | 0.0149 | 0.0148 | 0.0150 | 0.0001 | 0.1194 | n/a | n/a | 3.0002 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
185
|
+
| activations | relu | `(128,)` | NumPy | 0.0018 | 0.0019 | 0.0017 | 0.0022 | 0.0002 | 0.1194 | n/a | n/a | 3.0002 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
186
|
+
| activations | relu | `(128,)` | JAX CPU dispatch | 0.0448 | 0.0450 | 0.0444 | 0.0460 | 0.0005 | 0.1194 | n/a | n/a | 3.0002 | no | n/a | n/a | yes | NumPy | reference |
|
|
187
|
+
| activations | sigmoid | `(128,)` | TensorStudio | 0.0158 | 0.0160 | 0.0155 | 0.0168 | 0.0005 | 0.2975 | n/a | n/a | 4.8611 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
188
|
+
| activations | sigmoid | `(128,)` | NumPy | 0.0047 | 0.0047 | 0.0046 | 0.0048 | 0.0001 | 0.2975 | n/a | n/a | 4.8611 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
189
|
+
| activations | sigmoid | `(128,)` | JAX CPU dispatch | 0.0766 | 0.0760 | 0.0737 | 0.0776 | 0.0015 | 0.2975 | n/a | n/a | 4.8611 | no | n/a | n/a | yes | NumPy | reference |
|
|
190
|
+
| activations | tanh | `(128,)` | TensorStudio | 0.0165 | 0.0167 | 0.0164 | 0.0173 | 0.0003 | 0.0914 | n/a | n/a | 1.8887 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
191
|
+
| activations | tanh | `(128,)` | NumPy | 0.0015 | 0.0015 | 0.0015 | 0.0017 | 0.0001 | 0.0914 | n/a | n/a | 1.8887 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
192
|
+
| activations | tanh | `(128,)` | JAX CPU dispatch | 0.0312 | 0.0312 | 0.0300 | 0.0329 | 0.0010 | 0.0914 | n/a | n/a | 1.8887 | no | n/a | n/a | yes | NumPy | reference |
|
|
193
|
+
| activations | exp | `(128,)` | TensorStudio | 0.0158 | 0.0159 | 0.0154 | 0.0164 | 0.0003 | 0.0853 | n/a | n/a | 1.9763 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
194
|
+
| activations | exp | `(128,)` | NumPy | 0.0014 | 0.0014 | 0.0013 | 0.0014 | 0.0000 | 0.0853 | n/a | n/a | 1.9763 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
195
|
+
| activations | exp | `(128,)` | JAX CPU dispatch | 0.0313 | 0.0311 | 0.0302 | 0.0318 | 0.0005 | 0.0853 | n/a | n/a | 1.9763 | no | n/a | n/a | yes | NumPy | reference |
|
|
196
|
+
| activations | log | `(128,)` | TensorStudio | 0.0158 | 0.0159 | 0.0157 | 0.0161 | 0.0002 | 0.0945 | n/a | n/a | 1.9343 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
197
|
+
| activations | log | `(128,)` | NumPy | 0.0015 | 0.0015 | 0.0014 | 0.0018 | 0.0001 | 0.0945 | n/a | n/a | 1.9343 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
198
|
+
| activations | log | `(128,)` | JAX CPU dispatch | 0.0306 | 0.0310 | 0.0305 | 0.0327 | 0.0009 | 0.0945 | n/a | n/a | 1.9343 | no | n/a | n/a | yes | NumPy | reference |
|
|
199
|
+
| activations | relu | `(1024,)` | TensorStudio | 0.0157 | 0.0156 | 0.0152 | 0.0158 | 0.0003 | 0.1486 | n/a | n/a | 3.7670 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
200
|
+
| activations | relu | `(1024,)` | NumPy | 0.0023 | 0.0023 | 0.0023 | 0.0024 | 0.0000 | 0.1486 | n/a | n/a | 3.7670 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
201
|
+
| activations | relu | `(1024,)` | JAX CPU dispatch | 0.0593 | 0.0602 | 0.0588 | 0.0645 | 0.0021 | 0.1486 | n/a | n/a | 3.7670 | no | n/a | n/a | yes | NumPy | reference |
|
|
202
|
+
| activations | sigmoid | `(1024,)` | TensorStudio | 0.0201 | 0.0204 | 0.0196 | 0.0212 | 0.0006 | 0.3790 | n/a | n/a | 4.9521 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
203
|
+
| activations | sigmoid | `(1024,)` | NumPy | 0.0076 | 0.0076 | 0.0072 | 0.0082 | 0.0003 | 0.3790 | n/a | n/a | 4.9521 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
204
|
+
| activations | sigmoid | `(1024,)` | JAX CPU dispatch | 0.0997 | 0.1031 | 0.0925 | 0.1131 | 0.0080 | 0.3790 | n/a | n/a | 4.9521 | no | n/a | n/a | yes | NumPy | reference |
|
|
205
|
+
| activations | tanh | `(1024,)` | TensorStudio | 0.0262 | 0.0262 | 0.0259 | 0.0267 | 0.0003 | 0.1435 | n/a | n/a | 1.2173 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
206
|
+
| activations | tanh | `(1024,)` | NumPy | 0.0038 | 0.0038 | 0.0036 | 0.0040 | 0.0001 | 0.1435 | n/a | n/a | 1.2173 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
207
|
+
| activations | tanh | `(1024,)` | JAX CPU dispatch | 0.0319 | 0.0321 | 0.0317 | 0.0330 | 0.0005 | 0.1435 | n/a | n/a | 1.2173 | no | n/a | n/a | yes | NumPy | reference |
|
|
208
|
+
| activations | exp | `(1024,)` | TensorStudio | 0.0203 | 0.0204 | 0.0197 | 0.0214 | 0.0006 | 0.1269 | n/a | n/a | 1.5511 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
209
|
+
| activations | exp | `(1024,)` | NumPy | 0.0026 | 0.0026 | 0.0025 | 0.0027 | 0.0001 | 0.1269 | n/a | n/a | 1.5511 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
210
|
+
| activations | exp | `(1024,)` | JAX CPU dispatch | 0.0314 | 0.0319 | 0.0304 | 0.0347 | 0.0015 | 0.1269 | n/a | n/a | 1.5511 | no | n/a | n/a | yes | NumPy | reference |
|
|
211
|
+
| activations | log | `(1024,)` | TensorStudio | 0.0206 | 0.0208 | 0.0205 | 0.0215 | 0.0004 | 0.1452 | n/a | n/a | 1.4968 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
212
|
+
| activations | log | `(1024,)` | NumPy | 0.0030 | 0.0031 | 0.0030 | 0.0033 | 0.0001 | 0.1452 | n/a | n/a | 1.4968 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
213
|
+
| activations | log | `(1024,)` | JAX CPU dispatch | 0.0308 | 0.0313 | 0.0307 | 0.0320 | 0.0006 | 0.1452 | n/a | n/a | 1.4968 | no | n/a | n/a | yes | NumPy | reference |
|
|
214
|
+
| activations | relu | `(4096,)` | TensorStudio | 0.0188 | 0.0185 | 0.0167 | 0.0203 | 0.0014 | 0.2069 | n/a | n/a | 3.9500 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
215
|
+
| activations | relu | `(4096,)` | NumPy | 0.0039 | 0.0042 | 0.0039 | 0.0053 | 0.0006 | 0.2069 | n/a | n/a | 3.9500 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
216
|
+
| activations | relu | `(4096,)` | JAX CPU dispatch | 0.0743 | 0.0753 | 0.0619 | 0.0888 | 0.0093 | 0.2069 | n/a | n/a | 3.9500 | no | n/a | n/a | yes | NumPy | reference |
|
|
217
|
+
| activations | sigmoid | `(4096,)` | TensorStudio | 0.0346 | 0.0361 | 0.0339 | 0.0405 | 0.0025 | 0.3469 | n/a | n/a | 3.2598 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
218
|
+
| activations | sigmoid | `(4096,)` | NumPy | 0.0120 | 0.0120 | 0.0117 | 0.0122 | 0.0002 | 0.3469 | n/a | n/a | 3.2598 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
219
|
+
| activations | sigmoid | `(4096,)` | JAX CPU dispatch | 0.1127 | 0.1101 | 0.1018 | 0.1167 | 0.0055 | 0.3469 | n/a | n/a | 3.2598 | no | n/a | n/a | yes | NumPy | reference |
|
|
220
|
+
| activations | tanh | `(4096,)` | TensorStudio | 0.0637 | 0.0652 | 0.0623 | 0.0683 | 0.0026 | 0.1835 | n/a | n/a | 0.5505 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
221
|
+
| activations | tanh | `(4096,)` | NumPy | 0.0117 | 0.0121 | 0.0103 | 0.0154 | 0.0017 | 0.1835 | n/a | n/a | 0.5505 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
222
|
+
| activations | tanh | `(4096,)` | JAX CPU dispatch | 0.0351 | 0.0351 | 0.0343 | 0.0363 | 0.0008 | 0.1835 | n/a | n/a | 0.5505 | no | n/a | n/a | no | NumPy | reference |
|
|
223
|
+
| activations | exp | `(4096,)` | TensorStudio | 0.0330 | 0.0326 | 0.0312 | 0.0342 | 0.0012 | 0.1949 | n/a | n/a | 1.0498 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
224
|
+
| activations | exp | `(4096,)` | NumPy | 0.0064 | 0.0068 | 0.0063 | 0.0079 | 0.0006 | 0.1949 | n/a | n/a | 1.0498 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
225
|
+
| activations | exp | `(4096,)` | JAX CPU dispatch | 0.0347 | 0.0351 | 0.0344 | 0.0361 | 0.0007 | 0.1949 | n/a | n/a | 1.0498 | no | n/a | n/a | yes | NumPy | reference |
|
|
226
|
+
| activations | log | `(4096,)` | TensorStudio | 0.0375 | 0.0374 | 0.0370 | 0.0377 | 0.0003 | 0.1958 | n/a | n/a | 0.9606 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
227
|
+
| activations | log | `(4096,)` | NumPy | 0.0073 | 0.0073 | 0.0072 | 0.0074 | 0.0001 | 0.1958 | n/a | n/a | 0.9606 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
228
|
+
| activations | log | `(4096,)` | JAX CPU dispatch | 0.0360 | 0.0360 | 0.0354 | 0.0366 | 0.0005 | 0.1958 | n/a | n/a | 0.9606 | no | n/a | n/a | no | NumPy | reference |
|
|
229
|
+
| activations | relu | `(16384,)` | TensorStudio | 0.0234 | 0.0239 | 0.0227 | 0.0258 | 0.0011 | 0.3740 | n/a | n/a | 4.0446 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
230
|
+
| activations | relu | `(16384,)` | NumPy | 0.0087 | 0.0090 | 0.0087 | 0.0103 | 0.0006 | 0.3740 | n/a | n/a | 4.0446 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
231
|
+
| activations | relu | `(16384,)` | JAX CPU dispatch | 0.0945 | 0.0940 | 0.0797 | 0.1053 | 0.0084 | 0.3740 | n/a | n/a | 4.0446 | no | n/a | n/a | yes | NumPy | reference |
|
|
232
|
+
| activations | sigmoid | `(16384,)` | TensorStudio | 0.0926 | 0.0930 | 0.0901 | 0.0969 | 0.0024 | 0.3705 | n/a | n/a | 1.3238 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
233
|
+
| activations | sigmoid | `(16384,)` | NumPy | 0.0343 | 0.0349 | 0.0329 | 0.0397 | 0.0025 | 0.3705 | n/a | n/a | 1.3238 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
234
|
+
| activations | sigmoid | `(16384,)` | JAX CPU dispatch | 0.1226 | 0.1251 | 0.1130 | 0.1449 | 0.0121 | 0.3705 | n/a | n/a | 1.3238 | no | n/a | n/a | yes | NumPy | reference |
|
|
235
|
+
| activations | tanh | `(16384,)` | TensorStudio | 0.2135 | 0.2145 | 0.2131 | 0.2186 | 0.0021 | 0.1912 | n/a | n/a | 0.1823 | no | n/a | n/a | no | JAX CPU dispatch | loss vs NumPy |
|
|
236
|
+
| activations | tanh | `(16384,)` | NumPy | 0.0408 | 0.0405 | 0.0398 | 0.0410 | 0.0005 | 0.1912 | n/a | n/a | 0.1823 | no | n/a | n/a | no | JAX CPU dispatch | NumPy baseline |
|
|
237
|
+
| activations | tanh | `(16384,)` | JAX CPU dispatch | 0.0389 | 0.0389 | 0.0375 | 0.0401 | 0.0009 | 0.1912 | n/a | n/a | 0.1823 | no | n/a | n/a | no | JAX CPU dispatch | reference |
|
|
238
|
+
| activations | exp | `(16384,)` | TensorStudio | 0.0806 | 0.0815 | 0.0775 | 0.0876 | 0.0033 | 0.2410 | n/a | n/a | 0.4979 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
239
|
+
| activations | exp | `(16384,)` | NumPy | 0.0194 | 0.0208 | 0.0192 | 0.0234 | 0.0018 | 0.2410 | n/a | n/a | 0.4979 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
240
|
+
| activations | exp | `(16384,)` | JAX CPU dispatch | 0.0401 | 0.0408 | 0.0394 | 0.0426 | 0.0013 | 0.2410 | n/a | n/a | 0.4979 | no | n/a | n/a | no | NumPy | reference |
|
|
241
|
+
| activations | log | `(16384,)` | TensorStudio | 0.1035 | 0.1044 | 0.1019 | 0.1101 | 0.0030 | 0.2480 | n/a | n/a | 0.4550 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
242
|
+
| activations | log | `(16384,)` | NumPy | 0.0257 | 0.0258 | 0.0253 | 0.0262 | 0.0004 | 0.2480 | n/a | n/a | 0.4550 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
243
|
+
| activations | log | `(16384,)` | JAX CPU dispatch | 0.0471 | 0.0485 | 0.0430 | 0.0568 | 0.0048 | 0.2480 | n/a | n/a | 0.4550 | no | n/a | n/a | no | NumPy | reference |
|
|
244
|
+
| reductions | sum | `(1,)` | TensorStudio | 0.0157 | 0.0159 | 0.0155 | 0.0167 | 0.0005 | 0.1442 | n/a | n/a | 0.7830 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
245
|
+
| reductions | sum | `(1,)` | NumPy | 0.0023 | 0.0027 | 0.0022 | 0.0042 | 0.0008 | 0.1442 | n/a | n/a | 0.7830 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
246
|
+
| reductions | sum | `(1,)` | JAX CPU dispatch | 0.0123 | 0.0124 | 0.0122 | 0.0127 | 0.0002 | 0.1442 | n/a | n/a | 0.7830 | no | n/a | n/a | no | NumPy | reference |
|
|
247
|
+
| reductions | mean | `(1,)` | TensorStudio | 0.0157 | 0.0159 | 0.0155 | 0.0164 | 0.0004 | 0.5751 | n/a | n/a | 0.7418 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
248
|
+
| reductions | mean | `(1,)` | NumPy | 0.0091 | 0.0098 | 0.0080 | 0.0116 | 0.0015 | 0.5751 | n/a | n/a | 0.7418 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
249
|
+
| reductions | mean | `(1,)` | JAX CPU dispatch | 0.0117 | 0.0120 | 0.0116 | 0.0132 | 0.0006 | 0.5751 | n/a | n/a | 0.7418 | no | n/a | n/a | no | NumPy | reference |
|
|
250
|
+
| reductions | sum | `(8,)` | TensorStudio | 0.0155 | 0.0156 | 0.0154 | 0.0161 | 0.0003 | 0.1530 | n/a | n/a | 0.8472 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
251
|
+
| reductions | sum | `(8,)` | NumPy | 0.0024 | 0.0024 | 0.0022 | 0.0025 | 0.0001 | 0.1530 | n/a | n/a | 0.8472 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
252
|
+
| reductions | sum | `(8,)` | JAX CPU dispatch | 0.0131 | 0.0131 | 0.0129 | 0.0134 | 0.0002 | 0.1530 | n/a | n/a | 0.8472 | no | n/a | n/a | no | NumPy | reference |
|
|
253
|
+
| reductions | mean | `(8,)` | TensorStudio | 0.0159 | 0.0163 | 0.0156 | 0.0174 | 0.0006 | 0.5086 | n/a | n/a | 0.7543 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
254
|
+
| reductions | mean | `(8,)` | NumPy | 0.0081 | 0.0081 | 0.0079 | 0.0084 | 0.0001 | 0.5086 | n/a | n/a | 0.7543 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
255
|
+
| reductions | mean | `(8,)` | JAX CPU dispatch | 0.0120 | 0.0122 | 0.0118 | 0.0128 | 0.0004 | 0.5086 | n/a | n/a | 0.7543 | no | n/a | n/a | no | NumPy | reference |
|
|
256
|
+
| reductions | sum | `(32,)` | TensorStudio | 0.0160 | 0.0159 | 0.0157 | 0.0161 | 0.0002 | 0.1458 | n/a | n/a | 0.8329 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
257
|
+
| reductions | sum | `(32,)` | NumPy | 0.0023 | 0.0023 | 0.0022 | 0.0024 | 0.0001 | 0.1458 | n/a | n/a | 0.8329 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
258
|
+
| reductions | sum | `(32,)` | JAX CPU dispatch | 0.0133 | 0.0132 | 0.0128 | 0.0137 | 0.0004 | 0.1458 | n/a | n/a | 0.8329 | no | n/a | n/a | no | NumPy | reference |
|
|
259
|
+
| reductions | mean | `(32,)` | TensorStudio | 0.0158 | 0.0159 | 0.0157 | 0.0163 | 0.0002 | 0.5215 | n/a | n/a | 0.7968 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
260
|
+
| reductions | mean | `(32,)` | NumPy | 0.0082 | 0.0082 | 0.0080 | 0.0085 | 0.0002 | 0.5215 | n/a | n/a | 0.7968 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
261
|
+
| reductions | mean | `(32,)` | JAX CPU dispatch | 0.0126 | 0.0128 | 0.0125 | 0.0135 | 0.0004 | 0.5215 | n/a | n/a | 0.7968 | no | n/a | n/a | no | NumPy | reference |
|
|
262
|
+
| reductions | sum | `(128,)` | TensorStudio | 0.0158 | 0.0160 | 0.0156 | 0.0167 | 0.0004 | 0.1458 | n/a | n/a | 0.9056 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
263
|
+
| reductions | sum | `(128,)` | NumPy | 0.0023 | 0.0024 | 0.0022 | 0.0027 | 0.0002 | 0.1458 | n/a | n/a | 0.9056 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
264
|
+
| reductions | sum | `(128,)` | JAX CPU dispatch | 0.0143 | 0.0142 | 0.0137 | 0.0148 | 0.0004 | 0.1458 | n/a | n/a | 0.9056 | no | n/a | n/a | no | NumPy | reference |
|
|
265
|
+
| reductions | mean | `(128,)` | TensorStudio | 0.0156 | 0.0159 | 0.0155 | 0.0170 | 0.0005 | 0.5124 | n/a | n/a | 0.8789 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
266
|
+
| reductions | mean | `(128,)` | NumPy | 0.0080 | 0.0084 | 0.0079 | 0.0097 | 0.0007 | 0.5124 | n/a | n/a | 0.8789 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
267
|
+
| reductions | mean | `(128,)` | JAX CPU dispatch | 0.0137 | 0.0138 | 0.0134 | 0.0145 | 0.0004 | 0.5124 | n/a | n/a | 0.8789 | no | n/a | n/a | no | NumPy | reference |
|
|
268
|
+
| reductions | sum | `(1024,)` | TensorStudio | 0.0167 | 0.0168 | 0.0164 | 0.0175 | 0.0004 | 0.1693 | n/a | n/a | 1.2890 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
269
|
+
| reductions | sum | `(1024,)` | NumPy | 0.0028 | 0.0028 | 0.0026 | 0.0032 | 0.0002 | 0.1693 | n/a | n/a | 1.2890 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
270
|
+
| reductions | sum | `(1024,)` | JAX CPU dispatch | 0.0215 | 0.0231 | 0.0194 | 0.0280 | 0.0035 | 0.1693 | n/a | n/a | 1.2890 | no | n/a | n/a | yes | NumPy | reference |
|
|
271
|
+
| reductions | mean | `(1024,)` | TensorStudio | 0.0166 | 0.0167 | 0.0164 | 0.0169 | 0.0002 | 0.5214 | n/a | n/a | 0.9997 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
272
|
+
| reductions | mean | `(1024,)` | NumPy | 0.0086 | 0.0086 | 0.0083 | 0.0088 | 0.0002 | 0.5214 | n/a | n/a | 0.9997 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
273
|
+
| reductions | mean | `(1024,)` | JAX CPU dispatch | 0.0166 | 0.0170 | 0.0131 | 0.0213 | 0.0027 | 0.5214 | n/a | n/a | 0.9997 | no | n/a | n/a | no | NumPy | reference |
|
|
274
|
+
| reductions | sum | `(4096,)` | TensorStudio | 0.0198 | 0.0199 | 0.0194 | 0.0204 | 0.0003 | 0.1856 | n/a | n/a | 0.9947 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
275
|
+
| reductions | sum | `(4096,)` | NumPy | 0.0037 | 0.0037 | 0.0035 | 0.0040 | 0.0002 | 0.1856 | n/a | n/a | 0.9947 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
276
|
+
| reductions | sum | `(4096,)` | JAX CPU dispatch | 0.0197 | 0.0201 | 0.0179 | 0.0227 | 0.0019 | 0.1856 | n/a | n/a | 0.9947 | no | n/a | n/a | no | NumPy | reference |
|
|
277
|
+
| reductions | mean | `(4096,)` | TensorStudio | 0.0205 | 0.0209 | 0.0195 | 0.0234 | 0.0013 | 0.4684 | n/a | n/a | 1.0248 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
278
|
+
| reductions | mean | `(4096,)` | NumPy | 0.0096 | 0.0101 | 0.0095 | 0.0121 | 0.0010 | 0.4684 | n/a | n/a | 1.0248 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
279
|
+
| reductions | mean | `(4096,)` | JAX CPU dispatch | 0.0210 | 0.0208 | 0.0176 | 0.0253 | 0.0029 | 0.4684 | n/a | n/a | 1.0248 | no | n/a | n/a | yes | NumPy | reference |
|
|
280
|
+
| reductions | sum | `(16384,)` | TensorStudio | 0.0335 | 0.0335 | 0.0324 | 0.0347 | 0.0009 | 0.2020 | n/a | n/a | 0.7547 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
281
|
+
| reductions | sum | `(16384,)` | NumPy | 0.0068 | 0.0067 | 0.0066 | 0.0068 | 0.0001 | 0.2020 | n/a | n/a | 0.7547 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
282
|
+
| reductions | sum | `(16384,)` | JAX CPU dispatch | 0.0253 | 0.0294 | 0.0239 | 0.0400 | 0.0064 | 0.2020 | n/a | n/a | 0.7547 | no | n/a | n/a | no | NumPy | reference |
|
|
283
|
+
| reductions | mean | `(16384,)` | TensorStudio | 0.0344 | 0.0358 | 0.0328 | 0.0416 | 0.0031 | 0.3819 | n/a | n/a | 0.7749 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
284
|
+
| reductions | mean | `(16384,)` | NumPy | 0.0132 | 0.0135 | 0.0129 | 0.0148 | 0.0007 | 0.3819 | n/a | n/a | 0.7749 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
285
|
+
| reductions | mean | `(16384,)` | JAX CPU dispatch | 0.0267 | 0.0263 | 0.0218 | 0.0303 | 0.0035 | 0.3819 | n/a | n/a | 0.7749 | no | n/a | n/a | no | NumPy | reference |
|
|
286
|
+
| reductions | sum_axis1 | `(16, 16)` | TensorStudio | 0.0161 | 0.0162 | 0.0160 | 0.0166 | 0.0002 | 0.1714 | n/a | n/a | 0.8417 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
287
|
+
| reductions | sum_axis1 | `(16, 16)` | NumPy | 0.0028 | 0.0028 | 0.0027 | 0.0029 | 0.0001 | 0.1714 | n/a | n/a | 0.8417 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
288
|
+
| reductions | sum_axis1 | `(16, 16)` | JAX CPU dispatch | 0.0136 | 0.0134 | 0.0125 | 0.0141 | 0.0006 | 0.1714 | n/a | n/a | 0.8417 | no | n/a | n/a | no | NumPy | reference |
|
|
289
|
+
| reductions | mean_axis0 | `(16, 16)` | TensorStudio | 0.0105 | 0.0105 | 0.0101 | 0.0110 | 0.0003 | 1.0162 | n/a | n/a | 1.1529 | yes | n/a | n/a | yes | TensorStudio | win vs NumPy |
|
|
290
|
+
| reductions | mean_axis0 | `(16, 16)` | NumPy | 0.0106 | 0.0108 | 0.0101 | 0.0120 | 0.0007 | 1.0162 | n/a | n/a | 1.1529 | yes | n/a | n/a | yes | TensorStudio | NumPy baseline |
|
|
291
|
+
| reductions | mean_axis0 | `(16, 16)` | JAX CPU dispatch | 0.0121 | 0.0121 | 0.0117 | 0.0126 | 0.0003 | 1.0162 | n/a | n/a | 1.1529 | yes | n/a | n/a | yes | TensorStudio | reference |
|
|
292
|
+
| reductions | sum_axis1 | `(64, 64)` | TensorStudio | 0.0190 | 0.0190 | 0.0189 | 0.0192 | 0.0001 | 0.2231 | n/a | n/a | 1.1642 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
293
|
+
| reductions | sum_axis1 | `(64, 64)` | NumPy | 0.0042 | 0.0044 | 0.0042 | 0.0052 | 0.0004 | 0.2231 | n/a | n/a | 1.1642 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
294
|
+
| reductions | sum_axis1 | `(64, 64)` | JAX CPU dispatch | 0.0221 | 0.0216 | 0.0179 | 0.0236 | 0.0020 | 0.2231 | n/a | n/a | 1.1642 | no | n/a | n/a | yes | NumPy | reference |
|
|
295
|
+
| reductions | mean_axis0 | `(64, 64)` | TensorStudio | 0.0135 | 0.0141 | 0.0130 | 0.0169 | 0.0014 | 0.8762 | n/a | n/a | 1.3580 | no | n/a | n/a | yes | NumPy | loss vs NumPy |
|
|
296
|
+
| reductions | mean_axis0 | `(64, 64)` | NumPy | 0.0118 | 0.0120 | 0.0114 | 0.0130 | 0.0005 | 0.8762 | n/a | n/a | 1.3580 | no | n/a | n/a | yes | NumPy | NumPy baseline |
|
|
297
|
+
| reductions | mean_axis0 | `(64, 64)` | JAX CPU dispatch | 0.0184 | 0.0193 | 0.0166 | 0.0235 | 0.0026 | 0.8762 | n/a | n/a | 1.3580 | no | n/a | n/a | yes | NumPy | reference |
|
|
298
|
+
| reductions | sum_axis1 | `(128, 128)` | TensorStudio | 0.0304 | 0.0303 | 0.0293 | 0.0309 | 0.0006 | 0.2638 | n/a | n/a | 0.8339 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
299
|
+
| reductions | sum_axis1 | `(128, 128)` | NumPy | 0.0080 | 0.0084 | 0.0079 | 0.0099 | 0.0008 | 0.2638 | n/a | n/a | 0.8339 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
300
|
+
| reductions | sum_axis1 | `(128, 128)` | JAX CPU dispatch | 0.0253 | 0.0286 | 0.0232 | 0.0376 | 0.0054 | 0.2638 | n/a | n/a | 0.8339 | no | n/a | n/a | no | NumPy | reference |
|
|
301
|
+
| reductions | mean_axis0 | `(128, 128)` | TensorStudio | 0.0242 | 0.0238 | 0.0231 | 0.0243 | 0.0005 | 0.6597 | n/a | n/a | 0.8398 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
302
|
+
| reductions | mean_axis0 | `(128, 128)` | NumPy | 0.0159 | 0.0165 | 0.0157 | 0.0190 | 0.0012 | 0.6597 | n/a | n/a | 0.8398 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
303
|
+
| reductions | mean_axis0 | `(128, 128)` | JAX CPU dispatch | 0.0203 | 0.0215 | 0.0160 | 0.0330 | 0.0062 | 0.6597 | n/a | n/a | 0.8398 | no | n/a | n/a | no | NumPy | reference |
|
|
304
|
+
| reductions | sum_axis1 | `(256, 256)` | TensorStudio | 0.0790 | 0.0794 | 0.0787 | 0.0810 | 0.0008 | 0.2844 | n/a | n/a | 0.8837 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
305
|
+
| reductions | sum_axis1 | `(256, 256)` | NumPy | 0.0225 | 0.0225 | 0.0220 | 0.0230 | 0.0003 | 0.2844 | n/a | n/a | 0.8837 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
306
|
+
| reductions | sum_axis1 | `(256, 256)` | JAX CPU dispatch | 0.0698 | 0.0727 | 0.0675 | 0.0820 | 0.0055 | 0.2844 | n/a | n/a | 0.8837 | no | n/a | n/a | no | NumPy | reference |
|
|
307
|
+
| reductions | mean_axis0 | `(256, 256)` | TensorStudio | 0.0611 | 0.0612 | 0.0584 | 0.0639 | 0.0017 | 0.5159 | n/a | n/a | 0.4471 | no | n/a | n/a | no | JAX CPU dispatch | loss vs NumPy |
|
|
308
|
+
| reductions | mean_axis0 | `(256, 256)` | NumPy | 0.0315 | 0.0323 | 0.0233 | 0.0427 | 0.0077 | 0.5159 | n/a | n/a | 0.4471 | no | n/a | n/a | no | JAX CPU dispatch | NumPy baseline |
|
|
309
|
+
| reductions | mean_axis0 | `(256, 256)` | JAX CPU dispatch | 0.0273 | 0.0283 | 0.0186 | 0.0438 | 0.0085 | 0.5159 | n/a | n/a | 0.4471 | no | n/a | n/a | no | JAX CPU dispatch | reference |
|
|
310
|
+
| matmul | matmul | `(16, 16)` | TensorStudio | 0.0184 | 0.0193 | 0.0181 | 0.0226 | 0.0017 | 0.1053 | n/a | n/a | 0.7832 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
311
|
+
| matmul | matmul | `(16, 16)` | NumPy | 0.0019 | 0.0020 | 0.0019 | 0.0022 | 0.0001 | 0.1053 | n/a | n/a | 0.7832 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
312
|
+
| matmul | matmul | `(16, 16)` | JAX CPU dispatch | 0.0144 | 0.0153 | 0.0099 | 0.0270 | 0.0061 | 0.1053 | n/a | n/a | 0.7832 | no | n/a | n/a | no | NumPy | reference |
|
|
313
|
+
| matmul | matmul | `(64, 64)` | TensorStudio | 0.0970 | 0.1074 | 0.0948 | 0.1474 | 0.0202 | 0.1348 | n/a | n/a | 0.3200 | no | n/a | n/a | no | NumPy | loss vs NumPy |
|
|
314
|
+
| matmul | matmul | `(64, 64)` | NumPy | 0.0131 | 0.0133 | 0.0114 | 0.0160 | 0.0015 | 0.1348 | n/a | n/a | 0.3200 | no | n/a | n/a | no | NumPy | NumPy baseline |
|
|
315
|
+
| matmul | matmul | `(64, 64)` | JAX CPU dispatch | 0.0310 | 0.0313 | 0.0220 | 0.0378 | 0.0057 | 0.1348 | n/a | n/a | 0.3200 | no | n/a | n/a | no | NumPy | reference |
|
|
316
|
+
| matmul | matmul | `(128, 128)` | TensorStudio | 0.3957 | 0.3965 | 0.3798 | 0.4179 | 0.0137 | 0.9076 | n/a | n/a | 0.2945 | no | n/a | n/a | no | JAX CPU dispatch | loss vs NumPy |
|
|
317
|
+
| matmul | matmul | `(128, 128)` | NumPy | 0.3591 | 0.3651 | 0.3213 | 0.3975 | 0.0273 | 0.9076 | n/a | n/a | 0.2945 | no | n/a | n/a | no | JAX CPU dispatch | NumPy baseline |
|
|
318
|
+
| matmul | matmul | `(128, 128)` | JAX CPU dispatch | 0.1165 | 0.1378 | 0.1029 | 0.2331 | 0.0487 | 0.9076 | n/a | n/a | 0.2945 | no | n/a | n/a | no | JAX CPU dispatch | reference |
|
|
319
|
+
| matmul | matmul | `(256, 256)` | TensorStudio | 2.1900 | 2.2223 | 2.0101 | 2.4283 | 0.1504 | 0.2000 | n/a | n/a | 0.1192 | no | n/a | n/a | no | JAX CPU dispatch | loss vs NumPy |
|
|
320
|
+
| matmul | matmul | `(256, 256)` | NumPy | 0.4380 | 0.4569 | 0.4316 | 0.5065 | 0.0297 | 0.2000 | n/a | n/a | 0.1192 | no | n/a | n/a | no | JAX CPU dispatch | NumPy baseline |
|
|
321
|
+
| matmul | matmul | `(256, 256)` | JAX CPU dispatch | 0.2610 | 0.2567 | 0.2377 | 0.2668 | 0.0108 | 0.2000 | n/a | n/a | 0.1192 | no | n/a | n/a | no | JAX CPU dispatch | reference |
|
|
322
|
+
| conv2d | conv2d_3x3_padding1 | `(1, 1, 8, 8)` | TensorStudio | 0.1995 | 0.2075 | 0.1859 | 0.2344 | 0.0188 | 6.2118 | n/a | n/a | 0.5443 | yes | n/a | n/a | no | JAX CPU dispatch | win vs NumPy |
|
|
323
|
+
| conv2d | conv2d_3x3_padding1 | `(1, 1, 8, 8)` | NumPy | 1.2390 | 1.2430 | 1.2333 | 1.2592 | 0.0090 | 6.2118 | n/a | n/a | 0.5443 | yes | n/a | n/a | no | JAX CPU dispatch | NumPy baseline |
|
|
324
|
+
| conv2d | conv2d_3x3_padding1 | `(1, 1, 8, 8)` | JAX CPU dispatch | 0.1086 | 0.1134 | 0.1025 | 0.1430 | 0.0151 | 6.2118 | n/a | n/a | 0.5443 | yes | n/a | n/a | no | JAX CPU dispatch | reference |
|
|
325
|
+
| conv2d | conv2d_3x3_padding1 | `(4, 3, 16, 16)` | TensorStudio | 5.6637 | 5.6840 | 5.5839 | 5.8084 | 0.0751 | 12.2538 | n/a | n/a | 0.0651 | yes | n/a | n/a | no | JAX CPU dispatch | win vs NumPy |
|
|
326
|
+
| conv2d | conv2d_3x3_padding1 | `(4, 3, 16, 16)` | NumPy | 69.4021 | 68.9603 | 62.8922 | 76.2510 | 4.9158 | 12.2538 | n/a | n/a | 0.0651 | yes | n/a | n/a | no | JAX CPU dispatch | NumPy baseline |
|
|
327
|
+
| conv2d | conv2d_3x3_padding1 | `(4, 3, 16, 16)` | JAX CPU dispatch | 0.3686 | 0.3672 | 0.3302 | 0.3899 | 0.0206 | 12.2538 | n/a | n/a | 0.0651 | yes | n/a | n/a | no | JAX CPU dispatch | reference |
|
|
328
|
+
| pooling | max_pool2d_2x2 | `(1, 1, 16, 16)` | TensorStudio | 0.0286 | 0.0284 | 0.0275 | 0.0290 | 0.0005 | 5.8921 | n/a | n/a | n/a | yes | n/a | n/a | n/a | TensorStudio | win vs NumPy |
|
|
329
|
+
| pooling | max_pool2d_2x2 | `(1, 1, 16, 16)` | NumPy | 0.1684 | 0.2084 | 0.1658 | 0.2778 | 0.0510 | 5.8921 | n/a | n/a | n/a | yes | n/a | n/a | n/a | TensorStudio | NumPy baseline |
|
|
330
|
+
| pooling | avg_pool2d_2x2 | `(1, 1, 16, 16)` | TensorStudio | 0.0286 | 0.0289 | 0.0279 | 0.0304 | 0.0008 | 19.4803 | n/a | n/a | n/a | yes | n/a | n/a | n/a | TensorStudio | win vs NumPy |
|
|
331
|
+
| pooling | avg_pool2d_2x2 | `(1, 1, 16, 16)` | NumPy | 0.5569 | 0.5642 | 0.5545 | 0.5938 | 0.0149 | 19.4803 | n/a | n/a | n/a | yes | n/a | n/a | n/a | TensorStudio | NumPy baseline |
|
|
332
|
+
| pooling | max_pool2d_2x2 | `(4, 3, 32, 32)` | TensorStudio | 0.5507 | 0.5455 | 0.5272 | 0.5591 | 0.0123 | 14.9279 | n/a | n/a | n/a | yes | n/a | n/a | n/a | TensorStudio | win vs NumPy |
|
|
333
|
+
| pooling | max_pool2d_2x2 | `(4, 3, 32, 32)` | NumPy | 8.2212 | 8.3594 | 8.0018 | 9.1672 | 0.4250 | 14.9279 | n/a | n/a | n/a | yes | n/a | n/a | n/a | TensorStudio | NumPy baseline |
|
|
334
|
+
| pooling | avg_pool2d_2x2 | `(4, 3, 32, 32)` | TensorStudio | 0.6059 | 0.6015 | 0.5767 | 0.6183 | 0.0142 | 46.3953 | n/a | n/a | n/a | yes | n/a | n/a | n/a | TensorStudio | win vs NumPy |
|
|
335
|
+
| pooling | avg_pool2d_2x2 | `(4, 3, 32, 32)` | NumPy | 28.1123 | 28.2268 | 26.7658 | 29.6040 | 1.2100 | 46.3953 | n/a | n/a | n/a | yes | n/a | n/a | n/a | TensorStudio | NumPy baseline |
|
|
336
|
+
| autograd | scalar_backward | `(1,)` | TensorStudio | 0.1200 | 0.1216 | 0.1155 | 0.1327 | 0.0058 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | TensorStudio | no NumPy reference |
|
|
337
|
+
| autograd | elementwise_backward | `(1,)` | TensorStudio | 0.2975 | 0.2990 | 0.2930 | 0.3050 | 0.0043 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | TensorStudio | no NumPy reference |
|
|
338
|
+
| autograd | scalar_backward | `(128,)` | TensorStudio | 0.2461 | 0.2499 | 0.2437 | 0.2666 | 0.0084 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | TensorStudio | no NumPy reference |
|
|
339
|
+
| autograd | elementwise_backward | `(128,)` | TensorStudio | 0.5992 | 0.6056 | 0.5956 | 0.6330 | 0.0140 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | TensorStudio | no NumPy reference |
|
|
340
|
+
| autograd | scalar_backward | `(1024,)` | TensorStudio | 1.1602 | 1.1805 | 1.1468 | 1.2729 | 0.0468 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | TensorStudio | no NumPy reference |
|
|
341
|
+
| autograd | elementwise_backward | `(1024,)` | TensorStudio | 2.7758 | 2.7763 | 2.7325 | 2.8289 | 0.0349 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | TensorStudio | no NumPy reference |
|
|
342
|
+
| training_loop | tiny_linear_regression_10_steps | `(32,)` | TensorStudio | 5.2182 | 5.2834 | 5.0684 | 5.6278 | 0.2017 | 0.0307 | n/a | n/a | n/a | no | n/a | n/a | n/a | NumPy | loss vs NumPy |
|
|
343
|
+
| training_loop | tiny_linear_regression_10_steps | `(32,)` | NumPy | 0.1601 | 0.2081 | 0.1590 | 0.4017 | 0.0968 | 0.0307 | n/a | n/a | n/a | no | n/a | n/a | n/a | NumPy | NumPy baseline |
|
|
344
|
+
|
|
345
|
+
Speedup columns are `competitor median / TensorStudio median`; values above 1.0 mean
|
|
346
|
+
TensorStudio was faster for that specific case.
|
|
347
|
+
Win columns say whether that same speedup is above 1.0 for the competitor.
|