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

KonstantinSource codes8c4603c

master
984 B48 linesraw
1#pragma once
2#include "TensorGpuViews.h"
3
4namespace DirectCompute
5{
6	class TempBuffers
7	{
8		class Buffer : public TensorGpuViews
9		{
10			size_t capacity = 0;
11
12		public:
13
14			void clear()
15			{
16				TensorGpuViews::clear();
17				capacity = 0;
18			}
19
20			HRESULT resize( DXGI_FORMAT format, size_t elements, size_t cbElement, bool zeroMemory, CComPtr<ID3D11Buffer>& cb );
21
22			size_t getCapacity() const { return capacity; }
23		};
24
25		Buffer m_fp16;
26		Buffer m_fp16_2;
27		Buffer m_fp32;
28
29	public:
30
31		CComPtr<ID3D11Buffer> smallCb;
32
33		static void zeroMemory( ID3D11UnorderedAccessView* uav, uint32_t length, CComPtr<ID3D11Buffer>& cb );
34
35		const TensorGpuViews& fp16( size_t countElements, bool zeroMemory = false );
36		const TensorGpuViews& fp16_2( size_t countElements, bool zeroMemory = false );
37		const TensorGpuViews& fp32( size_t countElements, bool zeroMemory = false );
38
39		void clear()
40		{
41			m_fp16.clear();
42			m_fp16_2.clear();
43			m_fp32.clear();
44		}
45
46		__m128i getMemoryUse() const;
47	};
48}