Files
rustytorch/crates/training/rtx-transformers/Cargo.toml
T
osobhandClaude Fable 5 1e3c604896 feat(meta,jepa): expose GPU features through meta-crates; wire JEPA cluster plan and real shard loading
Meta-crates (Phase 2):
- rtx-core / rtx-training / rtx-inference-stack gain cuda and metal
  features threading into their sub-crates; GPU was previously
  unreachable through the user-facing bundles.
- rtx-training restores rtx-distributed (the hpc-channels blocker is
  gone) so the advertised DistributedTransformerTrainer resolves; drops
  the unused rtx-runtime dep.
- rtx-transformers drops unused rtx-backend/rtx-backend-cpu deps
  (stale comment referenced a teacher that never used them).

Never-compiled CUDA paths fixed (surfaced by the new feature wiring,
verified on RTX 5060 Ti / CUDA 13.1):
- rtx-compress build.rs: missing Path/Command/fs imports.
- rtx-flash-attention flash_decode_forward: reborrow &mut kernel args.
- rtx-transformers: rope kernel include path, cudarc 0.18 Arc<CudaModule>,
  PushKernelArg imports in jepa_gpu, edition-2024 ref patterns.
- rtx-memory: full cudarc 0.18 port (CudaContext, stream-based alloc,
  DevicePtr accessors, error enum formatting) across gpu_pinning,
  gpu_transfer, gpu_real, gpu_allocator/arena, gpu_tests.

JEPA (Phase 3):
- JepaRunConfig::apply_cluster_plan consumes ClusterTrainingPlan
  (batch size, TP/DP, world size, total steps) so jepa_cluster is no
  longer standalone dead config; ViTSizeStr::approx_params_m feeds
  JepaParallelConfig::for_model_and_cluster.
- WebDatasetShard::load reads real .tar shards from disk via the
  existing parser (gzip rejected explicitly); to_in_memory documented
  as synthetic/test-only.
- New image-decode feature actually defines the dep for the previously
  unreachable cfg(feature = "image-decode") JPEG/PNG decode path.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-09 19:25:51 -07:00

233 lines
5.4 KiB
TOML

[package]
name = "rtx-transformers"
version = "1.0.0"
edition.workspace = true
rust-version = "1.92"
authors.workspace = true
license.workspace = true
repository.workspace = true
description = "Complete transformer training infrastructure with revolutionary quantum/neuromorphic/edge integration"
[dependencies]
# Core RTX dependencies - enabled for autograd integration
rtx-tensor = { workspace = true }
rtx-autograd = { workspace = true }
# Essential dependencies
anyhow = { workspace = true }
thiserror = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
tokio = { workspace = true }
# Math and collections
nalgebra = { workspace = true }
indexmap = { workspace = true }
dashmap = { workspace = true }
rand = { workspace = true }
num-complex = { workspace = true }
base64 = { workspace = true }
reqwest = { workspace = true }
# Async runtime
futures = { workspace = true }
# Time handling
chrono = { workspace = true }
# GPU acceleration - CUDA
cudarc = { workspace = true, optional = true }
# Additional dependencies
parking_lot = { workspace = true }
rtx-runtime = { workspace = true }
rtx-flash-attention = { workspace = true }
rtx-vision = { path = "../../models/rtx-vision", version = "1.0.0", optional = true }
# Text processing
regex = "1.10"
unicode-normalization = "0.1"
approx = "0.5"
# Async trait support
async-trait = "0.1"
# Curriculum learning dependencies
ordered-float = "4.2"
# Modular networks dependencies
uuid = { version = "1.0", features = ["v4"] }
semver = "1.0"
# JPEG/PNG decoding for WebDataset shards (jepa_data), optional
image = { workspace = true, optional = true }
[target.'cfg(target_os = "macos")'.dependencies]
# Metal GPU acceleration for Apple Silicon
objc2 = { version = "0.6", optional = true, features = ["std"] }
objc2-metal = { version = "0.3", optional = true }
objc2-foundation = { version = "0.3", optional = true }
block2 = { version = "0.6", optional = true }
[dev-dependencies]
tokio-test = { workspace = true }
proptest = { workspace = true }
criterion = { workspace = true }
tempfile = { workspace = true }
approx = "0.5"
[features]
# No default GPU - select cuda or metal explicitly based on your platform
default = []
cuda = ["cudarc", "rtx-flash-attention/cuda", "rtx-tensor/cuda", "rtx-runtime/cuda"]
metal = ["rtx-flash-attention/metal", "rtx-tensor/metal", "rtx-runtime/metal", "dep:objc2", "dep:objc2-metal", "dep:objc2-foundation", "dep:block2"]
cpu = ["rtx-tensor/cpu"]
disabled_tests = []
vision-bridge = ["rtx-vision"]
# Real JPEG/PNG pixel decoding for WebDataset records; without it,
# webdataset_record_to_image falls back to placeholder pixels.
image-decode = ["dep:image"]
# Binary targets commented out - missing source files
# [[bin]]
# name = "test_autograd_compilation"
# path = "test_autograd_compilation.rs"
# [[bin]]
# name = "test_structured_sparsity_standalone"
# path = "src/layers/structured_sparsity_standalone_test.rs"
# [[bin]]
# name = "test_ademamix_standalone"
# path = "test_ademamix_standalone.rs"
# [[bin]]
# name = "hybrid_ssm_test_standalone"
# path = "hybrid_ssm_test_standalone.rs"
# [[bin]]
# name = "alibi_standalone_test"
# path = "alibi_standalone_test.rs"
# Examples disabled by default - require disabled_tests feature
[[example]]
name = "adabound_demo"
required-features = ["disabled_tests"]
[[example]]
name = "barlow_twins_demo"
required-features = ["disabled_tests"]
[[example]]
name = "beit_demo"
required-features = ["disabled_tests"]
[[example]]
name = "cpc_demo"
required-features = ["disabled_tests"]
[[example]]
name = "curriculum_learning_demo"
required-features = ["disabled_tests"]
[[example]]
name = "expert_dropout_demo"
required-features = ["disabled_tests"]
[[example]]
name = "fomaml_demo"
required-features = ["disabled_tests"]
[[example]]
name = "head_drop_standalone_demo"
required-features = ["disabled_tests"]
[[example]]
name = "lbfgs_demo"
required-features = ["disabled_tests"]
[[example]]
name = "mamba_cuda_demo"
required-features = ["disabled_tests"]
[[example]]
name = "mamba_demo"
required-features = ["disabled_tests"]
[[example]]
name = "mean_teacher_demo"
required-features = ["disabled_tests"]
[[example]]
name = "mega_demo"
required-features = ["disabled_tests"]
[[example]]
name = "moco_v3_example"
required-features = ["disabled_tests"]
[[example]]
name = "normalization_demo"
required-features = ["disabled_tests"]
[[example]]
name = "pipeline_parallelism_demo"
required-features = ["disabled_tests"]
[[example]]
name = "pseudo_labeling_demo"
required-features = ["disabled_tests"]
[[example]]
name = "rag_complete_demo"
required-features = ["disabled_tests"]
[[example]]
name = "retnet_linear_attention_demo"
required-features = ["disabled_tests"]
[[example]]
name = "simple_head_drop_demo"
required-features = ["disabled_tests"]
[[example]]
name = "specaugment_demo"
required-features = ["disabled_tests"]
[[example]]
name = "ssl_demo"
required-features = ["disabled_tests"]
[[example]]
name = "ssm_state_cache_demo"
required-features = ["disabled_tests"]
[[example]]
name = "vat_demo"
required-features = ["disabled_tests"]
[[example]]
name = "vicreg_demo"
required-features = ["disabled_tests"]
[[example]]
name = "vicreg_ssl_integration"
required-features = ["disabled_tests"]
# Metal MoE Benchmarks
[[bench]]
name = "metal_moe_bench"
harness = false
# Metal Mamba Benchmarks
[[bench]]
name = "metal_mamba_bench"
harness = false
[lints]
workspace = true