-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
[RFC]: add C implementations for blas/ext/base/ndarray packages #14819
Copy link
Copy link
Open
Labels
AcceptedRFC feature request which has been accepted.RFC feature request which has been accepted.CIssue involves or relates to C.Issue involves or relates to C.FeatureIssue or pull request for adding a new feature.Issue or pull request for adding a new feature.Native AddonsIssue involves or relates to Node.js native add-ons.Issue involves or relates to Node.js native add-ons.RFCRequest for comments. Feature requests and proposed changes.Request for comments. Feature requests and proposed changes.Tracking IssueTracking issue.Tracking issue.
Description
Activity
Metadata
Metadata
Assignees
Labels
AcceptedRFC feature request which has been accepted.RFC feature request which has been accepted.CIssue involves or relates to C.Issue involves or relates to C.FeatureIssue or pull request for adding a new feature.Issue or pull request for adding a new feature.Native AddonsIssue involves or relates to Node.js native add-ons.Issue involves or relates to Node.js native add-ons.RFCRequest for comments. Feature requests and proposed changes.Request for comments. Feature requests and proposed changes.Tracking IssueTracking issue.Tracking issue.
Purpose
This issue tracks the initiative to add native C implementations for typed ndarray APIs in
blas/ext/base/ndarray. It serves as a central reference point for contributors so that work can be coordinated, PRs can be linked back here, and duplicate effort can be avoided.Summary
In
blas/ext/base/ndarray, if a typed ndarray API is missing a native C implementation, it is fair game to add one. This issue serves as a general tracking reference for this ongoing initiative.Candidates for C implementations typically include packages handling the following data types (indicated by their prefixes):
d(double-precision)s(single-precision)c(complex single-precision)z(complex double-precision)Since new strided APIs are constantly being added to
blas/ext/base, this is intentionally kept as a generalized issue rather than an enumerated checklist, which would become outdated quickly.What to Do
If you find a package under
blas/ext/base/ndarraythat has a JavaScript implementation but is missing a native C addon (src/,include/,manifest.json,binding.gyp, etc.), you may go ahead and add the C implementation.Reference Library
To help contributors understand exactly what is required when adding a native C implementation, we have compiled a "Reference Library" of merged PRs. Please refer to the PR that best matches the type of package you are working on:
d*(double-precision): PR #10065dnan*(double-precision with NaNs): PR #10715s*(single-precision): PR #10078snan*(single-precision with NaNs): PR #10777c*(complex single-precision): PR #10696z*(complex double-precision): PR #10699PR Title Convention
When opening a pull request for this work, please use the following title format so others can easily search GitHub and avoid duplicate PRs:
You are Advised
dsum"). This helps avoid two contributors working on the same package simultaneously.blas/ext/base/ndarraypackage. This helps reviewers understand the context and track progress against this initiative.Related Issues
None.
Questions
No.
Other
No.
Checklist
RFC:.