temporal-neural-solver
Ultra-fast neural network inference engine compiled to WebAssembly, achieving sub-microsecond latency for edge, browser, and serverless deployments with minimal memory overhead.
Quick Reference
| Task | Code |
|---|---|
| Install | npx temporal-neural-solver@latest |
| Import | import { TemporalSolver } from 'temporal-neural-solver'; |
| Create | const solver = new TemporalSolver(); |
| Load model | await solver.loadModel(modelPath); |
| Infer | const result = await solver.solve(problem); |
| Benchmark | const perf = await solver.benchmark(); |
Installation
Install: npx temporal-neural-solver@latest
See Installation Guide for the full ecosystem.
Key API
TemporalSolver
The main WASM-accelerated neural inference engine.
import { TemporalSolver } from 'temporal-neural-solver';
const solver = new TemporalSolver({
backend: 'wasm',
threads: 4,
quantization: 'int8',
});
Constructor Options:
| Option | Type | Default | Description |
|---|---|---|---|
backend |
string |
'wasm' |
Backend: 'wasm', 'napi', 'js' |
threads |
number |
1 |
Worker threads for WASM |
quantization |
string |
'none' |
Quantization: 'none', 'int8', 'int4', 'fp16' |
cacheModels |
boolean |
true |
Cache loaded models |
maxMemoryMB |
number |
256 |
Maximum memory usage |
simd |
boolean |
true |
Enable WASM SIMD |
Methods:
| Method | Returns | Description |
|---|---|---|
solve(problem) |
Promise<SolveResult> |
Run neural inference |
solveBatch(problems) |
Promise<SolveResult[]> |
Batch inference |
loadModel(path) |
Promise<void> |
Load ONNX/GGUF model |
loadModelFromBuffer(buf) |
Promise<void> |
Load model from buffer |
benchmark(opts?) |
Promise<BenchmarkResult> |
Run performance benchmark |
getModelInfo() |
ModelInfo |
Loaded model information |
warmup(iterations?) |
Promise<void> |
Warm up inference pipeline |
dispose() |
void |
Free WASM memory |
InferenceSession
Low-level inference session for fine-grained control.
import { InferenceSession } from 'temporal-neural-solver';
const session = new InferenceSession({
model: modelBuffer,
executionProviders: ['wasm'],
});
const output = await session.run({ input: inputTensor });
Methods:
| Method | Returns | Description |
|---|---|---|
run(feeds) |
Promise<OutputMap> |
Run inference with named inputs |
getInputNames() |
string[] |
Get model input names |
getOutputNames() |
string[] |
Get model output names |
getMetadata() |
ModelMetadata |
Get model metadata |
Quantizer
Model quantization for size and speed optimization.
import { Quantizer } from 'temporal-neural-solver';
const quantizer = new Quantizer({ method: 'int8', calibrationData: data });
const quantized = await quantizer.quantize(modelBuffer);
Constructor Options:
| Option | Type | Default | Description |
|---|---|---|---|
method |
string |
'int8' |
Quantization: 'int8', 'int4', 'fp16', 'dynamic' |
calibrationData |
Float32Array[] |
undefined |
Calibration data for static quant |
perChannel |
boolean |
true |
Per-channel quantization |
Common Patterns
Edge Neural Inference
import { TemporalSolver } from 'temporal-neural-solver';
const solver = new TemporalSolver({ backend: 'wasm', quantization: 'int8' });
await solver.loadModel('./model.onnx');
await solver.warmup(10);
const result = await solver.solve({ input: sensorData });
console.log(`Prediction: ${result.output}, Latency: ${result.latencyUs}us`);
Browser Deployment
import { TemporalSolver } from 'temporal-neural-solver';
const solver = new TemporalSolver({ backend: 'wasm', simd: true });
const response = await fetch('/models/classifier.onnx');
const buffer = await response.arrayBuffer();
await solver.loadModelFromBuffer(new Uint8Array(buffer));
const prediction = await solver.solve({ image: imageData });
Batch Processing Pipeline
import { TemporalSolver } from 'temporal-neural-solver';
const solver = new TemporalSolver({ threads: 4 });
await solver.loadModel('./model.onnx');
const results = await solver.solveBatch(
inputs.map(input => ({ input }))
);
console.log(`Avg latency: ${results.reduce((a, r) => a + r.latencyUs, 0) / results.length}us`);
RAN DDD Context
Bounded Context: RANO Optimization
References
- API reference: See references/commands.md
- Full README
- npm