DotCompute Articles
Comprehensive guides, tutorials, and conceptual documentation for DotCompute.
Getting Started
- Installation Guide - Install DotCompute and configure your first project
- Quick Start Tutorial - Write your first GPU-accelerated kernel in 5 minutes
Architecture
Understanding DotCompute's design and component relationships:
- Architecture Overview - High-level system architecture
- Core Orchestration - Compute orchestration and service integration
- Backend Integration - How backends plug into the framework
- Backends - Backend comparison and details
- Memory Management - Unified memory system design
- Debugging System - Cross-backend validation architecture
- Optimization Engine - Adaptive backend selection design
- Source Generators - Compile-time code generation system
- Analyzers - Roslyn analyzer architecture
- Runtime - Runtime services architecture
- Metal Backend Architecture - Apple Metal backend design
Developer Guides
Practical guides for common development scenarios:
- Kernel Development - Writing efficient compute kernels
- Performance Tuning - Optimizing kernel performance
- Debugging Guide - Debugging kernels and troubleshooting issues
- Native AOT Compilation - Building with Native AOT for maximum performance
- Multi-GPU Programming - Scaling across multiple GPUs
- Memory Management Best Practices - Efficient memory usage patterns
- Dependency Injection Integration - Using DotCompute with DI containers
- Timing API Guide - High-precision GPU timestamps with CPU-GPU clock synchronization
- Device Reset Guide - Device reset and recovery procedures
- Performance Profiling - Performance profiling and bottleneck analysis
- Troubleshooting Common Issues - Solutions to common problems
- WSL2 Limitations - Known WSL2 GPU memory limitations
- LINQ GPU Acceleration - GPU-accelerated LINQ queries
- Metal Backend Guide - Apple Metal backend usage
- Orleans Integration - Distributed system integration patterns
Ring Kernels
Persistent GPU computation with actor-style messaging:
- Ring Kernels Overview - Introduction to Ring Kernels
- Architecture - Ring Kernel system design
- Messaging & Telemetry - Message passing and observability
- Advanced Topics - Advanced Ring Kernel patterns
- Memory Ordering - Memory ordering in Ring Kernels
- Migration Guide - Migrating Ring Kernel code
Advanced Topics
Deep dives into specialized areas:
- Barriers and Memory Ordering - GPU synchronization primitives
- GPU Kernel Generation - Backend-specific code generation
Performance
Understanding and optimizing performance:
- Benchmarking Guide - How to benchmark your kernels
Examples
Practical examples demonstrating DotCompute features:
- Examples Overview - Index of all examples
- Working Reference - Tested, working code patterns
- Basic Vector Operations - Vector addition and element-wise operations
- Matrix Operations - Matrix multiplication and transformations
- Image Processing - GPU-accelerated image filters
- Multi-Kernel Pipelines - Chaining multiple kernels
Learning Paths
Structured learning progressions:
- Learning Paths Overview - Choose your path
- Beginner Path - GPU computing fundamentals
- Intermediate Path - Memory optimization and performance
- Advanced Path - Ring Kernels and multi-GPU
- Contributor Path - Extend and improve DotCompute
Reference
Additional reference material:
- Diagnostic Rules (DC001-DC012) - Complete analyzer diagnostic reference
- Kernel Attribute Reference -
[Kernel]attribute options - Performance Benchmarking - Performance measurement reference
Migration
- v0.4.0 to v0.4.1 - Migration guide for v0.4.x users