UNPKG

@hoff97/tensor-js

Version:

PyTorch like deep learning inferrence library

45 lines (44 loc) 1.44 kB
import REGL, { Framebuffer2D, Regl } from 'regl'; import { OrderedDict } from '../../util/datastructs/types'; import { DTypeGpu } from './interface'; export interface MemoryEntry { width: number; height: number; size: number; frameBuffer: Framebuffer2D; dtype: DTypeGpu; id: number; } export interface Size { width: number; height: number; } export declare const colorType: { float32: string; float16: string; int32: string; int16: string; int8: string; uint32: string; uint16: string; uint8: string; }; export declare class GPUMemoryAllocator { private orderedDictConstructor; private trees; private entryId; private regl; private maxSizeFactor; totalAllocations: number; constructor(regl: Regl, orderedDictConstructor: () => OrderedDict<number, MemoryEntry>, maxSizeFactor?: number); getColorType(dtype: DTypeGpu): string; dtypeGroup(dtype: DTypeGpu): "float32" | "float16"; allocate(size: number, dtype: DTypeGpu): MemoryEntry; getAllocationDimensions(size: number, dtype: DTypeGpu): Size; deallocate(entry: MemoryEntry): void; allocateTexture(values: number[], dtype: DTypeGpu): MemoryEntry; allocateOfDimensions(width: number, height: number, dtype: DTypeGpu): MemoryEntry; allocateFramebuffer(texture: REGL.Texture2D, dtype: DTypeGpu): MemoryEntry; private getTextureDims; getNumEntries(): number; }