Skip to content

Commit 880ab4a

Browse files
committed
feat: update ideas list
1 parent 265e7f4 commit 880ab4a

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
@@ -1480,4 +1480,50 @@ Experience with C and creating tooling will be beneficial.
14801480

14811481
### Project length
14821482

1483+
350
1484+
1485+
* * *
1486+
1487+
## Add WebAssembly implementations for extended BLAS routines
1488+
1489+
Linked issue: <https://github.com/stdlib-js/google-summer-of-code/issues/97>
1490+
1491+
### Idea
1492+
1493+
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 `blas/ext/base` namespace, such that, for each typed interface in `blas/ext/base/(d|s|c|z|)*`, there would be a corresponding WebAssembly package in `blas/ext/base/wasm/*`.
1494+
1495+
### Expected outcomes
1496+
1497+
Users wanting to potentially accelerate computation of extended BLAS routines will be able to consume a corresponding WebAssembly API.
1498+
1499+
### Status
1500+
1501+
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 `blas/ext/base/wasm/*` namespace.
1502+
1503+
### Involved software
1504+
1505+
Emscripten, which is necessary for compiling C to WebAssembly. stdlib already offers tooling for automatically installing the emsdk and getting things up and running.
1506+
1507+
### Technology
1508+
1509+
C, JavaScript
1510+
1511+
### Other technology
1512+
1513+
None.
1514+
1515+
### Difficulty
1516+
1517+
3
1518+
1519+
### Difficulty justification
1520+
1521+
Given that most `blas/ext/base/*` 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.
1522+
1523+
### Prerequisite knowledge
1524+
1525+
Some familiarity with WebAssembly will be helpful. Experience with JavaScript.
1526+
1527+
### Project length
1528+
14831529
350

0 commit comments

Comments
 (0)