mirror of
https://github.com/ruvnet/RuView
synced 2026-06-09 10:13:17 +00:00
4b1005524e
- Add 154 missing vendor files (gitignore was filtering them) - vendor/midstream: 564 files (was 561) - vendor/sublinear-time-solver: 1190 files (was 1039) - Add ESP32 edge processing (ADR-039): presence, vitals, fall detection - Add WASM programmable sensing (ADR-040/041) with wasm3 runtime - Add firmware CI workflow (.github/workflows/firmware-ci.yml) - Add wifi-densepose-wasm-edge crate for edge WASM modules - Update sensing server, provision.py, UI components Co-Authored-By: claude-flow <ruv@ruv.net>
65 lines
2.0 KiB
TypeScript
65 lines
2.0 KiB
TypeScript
/**
|
|
* Optimized solver implementation with memory-efficient algorithms
|
|
* Integrates all optimization components for maximum performance
|
|
*/
|
|
import { Matrix, Vector, SolverConfig, SolverResult } from './types.js';
|
|
import { MemoryProfile } from './memory-manager.js';
|
|
export interface OptimizedSolverConfig extends SolverConfig {
|
|
memoryOptimization: {
|
|
enablePooling: boolean;
|
|
enableStreaming: boolean;
|
|
streamingThreshold: number;
|
|
maxCacheSize: number;
|
|
};
|
|
performance: {
|
|
enableVectorization: boolean;
|
|
enableBlocking: boolean;
|
|
autoTuning: boolean;
|
|
parallelization: boolean;
|
|
};
|
|
adaptiveAlgorithms: {
|
|
enabled: boolean;
|
|
switchThreshold: number;
|
|
memoryPressureThreshold: number;
|
|
};
|
|
}
|
|
export interface OptimizedSolverResult extends SolverResult {
|
|
optimizationStats: {
|
|
memoryReduction: number;
|
|
cacheHitRate: number;
|
|
vectorizationEfficiency: number;
|
|
algorithmsSwitched: number;
|
|
};
|
|
memoryProfile: MemoryProfile;
|
|
recommendations: string[];
|
|
}
|
|
export declare class OptimizedSublinearSolver {
|
|
private config;
|
|
private csrMatrix?;
|
|
private optimizationHints;
|
|
private benchmarkInstance;
|
|
private autoTunedParams?;
|
|
constructor(config?: Partial<OptimizedSolverConfig>);
|
|
private mergeDefaultConfig;
|
|
solve(matrix: Matrix, vector: Vector): Promise<OptimizedSolverResult>;
|
|
private preprocessMatrix;
|
|
private estimateMatrixMemory;
|
|
private selectOptimalAlgorithm;
|
|
private executeSolve;
|
|
private solveVectorizedNeumann;
|
|
private solveBlockedNeumann;
|
|
private solveStreamingNeumann;
|
|
private solveParallelNeumann;
|
|
private calculateOptimizationStats;
|
|
private generateRecommendations;
|
|
runBenchmark(matrices: Matrix[], vectors: Vector[]): Promise<{
|
|
results: OptimizedSolverResult[];
|
|
comparison: {
|
|
averageSpeedup: number;
|
|
averageMemoryReduction: number;
|
|
recommendedConfig: Partial<OptimizedSolverConfig>;
|
|
};
|
|
}>;
|
|
cleanup(): void;
|
|
}
|