@@ -25,14 +25,20 @@ RustCompute/
2525│ │ └── src/
2626│ │ ├── lib.rs
2727│ │ ├── message.rs # RingMessage trait, priority constants
28- │ │ ├── queue.rs # MessageQueue trait
28+ │ │ ├── queue.rs # MessageQueue trait, QueueTier, QueueFactory, QueueMonitor (v0.3.0)
2929│ │ ├── runtime.rs # RingKernel, KernelHandle, LaunchOptions
3030│ │ ├── context.rs # RingContext struct
3131│ │ ├── control.rs # ControlBlock struct
3232│ │ ├── telemetry.rs # TelemetryBuffer, MetricsCollector
3333│ │ ├── pubsub.rs # PubSubBroker, Topic wildcards
3434│ │ ├── hlc.rs # HlcTimestamp, HlcClock
35- │ │ └── error.rs # Error types
35+ │ │ ├── error.rs # Error types
36+ │ │ ├── memory.rs # (v0.3.0) SizeBucket, StratifiedMemoryPool, PressureHandler
37+ │ │ ├── reduction.rs # (v0.3.0) ReductionOp, ReductionScalar, GlobalReduction
38+ │ │ ├── analytics_context.rs # (v0.3.0) AnalyticsContext, AllocationHandle
39+ │ │ ├── dispatcher.rs # (v0.3.0) KernelDispatcher, DispatcherBuilder
40+ │ │ ├── persistent_message.rs # (v0.3.0) PersistentMessage trait, DispatchTable
41+ │ │ └── domain.rs # (v0.3.0) Domain enum (20 business domains)
3642│ │
3743│ ├── ringkernel-derive/ # Proc macros (in development)
3844│ │ └── src/lib.rs
@@ -45,9 +51,12 @@ RustCompute/
4551│ ├── ringkernel-cuda/ # CUDA backend (working)
4652│ │ ├── Cargo.toml
4753│ │ ├── src/
48- │ │ │ ├── lib.rs
54+ │ │ │ ├── lib.rs # compile_ptx() function (v0.3.0)
4955│ │ │ ├── runtime.rs # CudaRuntime implementation
50- │ │ │ └── ptx.rs # PTX template for persistent kernels
56+ │ │ │ ├── ptx.rs # PTX template for persistent kernels
57+ │ │ │ ├── reduction.rs # (v0.3.0) ReductionBuffer, ReductionBufferCache
58+ │ │ │ ├── phases.rs # (v0.3.0) SyncMode, MultiPhaseConfig, MultiPhaseExecutor
59+ │ │ │ └── persistent.rs # (v0.3.0) PersistentSimulation, PersistentControlBlock
5160│ │ └── tests/
5261│ │ └── gpu_execution_verify.rs # GPU execution verification
5362│ │
@@ -93,7 +102,30 @@ RustCompute/
93102│ │ └── handler.rs # Handler function integration
94103│ │
95104│ ├── ringkernel-ecosystem/ # Integration utilities
96- │ │ └── src/lib.rs
105+ │ │ └── src/
106+ │ │ ├── lib.rs
107+ │ │ ├── actix.rs # GpuPersistentActor for Actix
108+ │ │ ├── tower.rs # PersistentKernelService middleware
109+ │ │ ├── axum.rs # PersistentGpuState, REST/SSE endpoints
110+ │ │ ├── grpc.rs # gRPC streaming server
111+ │ │ └── cuda_bridge.rs # CudaPersistentHandle
112+ │ │
113+ │ ├── ringkernel-montecarlo/ # (v0.3.0) Monte Carlo primitives
114+ │ │ └── src/
115+ │ │ ├── lib.rs
116+ │ │ ├── philox.rs # Philox PRNG
117+ │ │ ├── antithetic.rs # Antithetic variates
118+ │ │ ├── control_variate.rs # Control variates
119+ │ │ └── importance.rs # Importance sampling
120+ │ │
121+ │ ├── ringkernel-graph/ # (v0.3.0) Graph algorithms
122+ │ │ └── src/
123+ │ │ ├── lib.rs
124+ │ │ ├── csr.rs # CSR sparse matrix
125+ │ │ ├── bfs.rs # Breadth-first search
126+ │ │ ├── scc.rs # SCC (Tarjan, Kosaraju)
127+ │ │ ├── union_find.rs # Parallel Union-Find (Shiloach-Vishkin)
128+ │ │ └── spmv.rs # Sparse matrix-vector multiply
97129│ │
98130│ ├── ringkernel-audio-fft/ # Example: GPU audio processing
99131│ │ └── src/lib.rs
@@ -263,7 +295,7 @@ members = [
263295]
264296
265297[workspace .package ]
266- version = " 0.1.2 "
298+ version = " 0.3.0 "
267299edition = " 2021"
268300rust-version = " 1.75"
269301license = " MIT OR Apache-2.0"
@@ -273,28 +305,44 @@ categories = ["concurrency", "asynchronous", "science"]
273305
274306[workspace .dependencies ]
275307# Async runtime
276- tokio = { version = " 1.35 " , features = [" rt-multi-thread" , " sync" , " macros" ] }
308+ tokio = { version = " 1.48 " , features = [" rt-multi-thread" , " sync" , " macros" ] }
277309async-trait = " 0.1"
278310futures = " 0.3"
311+ rayon = " 1.11"
279312
280313# Serialization (zero-copy)
281314rkyv = { version = " 0.7" , features = [" validation" , " strict" ] }
282315zerocopy = { version = " 0.7" , features = [" derive" ] }
283316bytemuck = { version = " 1.14" , features = [" derive" ] }
284317
285318# Error handling
286- thiserror = " 1 .0"
319+ thiserror = " 2 .0"
287320anyhow = " 1.0"
288321
289322# Logging
290323tracing = " 0.1"
291324tracing-subscriber = " 0.3"
292325
293326# GPU backends
294- cudarc = { version = " 0.10" , optional = true } # CUDA
295- metal = { version = " 0.27" , optional = true } # Metal
296- wgpu = { version = " 0.19" , optional = true } # WebGPU
297- ash = { version = " 0.37" , optional = true } # Vulkan
327+ cudarc = { version = " 0.18.2" , optional = true } # CUDA (updated API)
328+ metal = { version = " 0.31" , optional = true } # Metal
329+ wgpu = { version = " 27.0" , optional = true } # WebGPU (Arc-based)
330+
331+ # Web frameworks
332+ axum = { version = " 0.8" , optional = true }
333+ tower = { version = " 0.5" , optional = true }
334+ tonic = { version = " 0.14" , optional = true } # gRPC
335+ prost = { version = " 0.14" , optional = true } # Protobuf
336+
337+ # GUI
338+ iced = { version = " 0.13" , optional = true }
339+ egui = { version = " 0.31" , optional = true }
340+ winit = { version = " 0.30" , optional = true }
341+
342+ # Data
343+ arrow = { version = " 54" , optional = true }
344+ polars = { version = " 0.46" , optional = true }
345+ glam = " 0.29"
298346
299347# Proc macros
300348syn = { version = " 2.0" , features = [" full" , " parsing" ] }
0 commit comments