← All reportsPublic report

tensorflow/tensorflow

An Open Source Machine Learning Framework for Everyone

198k stars C++ View on GitHubprofiled 14d ago
Try GitZoid
400PRs this week
109Contributors
0Deps scanned
0Issues found
01 · Repo overview

How tensorflow is put together

TensorFlow is an end-to-end open source machine learning platform, primarily written in C++ with a Python front-end API (imported as `tf`), plus C, Go, Java, and JavaScript bindings. The Python API is generated from templates (api_template.__init__.py) that wire up lazy-loaded Keras integration, plugin loading from site-packages/tensorflow-plugins, and the pywrap_tensorflow native binding. Builds are orchestrated by Bazel (WORKSPACE/MODULE.bazel/.bazelrc/configure.py), with official CI in ci/official producing wheels for Linux/macOS/Windows across CPU/GPU configurations using NVIDIA CUDA 12/13 pip packages. Data flows from user Python/C++/Go code through session/graph APIs into the core runtime kernels and device backends.

Languages

C++PythonGoJavaJavaScriptCStarlark

Frameworks

TensorFlow runtimeKeras (lazy-loaded)XLA compilerMLIRTensorFlow LiteCUDA/cuDNN (via NVIDIA pip packages)NCCL

Infrastructure

Bazel build systemCI containers (ci/official/containers/ml_build)Kokoro CI buildsOSS-Fuzz fuzzingPyPI wheel publishing (twine/auditwheel)Docker-based ML build imagesuv for fast package installs

Major components

Python API layer (tensorflow/api_template.__init__.py)

Generates the top-level `tf` module, enabling TF2 behavior, lazy-loading Keras v2/v3, and loading dynamic kernel/plugin libraries from site-packages.

C API (tensorflow/c)

Stable C ABI (c_api.cc, tf_tensor, tf_status, ops, kernels) that underpins all language bindings including Go, Java, and Python's pywrap_tensorflow.

Go bindings (tensorflow/go)

Go wrappers over the C API providing Graph, Session, Tensor, SavedModel loading, and PartialRun incremental execution.

Core runtime (tensorflow/core)

The central graph executor, kernels, protobuf definitions (ConfigProto), and local rendezvous implementation.

Compiler stack (tensorflow/compiler)

XLA/MLIR-based compilation of graphs to optimized device code.

TensorFlow Lite (tensorflow/lite)

Lightweight on-device inference interpreter with arena planner, builtin op registry, and iOS/Android tooling.

Build configuration (configure.py, WORKSPACE, MODULE.bazel)

Interactive script that probes CUDA/Python environments and writes .tf_configure.bazelrc driving Bazel builds.

Official CI (ci/official)

Shell scripts and containerized environments for building/testing/publishing wheels across platforms, including NVIDIA requirements management.

Over the past few weeks the TensorFlow/XLA project has been in a heavy stabilization phase: dozens of community-submitted bug fixes landed across Python APIs, TFLite conversion, and numerical edge cases (like overflows, crashes on empty inputs, and wrong results). Alongside that, the GPU and CPU compiler teams shipped significant infrastructure work — enabling a new CPU compilation pipeline by default, moving XLA's build system to Bzlmod, and adding new GPU features like Triton scan-fusion rewriting and CuTe DSL support. Quiet weeks with only one or two commits were interleaved with very busy ones of 86–169 commits, showing bursts of merged work rather than steady output.

Week by week

2026-08-24A busy week dominated by community bug fixes plus major XLA compiler milestones, including Bzlmod as the default build and a new default CPU compilation pipeline.latest6 changes

Feature

Triton block-level rewriting for GPU scan fusions

The GPU compiler can now use Triton to optimize 'scan'-style operations at the block level, improving performance for those patterns.

Chore

XLA switches its default build to Bzlmod

XLA now uses Google's newer dependency-management system by default, modernizing how the project builds.

Feature

New xtile compilation pipeline enabled by default on CPU

A redesigned CPU code-generation pipeline is now the standard path, replacing the older flow.

Fix

Digamma returns -inf for input 0

A math operation that previously misbehaved on zero input now returns the mathematically correct result.

Fix

More stable variance in batch normalization

Batch norm now uses a two-pass calculation so it no longer produces impossible negative variances with large input values.

Feature

CuTe DSL handlers wired into Jet Engine

New NVIDIA CuTe-based operations were registered and linked into XLA's Jet Engine, expanding supported GPU kernels.

2026-08-17A high-volume week of mostly internal cleanups and automated changes, punctuated by targeted fixes to GPU compilers, dynamic-shape handling, and Python free-threading safety.6 changes

Fix

Fix crash and wrong results in dynamic reduce-window on CPU

Scan-like reductions over dynamically sized data no longer crash or produce incorrect output.

Fix

Fix byte-vs-bit shift bug in GPU PadToStatic

Corrected a unit-mixup in how dynamic sizes are stored on GPU that could corrupt metadata.

Fix

Debug event writers made safe for free-threaded Python

TensorFlow's logging writers are now thread-safe for users running the new free-threaded builds of Python.

Fix

Handle 0-D inputs in numpy cross

Cross-product operations on scalar-shaped inputs now behave correctly instead of erroring out.

Feature

New CollectiveReduce HLO operation for NVIDIA GPUs

A new collective reduction operation was added to the compiler's vocabulary for NVIDIA hardware.

Fix

Fix DynamicUpdateSlice inside loop fusions on CPU

Updating a slice of an array within a fused loop now emits correct code on CPU.

2026-08-10The busiest week in the window, blending a wave of user-reported correctness and security fixes with notable TPU/GPU compiler capabilities like native Pallas convolutions.6 changes

Fix

Integer overflow fix in ExtractImagePatches

Patching operations on very large images could overflow and crash; sizes are now computed safely and bad inputs return a clear error instead.

Feature

Native convolutions in JAX Pallas for TPUs

Developers writing custom TPU kernels can now call convolution primitives directly from Pallas.

Fix

tf.tuple() works with variables under jit_compile

Grouping TensorFlow variables into tuples no longer throws an error when just-in-time compilation is on.

Fix

Infinite loop fixed in the memory allocator

The GPU memory allocator could get stuck growing allocations for small requests; that backpedal loop is gone.

Fix

Type confusion and memory leak fixed in RPC ops

Two security-adjacent issues in remote-operation handling were patched.

Refactor

Thread-safe latency-hiding scheduler

The GPU scheduling simulator can now run analyses in parallel, speeding up compile-time optimization.

2026-08-03An exceptionally quiet week with a single small change to NumPy compatibility.1 change

Refactor

Use static last dimension in numpy cross when available

The cross-product operation now takes advantage of known dimension sizes for slightly more efficient execution.

2026-07-20Another single-commit week, focused on preventing a crash when encoding empty images to PNG.1 change

Fix

EncodePng no longer fails on empty images

Saving a zero-size image as PNG previously triggered an internal check failure; it is now handled gracefully.

03 · Security check

Dependencies and code review

0 dependencies scanned

Dependency advisories

Security Watch

No known advisories across 0 scanned dependencies.

No known advisories in the scanned dependencies.

Code review

No concrete code-level issues confirmed.

Get this report every week for your repos.

GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.

$19 a month, flat · First 10 outputs free · No card required