-
Notifications
You must be signed in to change notification settings - Fork 2
Restructured CI workflow #80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
✅ Compilation - SUCCESS! ✅ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR restructures the CI workflow to support multiple platforms and migrates from native SIMD intrinsics to the SIMDe library for better cross-platform compatibility. The key motivation is to enable the codebase to compile and run on non-x86 architectures (like ARM) while maintaining performance on x86.
- Replaces native x86 SIMD intrinsics (
_mm*,__m256*) with SIMDe equivalents (simde_mm*,simde__m256*) - Splits the monolithic CI workflow into separate Linux and macOS workflows with dedicated jobs
- Adds build system improvements including conditional unit test building and platform-specific dependency handling
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| regen/shader/includer.h | Adds missing #include <list> for std::list usage |
| regen/compute/threading.h | Migrates CPU_PAUSE macro from native intrinsics to SIMDe |
| regen/compute/simd.h | Major refactor replacing native SIMD types/intrinsics with SIMDe abstractions |
| regen/compute/radix-sort-cpu.h | Updates SIMD intrinsics to use SIMDe functions |
| README.md | Updates CI badges to reflect new workflow structure |
| CMakeLists.txt | Adds BUILD_UNIT_TESTS flag, removes platform guards from -march=native, adds FreeType brotli dependency |
| .github/workflows/ci-macos.yml | New workflow for macOS builds with Homebrew dependencies |
| .github/workflows/ci-linux.yml | Refactored workflow with separate jobs for build, packaging, and documentation |
| .github/actions/setup-linux/action.yml | New reusable action for installing Linux dependencies |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This PR restructures the CI workflow to support multiple platforms and migrates from native SIMD intrinsics to the SIMDe library for better cross-platform compatibility. The key motivation is to enable the codebase to compile and run on non-x86 architectures (like ARM) while maintaining performance on x86.
_mm*,__m256*) with SIMDe equivalents (simde_mm*,simde__m256*)