yum-archive/TaSTT-Whisper
High-performance GPGPU inference of OpenAI's Whisper automatic speech recognition (ASR) model
git clone https://git.yummers.dev/yum-archive/TaSTT-Whisper
8c4603c
master
1#pragma once 2#include "TensorGpuViews.h" 3 4namespace DirectCompute 5{ 6class TempBuffers 7 { 8class Buffer :public TensorGpuViews 9 { 10size_t capacity = 0 ; 11 12public : 13 14void clear () 15 { 16TensorGpuViews ::clear (); 17capacity = 0 ; 18 } 19 20HRESULT resize (DXGI_FORMAT format ,size_t elements ,size_t cbElement ,bool zeroMemory ,CComPtr < ID3D11Buffer >& cb ); 21 22size_t getCapacity ()const {return capacity ; } 23 }; 24 25Buffer m_fp16 ; 26Buffer m_fp16_2 ; 27Buffer m_fp32 ; 28 29public : 30 31CComPtr < ID3D11Buffer > smallCb ; 32 33static void zeroMemory (ID3D11UnorderedAccessView * uav ,uint32_t length ,CComPtr < ID3D11Buffer >& cb ); 34 35const TensorGpuViews & fp16 (size_t countElements ,bool zeroMemory = false ); 36const TensorGpuViews & fp16_2 (size_t countElements ,bool zeroMemory = false ); 37const TensorGpuViews & fp32 (size_t countElements ,bool zeroMemory = false ); 38 39void clear () 40 { 41m_fp16 .clear (); 42m_fp16_2 .clear (); 43m_fp32 .clear (); 44 } 45 46__m128i getMemoryUse ()const ; 47 }; 48}