include/tenzr/tenzr.h
Source code
// Copyright 2026 The Tenzr Project Authors
//
// SPDX-License-Identifier: Apache-2.0
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef TENZR_TENZR_H_
#define TENZR_TENZR_H_
#include <xla/pjrt/c/pjrt_c_api.h>
// Tenzr - A Differentiable n-Dimensional Array (Tensor) Library for Heterogeneous Computing
// Core Runtime, Math & Differentiation Subsystems
#include "tenzr/apiutils.h" // tenzr::apiutils (canonical shape, axis, and stride engines)
#include "tenzr/array.h" // tenzr::Array, Shape, DType, ufunc
#include "tenzr/control_flow.h" // tenzr::cond, tenzr::scan, tenzr::while_loop (lax control flow)
#include "tenzr/custom_vjp.h" // tenzr::custom_vjp, CustomVJPRegistry
#include "tenzr/debug.h" // tenzr::debug (print, check_finite, inspect, dump_txpr)
#include "tenzr/grad.h" // tenzr::grad, tenzr::value_and_grad (functional AD)
#include "tenzr/io.h" // tenzr::io (Safetensors Serialization & Mmap)
#include "tenzr/jit.h" // tenzr::jit (dynamic tracing & PJRT compilation)
#include "tenzr/jvp.h" // tenzr::jvp, tenzr::linearize (forward-mode AD)
#include "tenzr/numpy.h" // tenzr::numpy, tenzr::tnp (high-level numpy frontend)
#include "tenzr/plax.h" // tenzr::plax (strict OpenXLA primitives analogous to jax.lax)
#include "tenzr/scipy.h" // tenzr::scipy, tenzr::tsp (scipy ecosystem)
#include "tenzr/sharding.h" // tenzr::Mesh, tenzr::PartitionSpec, tenzr::NamedSharding (Shardy & GSPMD)
#include "tenzr/txpr.h" // tenzr::txpr (Txpr, TxprVar, TxprEqn, dynamic tape)
#include "tenzr/version.h" // Version macros and runtime queries
#include "tenzr/vmap.h" // tenzr::vmap (automatic vectorization)
// Framework Modules (tenzr::modules - Modeled after Flax, Optax, Orbax, Grain)
#include "tenzr/modules/checkpoint.h" // tenzr::modules::checkpoint and tenzr::checkpoint
#include "tenzr/modules/data.h" // tenzr::modules::data and tenzr::data
#include "tenzr/modules/modules.h" // Aggregator for tenzr/modules/{nn, optim, checkpoint, data, profiler, random}
#include "tenzr/modules/nn.h" // tenzr::modules::nn and tenzr::nn
#include "tenzr/modules/optim.h" // tenzr::modules::optim and tenzr::optim
#include "tenzr/modules/profiler.h" // tenzr::modules::profiler and tenzr::profiler
#include "tenzr/modules/random.h" // tenzr::modules::random and tenzr::random
// Internal Runtime, IR Compilation, and Device Subsystems
#include "tenzr/common/logging.h"
#include "tenzr/execution.h"
#include "tenzr/runtime/device_buffer.h"
#include "tenzr/runtime/hardware_manager.h"
#include "tenzr/topology/torus_model.h"
#endif // TENZR_TENZR_H_