@jax-js/jax 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{backend-CoVtc9dx.js → backend-BqymqzuU.js} +32 -7
- package/dist/{backend-BbrKEB18.cjs → backend-DeVfWEFS.cjs} +32 -7
- package/dist/index.cjs +2679 -2194
- package/dist/index.d.cts +1087 -981
- package/dist/index.d.ts +1087 -981
- package/dist/index.js +2663 -2178
- package/dist/{webgpu-B3UVme6n.js → webgpu-BGuG58KZ.js} +13 -11
- package/dist/{webgpu-DGYNVHma.cjs → webgpu-CcGP160M.cjs} +13 -11
- package/package.json +13 -21
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AluExp, AluGroup, AluOp, DEBUG, DType, Executable, FpHash, SlotError, UnsupportedOpError, findPow2, isFloatDtype, mapSetUnion, strip1, tuneWebgpu } from "./backend-
|
|
1
|
+
import { AluExp, AluGroup, AluOp, DEBUG, DType, Executable, FpHash, SlotError, UnsupportedOpError, findPow2, isFloatDtype, mapSetUnion, strip1, tuneWebgpu } from "./backend-BqymqzuU.js";
|
|
2
2
|
|
|
3
3
|
//#region src/backend/webgpu/builtins.ts
|
|
4
4
|
const threefrySrc = `
|
|
@@ -436,18 +436,20 @@ function pipelineSource(device, kernel) {
|
|
|
436
436
|
source = `inverseSqrt(${a})`;
|
|
437
437
|
} else {
|
|
438
438
|
const a = gen(src[0]);
|
|
439
|
-
if (op === AluOp.Sin) source = `sin(${a})`;
|
|
440
|
-
else if (op === AluOp.Cos) source = `cos(${a})`;
|
|
441
|
-
else if (op === AluOp.Asin) source = `asin(${a})`;
|
|
442
|
-
else if (op === AluOp.Atan) source = `atan(${a})`;
|
|
443
|
-
else if (op === AluOp.Exp) source = `exp(${a})`;
|
|
444
|
-
else if (op === AluOp.Log) source = `log(${a})`;
|
|
439
|
+
if (op === AluOp.Sin) source = `sin(${strip1(a)})`;
|
|
440
|
+
else if (op === AluOp.Cos) source = `cos(${strip1(a)})`;
|
|
441
|
+
else if (op === AluOp.Asin) source = `asin(${strip1(a)})`;
|
|
442
|
+
else if (op === AluOp.Atan) source = `atan(${strip1(a)})`;
|
|
443
|
+
else if (op === AluOp.Exp) source = `exp(${strip1(a)})`;
|
|
444
|
+
else if (op === AluOp.Log) source = `log(${strip1(a)})`;
|
|
445
445
|
else if (op === AluOp.Erf || op === AluOp.Erfc) {
|
|
446
446
|
const funcName = op === AluOp.Erf ? "erf" : "erfc";
|
|
447
|
-
if (dtype !== DType.Float32) source = `${dtypeToWgsl(dtype)}(${funcName}(f32(${a})))`;
|
|
448
|
-
else source = `${funcName}(${a})`;
|
|
449
|
-
} else if (op === AluOp.Sqrt) source = `sqrt(${a})`;
|
|
447
|
+
if (dtype !== DType.Float32) source = `${dtypeToWgsl(dtype)}(${funcName}(f32(${strip1(a)})))`;
|
|
448
|
+
else source = `${funcName}(${strip1(a)})`;
|
|
449
|
+
} else if (op === AluOp.Sqrt) source = `sqrt(${strip1(a)})`;
|
|
450
450
|
else if (op === AluOp.Reciprocal) source = `(1.0 / ${a})`;
|
|
451
|
+
else if (op === AluOp.Floor) source = `floor(${strip1(a)})`;
|
|
452
|
+
else if (op === AluOp.Ceil) source = `ceil(${strip1(a)})`;
|
|
451
453
|
else if (op === AluOp.Cast) source = `${dtypeToWgsl(dtype)}(${strip1(a)})`;
|
|
452
454
|
else if (op === AluOp.Bitcast) source = `bitcast<${dtypeToWgsl(dtype)}>(${strip1(a)})`;
|
|
453
455
|
}
|
|
@@ -650,4 +652,4 @@ async function compileError(shaderModule, scope, code) {
|
|
|
650
652
|
|
|
651
653
|
//#endregion
|
|
652
654
|
export { WebGPUBackend };
|
|
653
|
-
//# sourceMappingURL=webgpu-
|
|
655
|
+
//# sourceMappingURL=webgpu-BGuG58KZ.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const require_backend = require('./backend-
|
|
1
|
+
const require_backend = require('./backend-DeVfWEFS.cjs');
|
|
2
2
|
|
|
3
3
|
//#region src/backend/webgpu/builtins.ts
|
|
4
4
|
const threefrySrc = `
|
|
@@ -436,18 +436,20 @@ function pipelineSource(device, kernel) {
|
|
|
436
436
|
source = `inverseSqrt(${a})`;
|
|
437
437
|
} else {
|
|
438
438
|
const a = gen(src[0]);
|
|
439
|
-
if (op === require_backend.AluOp.Sin) source = `sin(${a})`;
|
|
440
|
-
else if (op === require_backend.AluOp.Cos) source = `cos(${a})`;
|
|
441
|
-
else if (op === require_backend.AluOp.Asin) source = `asin(${a})`;
|
|
442
|
-
else if (op === require_backend.AluOp.Atan) source = `atan(${a})`;
|
|
443
|
-
else if (op === require_backend.AluOp.Exp) source = `exp(${a})`;
|
|
444
|
-
else if (op === require_backend.AluOp.Log) source = `log(${a})`;
|
|
439
|
+
if (op === require_backend.AluOp.Sin) source = `sin(${require_backend.strip1(a)})`;
|
|
440
|
+
else if (op === require_backend.AluOp.Cos) source = `cos(${require_backend.strip1(a)})`;
|
|
441
|
+
else if (op === require_backend.AluOp.Asin) source = `asin(${require_backend.strip1(a)})`;
|
|
442
|
+
else if (op === require_backend.AluOp.Atan) source = `atan(${require_backend.strip1(a)})`;
|
|
443
|
+
else if (op === require_backend.AluOp.Exp) source = `exp(${require_backend.strip1(a)})`;
|
|
444
|
+
else if (op === require_backend.AluOp.Log) source = `log(${require_backend.strip1(a)})`;
|
|
445
445
|
else if (op === require_backend.AluOp.Erf || op === require_backend.AluOp.Erfc) {
|
|
446
446
|
const funcName = op === require_backend.AluOp.Erf ? "erf" : "erfc";
|
|
447
|
-
if (dtype !== require_backend.DType.Float32) source = `${dtypeToWgsl(dtype)}(${funcName}(f32(${a})))`;
|
|
448
|
-
else source = `${funcName}(${a})`;
|
|
449
|
-
} else if (op === require_backend.AluOp.Sqrt) source = `sqrt(${a})`;
|
|
447
|
+
if (dtype !== require_backend.DType.Float32) source = `${dtypeToWgsl(dtype)}(${funcName}(f32(${require_backend.strip1(a)})))`;
|
|
448
|
+
else source = `${funcName}(${require_backend.strip1(a)})`;
|
|
449
|
+
} else if (op === require_backend.AluOp.Sqrt) source = `sqrt(${require_backend.strip1(a)})`;
|
|
450
450
|
else if (op === require_backend.AluOp.Reciprocal) source = `(1.0 / ${a})`;
|
|
451
|
+
else if (op === require_backend.AluOp.Floor) source = `floor(${require_backend.strip1(a)})`;
|
|
452
|
+
else if (op === require_backend.AluOp.Ceil) source = `ceil(${require_backend.strip1(a)})`;
|
|
451
453
|
else if (op === require_backend.AluOp.Cast) source = `${dtypeToWgsl(dtype)}(${require_backend.strip1(a)})`;
|
|
452
454
|
else if (op === require_backend.AluOp.Bitcast) source = `bitcast<${dtypeToWgsl(dtype)}>(${require_backend.strip1(a)})`;
|
|
453
455
|
}
|
|
@@ -650,4 +652,4 @@ async function compileError(shaderModule, scope, code) {
|
|
|
650
652
|
|
|
651
653
|
//#endregion
|
|
652
654
|
exports.WebGPUBackend = WebGPUBackend;
|
|
653
|
-
//# sourceMappingURL=webgpu-
|
|
655
|
+
//# sourceMappingURL=webgpu-CcGP160M.cjs.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jax-js/jax",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Numerical computing and ML in the browser",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"machine learning",
|
|
@@ -35,19 +35,6 @@
|
|
|
35
35
|
"types": "dist/index.d.ts",
|
|
36
36
|
"module": "dist/index.js",
|
|
37
37
|
"license": "MIT",
|
|
38
|
-
"scripts": {
|
|
39
|
-
"build": "tsdown",
|
|
40
|
-
"build:watch": "TSDOWN_WATCH_MODE=1 tsdown",
|
|
41
|
-
"check": "tsc",
|
|
42
|
-
"docs": "tsx typedoc.ts",
|
|
43
|
-
"format": "prettier --write .",
|
|
44
|
-
"format:check": "prettier --check .",
|
|
45
|
-
"lint": "eslint",
|
|
46
|
-
"test": "vitest",
|
|
47
|
-
"test:coverage": "vitest run --coverage && open coverage/index.html",
|
|
48
|
-
"prepublishOnly": "pnpm build",
|
|
49
|
-
"postpublish": "git tag jax/v$npm_package_version && git push --tags"
|
|
50
|
-
},
|
|
51
38
|
"devDependencies": {
|
|
52
39
|
"@eslint/js": "^9.31.0",
|
|
53
40
|
"@types/debug": "^4.1.12",
|
|
@@ -68,15 +55,9 @@
|
|
|
68
55
|
"typescript-eslint": "^8.46.4",
|
|
69
56
|
"vitest": "^4.0.9"
|
|
70
57
|
},
|
|
71
|
-
"packageManager": "pnpm@10.22.0",
|
|
72
58
|
"engines": {
|
|
73
59
|
"pnpm": ">=10.0.0"
|
|
74
60
|
},
|
|
75
|
-
"pnpm": {
|
|
76
|
-
"overrides": {
|
|
77
|
-
"@tensorflow/tfjs-core>@webgpu/types": "^0.1.68"
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
61
|
"prettier": {
|
|
81
62
|
"plugins": [
|
|
82
63
|
"prettier-plugin-svelte"
|
|
@@ -92,5 +73,16 @@
|
|
|
92
73
|
}
|
|
93
74
|
],
|
|
94
75
|
"proseWrap": "always"
|
|
76
|
+
},
|
|
77
|
+
"scripts": {
|
|
78
|
+
"build": "tsdown",
|
|
79
|
+
"build:watch": "TSDOWN_WATCH_MODE=1 tsdown",
|
|
80
|
+
"check": "tsc",
|
|
81
|
+
"docs": "tsx typedoc.ts",
|
|
82
|
+
"format": "prettier --write .",
|
|
83
|
+
"format:check": "prettier --check .",
|
|
84
|
+
"lint": "eslint",
|
|
85
|
+
"test": "vitest",
|
|
86
|
+
"test:coverage": "vitest run --coverage && open coverage/index.html"
|
|
95
87
|
}
|
|
96
|
-
}
|
|
88
|
+
}
|