- Add synor-compute crate for heterogeneous compute orchestration - Implement processor abstraction for CPU/GPU/TPU/NPU/LPU/FPGA/DSP - Add device registry with cross-vendor capability tracking - Implement task scheduler with work stealing and load balancing - Add energy-aware and latency-aware balancing strategies - Create spot market for compute resources with order matching - Add memory manager with tensor handles and cross-device transfers - Support processor capability profiles (H100, TPU v5p, Groq LPU, etc.) - Implement priority work queues with task decomposition Processor types supported: - CPU (x86-64 AVX512, ARM64 SVE, RISC-V Vector) - GPU (NVIDIA CUDA, AMD ROCm, Intel OneAPI, Apple Metal) - TPU (v2-v5p, Edge TPU) - NPU (Apple Neural Engine, Qualcomm Hexagon, Intel VPU) - LPU (Groq Language Processing Unit) - FPGA (Xilinx, Intel Altera) - DSP (TI, Analog Devices) - WebGPU and WASM runtimes
51 lines
1 KiB
TOML
51 lines
1 KiB
TOML
[package]
|
|
name = "synor-compute"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
description = "Heterogeneous multi-processor compute platform for Synor blockchain"
|
|
license.workspace = true
|
|
|
|
[dependencies]
|
|
# Internal crates
|
|
synor-types = { path = "../synor-types" }
|
|
synor-crypto = { path = "../synor-crypto" }
|
|
synor-storage = { path = "../synor-storage" }
|
|
|
|
# Serialization
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
borsh.workspace = true
|
|
bincode = "1.3"
|
|
|
|
# Async runtime
|
|
tokio = { workspace = true, features = ["sync", "rt-multi-thread", "time", "macros"] }
|
|
async-trait = "0.1"
|
|
futures = "0.3"
|
|
|
|
# Concurrency
|
|
parking_lot.workspace = true
|
|
crossbeam-deque = "0.8"
|
|
crossbeam-channel = "0.5"
|
|
dashmap = "5.5"
|
|
|
|
# Utilities
|
|
thiserror.workspace = true
|
|
tracing.workspace = true
|
|
hex.workspace = true
|
|
|
|
# Hashing
|
|
blake3.workspace = true
|
|
|
|
# Data structures
|
|
indexmap = "2.2"
|
|
priority-queue = "2.0"
|
|
|
|
# Time
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
|
|
# Random
|
|
rand = "0.8"
|
|
|
|
[dev-dependencies]
|
|
tempfile.workspace = true
|
|
tokio-test = "0.4"
|