This release of AMD's CPU solution for TensorFlow provides a binary built with the PluggableDevice approach.
zentf v5.2.1 Release Highlights
-
TF 2.21 Integration
- zentf 5.2.1 is built for and validated against TensorFlow v2.21.0.
- Upgraded from Bazel 7.4.1 to 7.7.0.
- Python 3.10 - 3.13 -- Compatibility with TensorFlow (support for Python 3.9 discontinued).
- As TensorFlow-Java has not been released for TensorFlow 2.21.0, zentf supports TensorFlow-Java main(75402bef) via source build only.
-
Backward Build Compatibility Support: TF 2.16 to 2.21
- zentf can now be built from source against TensorFlow versions 2.16.0 through 2.21.0 from a single unified codebase.
- The
./configurescript auto-detects the installed TensorFlow version and applies the matching build configuration — no manual intervention required. - Per-version build configurations (
workspace,WORKSPACE,build_config.bzl,BUILD.tpl) are maintained underversion_configs/for TF 2.19, 2.20, and 2.21. Note that TF 2.16–2.18 share the TF 2.19 configuration. - Bazel version and third-party dependency settings
(
protobuf,abseil,rules_cc) are automatically adjusted to match the target TensorFlow version. - The standard build workflow (./configure > bazel build) remains unchanged; version adaptation is fully transparent.
zentf v5.2 Release Highlights
-
TF 2.20 Migration
- zentf 5.2.0 is built for and validated against TensorFlow v2.20.0.
- Bazel 7.4.1: Upgraded from Bazel 5.3-6.5 range to a single supported version (7.4.1).
- Python 3.9 - 3.13: Extended Python version support to include Python 3.13.
- As TF JAVA is not released with 2.20 version, zentf is supported with main (75402bef) branch from TensoFlow-Java through source build only.
-
Migration from legacy ZenDNN library to ZenDNNL
- CMake-based ZenDNNL integration using
rules_foreign_cc. - All operator kernels (MatMul, Conv2D, BatchMatMul, Softmax, Pooling) have been rewritten to use the ZenDNNL Low Overhead API (LOA), replacing the legacy ZenDNN primitives.
- Old third-party dependencies on zen_dnn and amd_blis (BLIS) have been removed and replaced with ZenDNNL with integrated AOCL-DLP.
- CMake-based ZenDNNL integration using
-
Removed Legacy Components
- Mempool optimization has been completely removed and equivalent performance has been achieved using jemalloc as the memory allocator instead.
- INT8 support has been removed.
- Removal of non-performant ops: ZenTranspose, ZenReshape, Binary ops.