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]>
233 lines
5.4 KiB
TOML
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
|