Contributor Learning Path
Learn how to contribute to the DotCompute framework by understanding its architecture, source generators, analyzers, and testing practices.
Prerequisites
- Completed Advanced Path or equivalent experience
- Strong understanding of DotCompute's features and APIs
- Familiarity with Roslyn (C# compiler APIs)
Learning Objectives
By completing this path, you will:
- Understand DotCompute's layered architecture
- Build source generators for compile-time code generation
- Create Roslyn analyzers for GPU code validation
- Implement comprehensive test suites
Modules
Module 1: Architecture Deep Dive
Duration: 90-120 minutes
Understand the core abstractions, backend system, and extension points.
Module 2: Source Generator Development
Duration: 90-120 minutes
Build compile-time code generators for GPU kernels.
Module 3: Analyzer Development
Duration: 60-90 minutes
Create Roslyn analyzers to validate GPU code patterns.
Module 4: Testing and Benchmarking
Duration: 60-90 minutes
Implement unit tests, hardware tests, and performance benchmarks.
Completion Checklist
- [ ] Explain the four-layer architecture
- [ ] Create a source generator for a custom attribute
- [ ] Implement an analyzer with code fix
- [ ] Write unit and hardware tests
Contributing Guidelines
Before contributing:
- Read the project CLAUDE.md for development principles
- Ensure your code follows the established patterns
- Include tests for new functionality
- Update documentation as needed
Getting Started
# Clone repository
git clone https://github.com/mivertowski/DotCompute.git
cd DotCompute
# Build solution
dotnet build DotCompute.sln --configuration Release
# Run tests
./scripts/run-tests.sh DotCompute.sln --configuration Release
Estimated total duration: 4-6 hours