@tensorflow/tfjs-core
Version:
Hardware-accelerated JavaScript library for machine intelligence
29 lines (28 loc) • 1.26 kB
TypeScript
import { Tensor } from '../../tensor';
import { GPGPUContext } from './gpgpu_context';
import { ShapeInfo } from './shader_compiler';
import { TextureData } from './tex_util';
export interface GPGPUProgram {
variableNames: string[];
outputShape: number[];
userCode: string;
supportsBroadcasting?: boolean;
}
export interface GPGPUBinary {
webGLProgram: WebGLProgram;
program: GPGPUProgram;
uniformLocations: {
[name: string]: WebGLUniformLocation;
};
gpgpu: GPGPUContext;
source: string;
inShapeInfos: ShapeInfo[];
outShapeInfo: ShapeInfo;
}
export interface TensorData<T extends Tensor> {
tensor: T;
texData: TextureData;
}
export declare function compileProgram<T extends Tensor, K extends Tensor>(gpgpu: GPGPUContext, program: GPGPUProgram, inputs: Array<TensorData<T>>, output: TensorData<K>): GPGPUBinary;
export declare function runProgram<T extends Tensor, K extends Tensor>(binary: GPGPUBinary, inputs: Array<TensorData<T>>, output: TensorData<K>, customSetup?: (gpgpu: GPGPUContext, webGLProgram: WebGLProgram) => void): void;
export declare function makeShaderKey(program: GPGPUProgram, inputs: Array<TensorData<Tensor>>, output: TensorData<Tensor>): string;