๐ Apple CoreML-like experience for Windows with DirectML GPU acceleration
- ๐ฏ Universal ML Inference - Run ONNX, PyTorch, TensorFlow models on Windows
- โก GPU Acceleration - DirectML support for NVIDIA, AMD, and Intel GPUs
- ๐ Automatic Fallback - CPU execution when GPU unavailable
- ๐ Python SDK - Easy-to-use client library
- ๐ก๏ธ Production Ready - Security hardened, red-team tested
- ๐ Simple Integration - Drop-in replacement for CoreML on Windows
winget install CoreMLWin.UniversalMLRuntimeDownload from Releases and run:
msiexec /i CoreMLWin-0.1.0-x64.msiDownload ZIP from Releases, extract, and run:
.\start-service.batโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Your Application โ
โ (Python, C++, etc.) โ
โโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โ Client Library
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ CoreMLWin Runtime Service โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Named Pipe IPC Server โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Model Registry & Manager โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ ONNX Runtime Executor โ โ
โ โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ โ
โ โ โ DirectML โ โ CPU โ โ CUDA โ โ โ
โ โ โ (GPU) โ โ Provider โ โ Provider โ โ โ
โ โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโ
โ GPU / CPU โ
โ Hardware โ
โโโโโโโโโโโโโโโโโโโโโโโโ
pip install coremlwincoremlwin-servicefrom coremlwin_client import CoreMLWinClient
import numpy as np
# Connect to runtime
client = CoreMLWinClient()
# Check service health
print(client.health())
# Register a model
model_id = client.register_model("path/to/model.onnx")
# Prepare input
input_data = {
"input": np.random.randn(1, 3, 224, 224).astype(np.float32)
}
# Run inference
output = client.run_inference(model_id, input_data)
print(output)- ๐ผ๏ธ Computer Vision - Image classification, object detection, segmentation
- ๐ NLP - Text classification, sentiment analysis, translation
- ๐ต Audio Processing - Speech recognition, audio classification
- ๐ฎ Gaming - Real-time ML inference in games
- ๐ข Enterprise - Production ML deployments on Windows servers
- Windows 10 version 1903 (build 18362) or newer
- Visual C++ Redistributable 2022
- Python 3.8+ (for Python SDK)
- Windows 11
- DirectX 12 capable GPU (NVIDIA, AMD, or Intel)
- Latest GPU drivers
- 8GB+ RAM
- CMake 3.15+
- Visual Studio 2019/2022
- ONNX Runtime 1.16.3
- Python 3.8+
# 1. Clone repository
git clone https://github.com/tropikandy/WinCoreML.git
cd WinCoreML
# 2. Download ONNX Runtime
$version = "1.16.3"
Invoke-WebRequest -Uri "https://github.com/microsoft/onnxruntime/releases/download/v$version/onnxruntime-win-x64-gpu-$version.zip" -OutFile "onnxruntime.zip"
Expand-Archive -Path "onnxruntime.zip" -DestinationPath "."
$env:ONNXRUNTIME_DIR = (Get-ChildItem -Directory -Filter "onnxruntime-win-*").FullName
# 3. Configure with CMake
cmake -B build -DCMAKE_BUILD_TYPE=Release -DONNXRUNTIME_DIR=$env:ONNXRUNTIME_DIR
# 4. Build
cmake --build build --config Release --parallel
# 5. Run tests
pytest tests/test_integration.py -vSee RELEASE_CHECKLIST.md for release process.
One-command release:
.\tools\release.ps1 -Version 0.1.0This will:
- Run tests
- Build MSI and portable packages
- Create git tag
- Trigger GitHub Actions
- Auto-publish GitHub Release
Multiple installation options available:
| Method | Command | Best For |
|---|---|---|
| Winget | winget install CoreMLWin.UniversalMLRuntime |
Most users |
| Chocolatey | choco install coremlwin |
IT admins |
| MSI | Download from releases | Enterprise |
| Portable | Extract and run | No admin rights |
See docs/INSTALLATION.md for details.
CoreMLWin has been thoroughly security tested:
- โ Red team audited - Comprehensive penetration testing
- โ All P0 critical fixes applied - Zero known critical vulnerabilities
- โ Input validation - Protection against buffer overflows, path traversal
- โ Secure hashing - SHA-256 content-based model identification
- โ 35+ security tests - Full test coverage for security features
See docs/RED_TEAM_AUDIT.md for the full security audit report.
- Installation Guide - Detailed installation instructions
- Distribution Guide - How to distribute your own builds
- Release Checklist - Release automation guide
- Security Audit - Security assessment report
- Security Improvements - Implemented security fixes
# Start service
start build\bin\Release\coremlwin_service.exe
# Run integration tests
pytest tests/test_integration.py -v
# Run security tests
pytest tests/test_security.py -v
# Run C++ security unit tests
.\tests\test_security_utils.exe- โ Integration Tests - End-to-end workflows
- โ Security Tests - Adversarial testing
- โ Performance Tests - Latency benchmarks
- โ Concurrency Tests - Thread safety
- โ C++ Unit Tests - Security utilities (35 tests)
Latency Benchmarks (ResNet50, 224x224 input):
| Provider | Latency | Throughput |
|---|---|---|
| DirectML (RTX 3080) | ~5ms | 200 FPS |
| CPU (Intel i9) | ~45ms | 22 FPS |
Service Overhead: <100ms health check latency
- Model caching with LRU eviction
- Shared memory transport for zero-copy
- Connection pooling
- Google Test C++ unit testing framework
- WebSocket API support
- REST API endpoint
- Model versioning
- A/B testing support
- Microsoft Store distribution
- GUI management tool
- Performance profiler
- Model optimization tools
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- ONNX Runtime - High-performance ML inference engine
- DirectML - GPU acceleration on Windows
- Protocol Buffers - Efficient serialization
- Microsoft - For the winget package manager
CoreMLWin was developed using modern AI-assisted development practices. Architecture and design decisions by Andreas Larsson; implementation assisted by AI language models. All code has been reviewed, tested, and validated for production use.
Not affiliated with Apple Inc. CoreML is a trademark of Apple Inc.
- ๐ Bug Reports: GitHub Issues
- ๐ฌ Discussions: GitHub Discussions
- ๐ง Email: Contact via GitHub profile
If you find CoreMLWin useful, please consider giving it a star โญ
Made with โค๏ธ for the Windows ML community
GitHub โข Install โข Download โข Report Bug