Skip to content

Commit 0b596b6

Browse files
committed
feat: update ideas list
1 parent f055ab9 commit 0b596b6

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

ideas.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1526,4 +1526,50 @@ Some familiarity with WebAssembly will be helpful. Experience with JavaScript.
15261526

15271527
### Project length
15281528

1529+
90/175/350. Can be scoped accordingly.
1530+
1531+
* * *
1532+
1533+
## Add WebAssembly implementations for `stats/strided` routines
1534+
1535+
Linked issue: <https://github.com/stdlib-js/google-summer-of-code/issues/98>
1536+
1537+
### Idea
1538+
1539+
We've worked toward compiling BLAS routines to WebAssembly and offering ergonomic APIs for interfacing between JavaScript and WebAssembly binaries (see https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/blas/base/wasm). The goal of this project would be to extend these efforts to the `stats/strided` namespace, such that, for each typed interface in `stats/strided/(d|s|c|z|)*`, there would be a corresponding WebAssembly package in `stats/strided/wasm/*`.
1540+
1541+
### Expected outcomes
1542+
1543+
Users wanting to potentially accelerate computation of strided statistics routines will be able to consume a corresponding WebAssembly API.
1544+
1545+
### Status
1546+
1547+
Work has primarily happened in https://github.com/stdlib-js/stdlib/tree/develop/lib/node_modules/%40stdlib/blas/base/wasm. The efforts there would need to be replicated for the `stats/strided/*` namespace.
1548+
1549+
### Involved software
1550+
1551+
Emscripten, which is necessary for compiling C to WebAssembly. stdlib already offers tooling for automatically installing the emsdk and getting things up and running.
1552+
1553+
### Technology
1554+
1555+
C, JavaScript
1556+
1557+
### Other technology
1558+
1559+
None.
1560+
1561+
### Difficulty
1562+
1563+
3
1564+
1565+
### Difficulty justification
1566+
1567+
Given that most `stats/strided/*` routines are straightforward one-dimensional strided array interfaces, developing the wasm packages should be similarly straightforward. The main time-consuming task will be writing tests and documentation.
1568+
1569+
### Prerequisite knowledge
1570+
1571+
Some familiarity with WebAssembly will be helpful. Experience with JavaScript.
1572+
1573+
### Project length
1574+
15291575
90/175/350. Can be scoped accordingly.

0 commit comments

Comments
 (0)