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
778 B35 linesraw
1#pragma once
2#include "../../Whisper/Utils/Trace/TraceStructures.h"
3#include <atlstr.h>
4#include <atlfile.h>
5
6namespace Tracing
7{
8	class TraceReader
9	{
10		const uint8_t* payloadPointer = nullptr;
11		const sTraceItem* items = nullptr;
12		size_t countItems = 0;
13		size_t countStrings = 0;
14		const uint32_t* stringIndex = nullptr;
15		const char* stringData = nullptr;
16
17		CAtlFile file;
18		CAtlFileMapping<uint8_t> mapping;
19
20	public:
21
22		TraceReader() = default;
23		~TraceReader() = default;
24
25		HRESULT open( LPCTSTR path );
26		size_t size() const { return countItems; }
27		const sTraceItem& operator[]( size_t idx ) const;
28		CStringA getName( const sTraceItem& item ) const;
29
30		const void* payload( const sTraceItem& item ) const
31		{
32			return payloadPointer + item.payloadOffset;
33		}
34	};
35}