Conversation
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR adds native binding support to the vecxt linear algebra library, introducing BLIS integration for high-performance linear algebra operations and experimenting with MLX bindings. The changes enable native library access through Panama Foreign Function & Memory API.
- Introduces native vector types (DoubleVector, FloatVector, IntVector) with BLIS integration
- Adds tensor implementations with column-major layout support
- Updates build configuration for native library linking and dependency management
Reviewed Changes
Copilot reviewed 18 out of 298 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| experiments/src/*.scala | Core vector and tensor implementations with BLIS bindings |
| experiments/test/src/*.test.scala | Comprehensive test suites for vector and tensor operations |
| experiments/package.mill | Build configuration for native library paths and dependencies |
| build.mill | Updated Scala version and module dependencies |
| .github/workflows/ci.yml | Enhanced CI with native dependency caching and BLIS installation |
Comments suppressed due to low confidence (3)
experiments/src/FloatVector.scala:1
- There's a typo in the comment: 'Floato' should be 'into'.
package vecxt.experiments
experiments/src/DoubleVector.scala:1
- Debug println statement should be removed from production code.
package vecxt.experiments
experiments/package.mill:1
- There's a typo in the comment: 'settibngs' should be 'settings'.
package build.experiments
| blis_h.BLIS_FLOAT(), // dt: BLIS_DOUBLE for double precision | ||
| 1L, // m: 1 row (row vector) | ||
| v.length, // n: length columns | ||
| v.raw, // p: poFloater to the actual data |
There was a problem hiding this comment.
There's a typo in the comment: 'poFloater' should be 'pointer'.
Suggested change
| v.raw, // p: poFloater to the actual data | |
| v.raw, // p: pointer to the actual data |
| assertEquals(vec(1), 2f) | ||
| assertEquals(vec(2), 3f) | ||
|
|
||
| test("blissable - BLIS Floategration working!"): |
There was a problem hiding this comment.
There's a typo in the test name: 'Floategration' should be 'integration'.
Suggested change
| test("blissable - BLIS Floategration working!"): | |
| test("blissable - BLIS integration working!"): |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds configuration and code generated by jexctract which would bind to native libraries.