The "exo" project by exo-explore is an innovative software solution that enables users to create AI clusters using everyday devices, such as smartphones and computers, without relying on expensive hardware. It features dynamic model partitioning, automatic device discovery, and a ChatGPT-compatible API. The project is experimental, community-driven, and licensed under the GNU GPL v3.0. It has gained significant attention on GitHub with over 19,000 stars.
Alex Cheema (AlexCheema)
Sami Khan (samiamjidkhan)
Sandesh Bharadwaj (tensorsofthewall)
Carsen Klock (metaspartan)
/v1/models
API for OpenAI compatibility.Pranav (pranav4501)
The team is actively addressing platform-specific issues and enhancing API functionalities, reflecting a trajectory towards broader usability and integration.
Timespan | Opened | Closed | Comments | Labeled | Milestones |
---|---|---|---|---|---|
7 Days | 4 | 0 | 28 | 4 | 1 |
30 Days | 24 | 3 | 63 | 24 | 1 |
90 Days | 97 | 31 | 256 | 97 | 1 |
All Time | 349 | 114 | - | - | - |
Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.
Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
Sandesh Bharadwaj | ![]() |
1 | 1/1/0 | 5 | 7 | 620 |
Alex Cheema | ![]() |
2 | 5/5/0 | 13 | 18 | 339 |
Sami Khan | ![]() |
1 | 2/2/0 | 3 | 3 | 92 |
None (hsoftxl) | 0 | 1/0/0 | 0 | 0 | 0 | |
Pranav (pranav4501) | 0 | 0/1/0 | 0 | 0 | 0 | |
Vincent C (risingsunomi) | 0 | 1/0/1 | 0 | 0 | 0 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
Risk | Level (1-5) | Rationale |
---|---|---|
Delivery | 4 | The project faces significant delivery risks due to a substantial backlog of unresolved issues (235 open issues), compatibility problems with key platforms like Windows and WSL (#184, #536), and performance optimization challenges on Mac clusters (#553). The absence of support for major platforms such as Windows (#606) and unresolved high-priority issues like 'download model' (#612) further exacerbate these risks. Additionally, the lack of closed milestones over the past three months suggests inadequate planning or goal-setting, which could hinder meeting project deadlines. |
Velocity | 4 | The project's velocity is at risk due to a slow issue resolution rate, with only 31 out of 97 issues closed in the past 90 days, indicating a closure rate of approximately 32%. The presence of long-standing open pull requests, such as PR#297 (108 days) and PR#173 (151 days), highlights integration and testing challenges that could impede progress. Furthermore, the uneven distribution of workload among team members and potential communication gaps may affect team dynamics and overall velocity. |
Dependency | 3 | Dependency risks are moderate due to reliance on external model libraries like PyTorch and Hugging Face, which may pose compatibility issues as seen in PR#139. Additionally, the project's dependency on specific hardware configurations (e.g., NVIDIA GPUs on Linux) and networking setups could introduce challenges if these dependencies are not adequately managed. However, proactive efforts in replacing outdated libraries (e.g., 'netifaces' with 'scapy') suggest some mitigation of these risks. |
Team | 3 | The team faces moderate risks related to workload distribution and communication. While key contributors like Alex Cheema and Sandesh Bharadwaj are actively engaged, the lack of contributions from other team members such as Pranav and Vincent C raises concerns about uneven workload distribution. Potential communication gaps, as indicated by vague commit messages and documentation issues, could also impact team dynamics and morale. |
Code Quality | 3 | Code quality risks are moderate due to ongoing refactoring efforts that aim to improve maintainability but lack immediate impact on addressing critical bugs or introducing new features. Issues like garbled Chinese characters (#605) suggest existing code quality problems. Additionally, insufficient documentation in certain pull requests (e.g., PR#615) may hinder future maintenance efforts. |
Technical Debt | 4 | Technical debt risks are high due to unresolved merge conflicts in PR#297 and hardcoded values in PR#173, which indicate underlying code quality issues. The frequent need for restarts in model downloads (#591) suggests recurring operational problems that contribute to technical debt. The rapid pace of changes without thorough testing also poses risks of accumulating technical debt if not properly managed. |
Test Coverage | 2 | Test coverage risks are relatively low due to the introduction of comprehensive test suites in recent pull requests like PR#580 and PR#567. These efforts enhance test coverage and help ensure robust functionality. However, some areas still require additional testing, such as edge cases in error handling improvements (PR#594). |
Error Handling | 3 | Error handling risks are moderate as recent improvements in handling corrupted downloads (PR#594) enhance robustness but still lack comprehensive unit tests for all edge cases. The absence of detailed error reporting mechanisms in certain areas may hinder effective error management across the project. |
Recent GitHub issue activity for the exo project has been robust, with a focus on addressing compatibility and performance issues across various platforms. Notable recent issues include challenges with running the software on Windows, optimizing performance on Mac clusters, and improving model download processes.
Several issues highlight anomalies and complications, such as:
A recurring theme is the need for better documentation and support for various platforms, particularly Windows and Linux. Additionally, users express interest in features like multi-GPU support and improved network discovery mechanisms.
#612: download model
#610: exo does not start on Jetson Orin AGX
#609: support for qemu?
#612: download model
#610: exo does not start on Jetson Orin AGX
#606: Support for Windows Platform
These issues reflect ongoing efforts to enhance platform compatibility and address user-reported bugs. The community's active participation in reporting and discussing these issues indicates a strong engagement with the project's development process.
#615: support deepseek v3
#580: add exaone-3.5 LLM Model and apply unit test
#297: Dynamic TFLOPS Calculation
#173: Docker Image
#139: [Bounty] PyTorch & HuggingFace Interface
#614: animation fix
#613: image and text mode fix
#611: fix scripts/build_exo.py
#607: Fixes for cross-platform operability
Overall, while the project shows active development with numerous contributions, addressing these key areas could improve efficiency and broaden the project's impact.
exo/apputil/anim.py
PIL
, numpy
, and cv2
, which are essential for image processing and video creation.PIL
and cv2
, which are common in image processing tasks.scripts/build_exo.py
site
, subprocess
, and os
.exo/api/chatgpt_api.py
aiohttp
for asynchronous HTTP handling.exo/helpers.py
exo/inference/inference_engine.py
exo/networking/grpc/grpc_peer_handle.py
exo/topology/device_capabilities.py
setup.py
/v1/models
API for OpenAI compatibility.Frequent Collaborations: Alex Cheema is a central figure in the team, frequently merging pull requests and collaborating with other members like Sami Khan and Sandesh Bharadwaj.
Focus on Cross-Platform Operability: Recent activities show a strong focus on ensuring the software runs smoothly across different platforms, as seen in the work by Sandesh Bharadwaj.
Animation and Backend Improvements: There is an ongoing effort to enhance animations and backend functionalities, primarily driven by Sami Khan and Alex Cheema.
API Enhancements: The team is actively working on making the software's API more compatible with existing standards like OpenAI's, as evidenced by Carsen Klock's contributions.
Bug Fixes and Code Optimization: A significant portion of recent activities involves fixing bugs, optimizing code, and ensuring compatibility across different environments.
Overall, the development team is actively working on enhancing both frontend animations and backend functionalities while ensuring cross-platform compatibility and API improvements.