/ concept-collection / fastandaccurate
Sign in
concept-collection / fastandaccurate

Add mfs-gpu: the MFS on WebGPU, and a TypeScript form of the solver interface

deploy · #1 · push by owner · main · acdea26 · .github/workflows/deploy.yml ·
build-deploy 2m 5s
Runner
Job build-deploy on ubuntu-latest
Checking out concept-collection/fastandaccurate at acdea26b
Container started from catthehacker/ubuntu:act-latest
▸ Post actions/setup-node@v4
(node:662) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Cleaning up the job container
actions/checkout@v40s
▸ actions/checkout@v4
Using cofferdam's built-in checkout (actions/checkout@v4)
concept-collection/fastandaccurate is already checked out at acdea26b (cofferdam checks out before the job starts)
actions/setup-node@v46s
▸ actions/setup-node@v4
Using cached actions/setup-node@v4 (49933ea5288c)
Attempting to download 24...
(node:56) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Bad credentials
Falling back to download directly from Node
Acquiring 24.19.0 - x64 from https://nodejs.org/dist/v24.19.0/node-v24.19.0-linux-x64.tar.gz
Extracting ...
[command]/usr/bin/tar xz --strip 1 --warning=no-unknown-keyword --overwrite -C /cofferdam/temp/dd601004-e715-4e28-a93c-52a42f25d1e0 -f /cofferdam/temp/d835dc5f-1837-496d-8138-2c36ebad0982
Adding to the cache ...
Done
▾ Environment details
node: v24.19.0
npm: 11.17.0
yarn: 
WARNING: Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.
Run npm ci4s
▸ Run npm ci

added 191 packages, and audited 192 packages in 3s

100 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
npm warn allow-scripts 4 packages have install scripts not yet covered by allowScripts:
npm warn allow-scripts   esbuild@0.28.2 (postinstall: node install.js)
npm warn allow-scripts   koffi@2.16.3 (install: node src/cnoke/cnoke.js -P . -D src/koffi --prebuild)
npm warn allow-scripts   numbl@0.4.18 (install: true)
npm warn allow-scripts   webgpu@0.4.0 (postinstall: node build/postinstall.js)
npm warn allow-scripts
npm warn allow-scripts Run `npm approve-scripts --allow-scripts-pending` to review, or `npm approve-scripts <pkg>` to allow.
Run npm test1m 41s
▸ Run npm test

> fastandaccurate@0.1.0 test
> tsx test/solver-test.ts


== disk-easy / mfs
   n     relMax       relL2        solve(s)  cold(s)
[linsolve] using bridge: ts-lapack (TypeScript)
[matmul] using bridge: ts-lapack (TypeScript)
     8  1.470e-1  7.510e-2  0.0038    0.0144
    12  3.231e-2  1.537e-2  0.0019    0.0088
    16  8.949e-3  3.953e-3  0.0016    0.0090
    24  1.205e-3  4.144e-4  0.0025    0.0100
    32  1.232e-4  3.769e-5  0.0016    0.0102
    48  1.070e-6  3.527e-7  0.0027    0.0153
    64  2.005e-8  4.914e-9  0.0034    0.0259
    96  3.272e-12  7.209e-13  0.0027    0.0193
   128  1.353e-15  6.783e-16  0.0042    0.0190
   192  1.488e-15  6.155e-16  0.0110    0.0315
   256  9.469e-16  6.445e-16  0.0208    0.0367
   384  8.252e-15  5.125e-15  0.0441    0.0686
   512  3.524e-14  2.361e-14  0.0983    0.1452
   768  2.814e-14  1.744e-14  0.2919    0.3633
  ok (best relMax 9.47e-16)

== disk-easy / nystrom-dlp
   n     relMax       relL2        solve(s)  cold(s)
    16  2.013e-1  7.513e-2  0.0015    0.0098
    24  1.444e-1  4.815e-2  0.0012    0.0081
    32  3.681e-2  1.575e-2  0.0010    0.0090
    48  1.246e-2  5.316e-3  0.0121    0.0126
    64  1.073e-3  4.568e-4  0.0021    0.0134
    96  7.858e-5  3.373e-5  0.0028    0.0125
   128  1.636e-6  7.026e-7  0.0041    0.0166
   192  3.147e-9  1.350e-9  0.0083    0.0217
   256  1.205e-12  5.051e-13  0.0358    0.0407
   384  1.488e-15  9.471e-16  0.0630    0.0712
   512  2.435e-15  1.349e-15  0.1018    0.1273
   768  1.759e-15  1.432e-15  0.2958    0.3545
  ok (best relMax 1.49e-15)

== star-medium / mfs
   n     relMax       relL2        solve(s)  cold(s)
     8  2.611e-1  1.063e-1  0.0018    0.0066
    12  6.707e-2  2.744e-2  0.0012    0.0099
    16  3.035e-2  9.245e-3  0.0013    0.0114
    24  8.779e-3  2.333e-3  0.0014    0.0134
    32  7.045e-4  2.085e-4  0.0016    0.0132
    48  1.748e-5  5.434e-6  0.0009    0.0116
    64  1.885e-6  4.894e-7  0.0021    0.0118
    96  2.502e-9  6.906e-10  0.0021    0.0185
   128  1.559e-11  3.731e-12  0.0037    0.0166
   192  7.650e-16  6.408e-16  0.0075    0.0339
   256  1.020e-15  7.520e-16  0.0169    0.0410
   384  3.060e-15  1.957e-15  0.0721    0.0955
   512  3.379e-15  3.640e-15  0.1091    0.2066
   768  7.523e-15  8.217e-15  0.3000    0.3968
  ok (best relMax 7.65e-16)

== star-medium / nystrom-dlp
   n     relMax       relL2        solve(s)  cold(s)
    16  6.686e-1  1.958e-1  0.0006    0.0060
    24  2.340e-1  8.341e-2  0.0007    0.0077
    32  1.301e-1  4.670e-2  0.0008    0.0080
    48  2.602e-2  8.850e-3  0.0011    0.0089
    64  6.838e-3  2.041e-3  0.0015    0.0124
    96  5.697e-4  1.658e-4  0.0020    0.0129
   128  9.047e-5  2.134e-5  0.0035    0.0147
   192  6.442e-7  1.551e-7  0.0070    0.0249
   256  2.297e-9  7.144e-10  0.0143    0.0351
   384  1.797e-13  3.820e-14  0.0439    0.0663
   512  1.148e-15  8.493e-16  0.1190    0.1460
   768  1.530e-15  1.112e-15  0.3846    0.5196
  ok (best relMax 1.15e-15)

== star-hard / mfs
   n     relMax       relL2        solve(s)  cold(s)
     8  3.538e-1  2.410e-1  0.0005    0.0084
    12  5.659e-1  2.363e-1  0.0007    0.0101
    16  1.170e-1  4.975e-2  0.0019    0.0096
    24  7.110e-2  2.847e-2  0.0017    0.0134
    32  3.799e+0  8.382e-1  0.0052    0.0177
    48  7.663e-2  2.271e-2  0.0258    0.0311
    64  1.435e-1  2.971e-2  0.0060    0.0479
    96  1.012e-1  2.109e-2  0.0051    0.0650
   128  7.798e-2  2.062e-2  0.0167    0.0576
   192  5.808e-4  1.864e-4  0.0313    0.1214
   256  7.200e-4  2.217e-4  0.0511    0.1609
   384  6.639e-6  4.133e-6  0.1401    0.2703
   512  6.969e-6  6.187e-6  0.2455    0.4628
   768  3.992e-6  3.781e-6  0.7431    0.9143
  ok (best relMax 3.99e-6)

== star-hard / nystrom-dlp
   n     relMax       relL2        solve(s)  cold(s)
    16  3.948e+0  9.891e-1  0.0020    0.0199
    24  1.008e+0  4.109e-1  0.0023    0.0221
    32  1.208e+0  3.561e-1  0.0021    0.0240
    48  4.846e-1  1.598e-1  0.0033    0.0269
    64  1.819e-1  5.760e-2  0.0048    0.0441
    96  1.875e-2  7.813e-3  0.0065    0.0391
   128  3.755e-2  1.032e-2  0.0205    0.0453
   192  8.806e-3  2.496e-3  0.0439    0.1165
   256  6.279e-4  1.565e-4  0.0407    0.1252
   384  2.178e-5  6.247e-6  0.0677    0.1520
   512  5.115e-7  1.042e-7  0.1195    0.2085
   768  1.484e-10  3.492e-11  0.3658    0.4276
  ok (best relMax 1.48e-10)

== flower-15 / mfs
   n     relMax       relL2        solve(s)  cold(s)
     8  3.820e-1  1.585e-1  0.0006    0.0079
    12  2.831e-1  9.335e-2  0.0007    0.0082
    16  4.724e+0  2.148e+0  0.0008    0.0097
    24  1.832e-1  4.575e-2  0.0011    0.0168
    32  4.478e-2  1.821e-2  0.0022    0.0148
    48  3.094e-2  6.683e-3  0.0075    0.0181
    64  2.914e-2  7.409e-3  0.0018    0.0202
    96  1.632e+0  3.713e-1  0.0028    0.0232
   128  5.855e-3  1.507e-3  0.0052    0.0276
   192  1.825e-3  6.414e-4  0.0109    0.0374
   256  1.078e-4  2.174e-5  0.0226    0.0548
   384  1.870e-6  4.209e-7  0.0736    0.1020
   512  5.196e-5  1.338e-5  0.1339    0.2272
   768  1.199e-3  3.568e-4  0.3505    0.6340
  ok (best relMax 1.87e-6)

== flower-15 / nystrom-dlp
   n     relMax       relL2        solve(s)  cold(s)
    32  2.572e+0  1.347e+0  0.0010    0.0108
    48  6.171e-1  4.191e-1  0.0013    0.0115
    64  1.711e+0  5.421e-1  0.0017    0.0147
    96  3.511e-1  1.655e-1  0.0029    0.0199
   128  4.761e-1  1.456e-1  0.0043    0.0191
   192  2.117e-1  6.624e-2  0.0096    0.0338
   256  1.014e-1  2.889e-2  0.0208    0.0454
   384  2.557e-2  6.882e-3  0.0642    0.0980
   512  6.711e-3  1.710e-3  0.1182    0.1524
   768  4.719e-4  1.053e-4  0.3100    0.4019
  1024  3.320e-5  6.875e-6  0.6340    0.7952
  1536  1.625e-7  3.328e-8  6.7930    2.2257
  ok (best relMax 1.62e-7)

== square-corners / mfs
   n     relMax       relL2        solve(s)  cold(s)
     8  2.773e-1  1.533e-1  0.0018    0.0177
    12  9.503e-2  5.851e-2  0.0026    0.0210
    16  6.666e-2  2.156e-2  0.0061    0.0239
    24  2.011e-2  6.765e-3  0.0034    0.0310
    32  3.227e-3  1.070e-3  0.0033    0.0305
    48  7.365e-4  1.831e-4  0.0077    0.0387
    64  4.221e-4  1.066e-4  0.0044    0.0568
    96  1.819e-5  5.173e-6  0.0136    0.0436
   128  2.973e-7  1.414e-7  0.0208    0.0710
   192  1.588e-8  6.560e-9  0.0299    0.1108
   256  7.072e-10  3.170e-10  0.0850    0.1613
   384  2.711e-12  1.563e-12  0.2436    0.3861
   512  7.247e-13  6.492e-13  0.2824    0.3903
   768  2.260e-13  2.196e-13  0.8755    1.3720
  ok (best relMax 2.26e-13)

== square-corners / nystrom-dlp
   n     relMax       relL2        solve(s)  cold(s)
    64  2.863e+0  6.411e-1  0.0045    0.0337
    96  2.189e+0  4.863e-1  0.0084    0.0428
   128  1.710e+0  3.762e-1  0.0114    0.0516
   192  1.087e+0  2.362e-1  0.0283    0.0624
   256  7.165e-1  1.551e-1  0.0469    0.1679
   384  3.333e-1  7.144e-2  0.1115    0.2231
   512  1.654e-1  3.552e-2  0.3138    0.6136
   768  4.554e-2  9.620e-3  0.9495    1.0213
  1024  1.337e-2  2.821e-3  1.8595    2.2349
  1536  1.203e-3  2.538e-4  7.3222    6.7069
  ok (best relMax 1.20e-3)

== star-nearfield / mfs
   n     relMax       relL2        solve(s)  cold(s)
     8  3.188e-1  2.292e-1  0.0015    0.0178
    12  6.479e-1  3.149e-1  0.0020    0.0205
    16  1.557e-1  9.011e-2  0.0018    0.0208
    24  1.151e-1  6.007e-2  0.0018    0.0256
    32  3.423e+0  8.096e-1  0.0021    0.0375
    48  1.322e-1  5.823e-2  0.0056    0.0477
    64  2.978e-1  9.690e-2  0.0060    0.0451
    96  2.053e-1  6.145e-2  0.0106    0.0516
   128  4.713e-1  1.618e-1  0.0186    0.0785
   192  9.255e-3  2.310e-3  0.0332    0.1079
   256  5.171e-2  1.447e-2  0.0739    0.1427
   384  5.436e-4  1.418e-4  0.2285    0.3446
   512  7.770e-6  6.411e-6  0.2660    0.6578
   768  3.873e-6  3.876e-6  0.7941    0.9909
  ok (best relMax 3.87e-6)

== star-nearfield / nystrom-dlp
   n     relMax       relL2        solve(s)  cold(s)
    64  7.733e-1  3.268e-1  0.0034    0.0330
    96  1.182e+0  5.205e-1  0.0068    0.0406
   128  7.213e-1  2.860e-1  0.0085    0.0452
   192  2.713e-1  1.007e-1  0.0260    0.0666
   256  2.088e-1  8.063e-2  0.0447    0.1559
   384  2.193e-1  6.401e-2  0.1073    0.2820
   512  1.590e-1  4.507e-2  0.3392    0.6043
   768  1.474e-1  4.153e-2  0.3577    1.0396
  1024  6.281e-2  1.755e-2  0.7684    0.8280
  1536  1.187e-2  3.414e-3  2.2529    2.8394
  ok (best relMax 1.19e-2)

grid ok (40000 values)

all checks passed
Run npm run build10s
▸ Run npm run build

> fastandaccurate@0.1.0 build
> tsc --noEmit && vite build && npm run build:cli

vite v7.3.6 building client environment for production...
transforming...
[plugin vite:resolve] Module "node:module" has been externalized for browser compatibility, imported by "/cofferdam/workspace/node_modules/qhull-wasm/dist/qhull.mjs". See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
✓ 54 modules transformed.
rendering chunks...
computing gzip size...
dist/index.html                      0.83 kB │ gzip:   0.52 kB
dist/assets/qhull-DM50poqF.wasm    388.78 kB │ gzip: 152.23 kB
dist/assets/worker-3yAfAPtA.js   1,592.94 kB
dist/assets/index-CKaEFqXb.css       3.73 kB │ gzip:   1.32 kB
dist/assets/index-BbyqDeEK.js      275.96 kB │ gzip:  89.02 kB
✓ built in 3.13s

> fastandaccurate@0.1.0 build:cli
> vite build --config vite.cli.config.ts && node scripts/pack-cli.mjs

vite v7.3.6 building ssr environment for production...
transforming...
✓ 21 modules transformed.
rendering chunks...
dist-cli/main.js  3,145.74 kB
✓ built in 2.54s
dist/cli.tgz  (fastandaccurate-cli 0.1.0)
actions/configure-pages@v50s
▸ actions/configure-pages@v5
Using cofferdam's built-in configure-pages (actions/configure-pages@v5)
This site will be served at https://vault1.fly.dev/concept-collection/fastandaccurate/site/
actions/upload-pages-artifact@v32s
▸ actions/upload-pages-artifact@v3
Using cached actions/upload-pages-artifact@v3 (56afc609e742)
▸ Archive artifact
▾ Archive artifact
./
./cli.tgz
./assets/
./assets/index-CKaEFqXb.css
./assets/qhull-DM50poqF.wasm
./assets/worker-3yAfAPtA.js
./assets/index-BbyqDeEK.js
./index.html
▸ Upload artifact
Using cofferdam's built-in upload-artifact (actions/upload-artifact@v4)
Uploading artifact github-pages (1 file, 2897920 bytes)
actions/deploy-pages@v40s
▸ actions/deploy-pages@v4
Using cofferdam's built-in deploy-pages (actions/deploy-pages@v4)
Deployed 6 files to https://vault1.fly.dev/concept-collection/fastandaccurate/site/
Artifacts
github-pages2.8 MB

Artifacts are tar archives, and are removed when the run is pruned.

moveopenescclose