Skip to content

feat: add Nanvix cross-compilation infrastructure for numpy C extensions#16

Open
ppenna wants to merge 1 commit into
nanvix/v1.26.4from
feature/nanvix-port
Open

feat: add Nanvix cross-compilation infrastructure for numpy C extensions#16
ppenna wants to merge 1 commit into
nanvix/v1.26.4from
feature/nanvix-port

Conversation

@ppenna
Copy link
Copy Markdown

@ppenna ppenna commented May 14, 2026

Summary

Add build scripts for cross-compiling numpy's core multiarray_umath module to i686-nanvix static library.

Contents

nanvix-port/build-nanvix.sh

  • Cross-compiles numpy core C sources (multiarray, umath, SVML math functions)
  • Produces dist/libnumpy.a
  • Uses i686-nanvix-gcc from Docker toolchain
  • Includes generated headers for platform-specific config

.nanvix/

  • Build configuration (nanvix.toml) for integration with CPython build system

Module compiled

Single monolithic module _multiarray_umath containing:

  • Array creation, indexing, iteration, dtype handling
  • Universal functions (ufuncs) for math operations
  • SVML-accelerated sin, cos, exp, log, etc.
  • Buffer protocol, structured arrays, string operations

Related PRs

Copilot AI review requested due to automatic review settings May 14, 2026 06:38
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

@ppenna ppenna force-pushed the feature/nanvix-port branch from de29890 to 8e9f644 Compare May 14, 2026 14:00
Copilot AI review requested due to automatic review settings May 14, 2026 14:45
@ppenna ppenna force-pushed the feature/nanvix-port branch from 8e9f644 to afa2685 Compare May 14, 2026 14:45
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

@ppenna ppenna force-pushed the feature/nanvix-port branch 3 times, most recently from e53c749 to 73322ac Compare May 14, 2026 15:21
Copilot AI review requested due to automatic review settings May 14, 2026 15:21
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

@ppenna ppenna force-pushed the feature/nanvix-port branch 2 times, most recently from 252fa28 to b6ecfd5 Compare May 14, 2026 15:33
Copilot AI review requested due to automatic review settings May 14, 2026 15:33
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

@ppenna ppenna force-pushed the feature/nanvix-port branch 2 times, most recently from da52864 to 21da9ab Compare May 14, 2026 15:43
Copilot AI review requested due to automatic review settings May 14, 2026 15:43
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

@ppenna ppenna force-pushed the feature/nanvix-port branch from 21da9ab to 3cdda2c Compare May 14, 2026 15:54
Add build scripts, CI workflow, and zutils integration for cross-compiling
numpy's multiarray_umath module to i686-nanvix static library.

nanvix-port/build-nanvix.sh:
- Cross-compiles numpy core C sources (multiarray, umath, SVML)
- Produces dist/libnumpy.a
- Uses i686-nanvix-gcc from Docker toolchain

.nanvix/:
- nanvix.toml: package metadata pinned to v1.26.4
- z.py: build script with setup/build/test/release/clean commands

.github/workflows/nanvix-ci.yml:
- Reusable workflow integration with nanvix/workflows
- Replaces legacy Makefile.nanvix-based CI
- Scheduled + push/PR triggers on nanvix/** branches

z, z.sh:
- Standard zutils entry points (bootstrap nanvix-zutil v0.8.2)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@ppenna ppenna force-pushed the feature/nanvix-port branch from 3cdda2c to 8aa2ad2 Compare May 14, 2026 16:01
Copilot AI review requested due to automatic review settings May 14, 2026 16:01
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants