- 
                Notifications
    
You must be signed in to change notification settings  - Fork 23
 
Home
Iris is AMD's powerful and intuitive multi-GPU programming framework built on Triton. We're here to make distributed GPU computing accessible to everyone! It's designed by experts and built for scale, ensuring you get a robust and efficient experience.
Iris is a Triton-based framework for Remote Memory Access (RMA) that provides SHMEM-like APIs for multi-GPU programming. Think of it as your friendly companion for writing multi-GPU code as easily as single-GPU code! We've focused on clean abstractions and minimal dependencies to keep things simple and powerful.
- π Simple & Intuitive: Write multi-GPU programs without the complexity
 - β‘ High Performance: Inherits Triton's programmability and performance
 - π§ Familiar APIs: SHMEM-like patterns, Triton-style device APIs, and PyTorch-like host APIs
 - ποΈ Expert Design: Built from scratch by GPU and distributed computing experts
 - β‘ Minimal Dependencies: Only Triton, PyTorch, HIP runtime, and mpi4py
 
We have comprehensive examples to help you learn Iris:
- Basic Operations: Start with load/store operations
 - Atomic Operations: Learn cross-GPU atomics
 - Message Passing: Point-to-point communication
 - GEMM Examples: Matrix multiplication with communication
 
# Basic operations
mpirun -np 8 python examples/00_load/load_bench.py
# GEMM benchmarks
mpirun -np 8 python examples/07_gemm_all_scatter/benchmark.py --benchmark --validateWe're building something special here, and we'd love for you to be part of it! Here's how you can get involved:
- GitHub Discussions: Perfect for asking questions, sharing ideas, or just chatting about multi-GPU programming
 - General Questions: "How do I implement X pattern?"
 - Best Practices: "What's the recommended way to do Y?"
 - Show & Tell: Share your Iris projects and experiences!
 
- GitHub Issues: Help us make Iris better by reporting bugs
 - Feature Requests: Have an idea? We want to hear it!
 - Documentation: Spotted something unclear? Let us know!
 
- Pull Requests: Code improvements, bug fixes, new features
 - Documentation: Help make our docs clearer and more helpful
 - Examples: Share your use cases and implementations
 - Testing: Help us ensure Iris works great for everyone
 
- Check our examples - We have working code for most common patterns
 - Look at the docs - Programming Model, Setup Guide
 - Start a discussion - Our community is friendly and helpful!
 - Open an issue - For bugs or clear problems
 
- Start with small examples to understand the patterns
 - Check GPU memory availability vs. your heap size
 - Don't forget to use barriers for synchronization!
 
- Programming Model: Deep dive into how Iris works
 - Fine-grained Overlap: Advanced optimization techniques
 - Setup Alternatives: Different ways to get Iris running
 - Contributing Guide: How to contribute to Iris
 
We're excited to see what you'll build with Iris! Remember:
- Ask questions in Discussions - no question is too basic!
 - Share your experiences - we love hearing success stories
 - Contribute back - help make Iris better for everyone
 - Have fun - multi-GPU programming should be enjoyable!
 
Happy coding with Iris! π
This project is intended for research purposes and is provided by AMD Research and Advanced Development team.
π¬ Start a Discussion | π Report an Issue | π Make a PR