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
865 B31 linesraw
1#include "stdafx.h"
2#include "TraceStructures.h"
3using namespace Tracing;
4
5uint64_t sTraceItem::buffer( uint64_t off, size_t length, eDataType type )
6{
7	payloadOffset = off;
8	payloadSize = length * DirectCompute::elementSize( type );
9	*(uint64_t*)( &size[ 0 ] ) = length;
10	*(uint64_t*)( &size[ 2 ] ) = 0;
11	_mm_storeu_si128( ( __m128i* )stride.data(), _mm_setzero_si128() );
12	itemType = eItemType::Buffer;
13	dataType = type;
14	return payloadSize;
15}
16
17uint64_t sTraceItem::tensor( uint64_t off, __m128i ne, __m128i nb, eDataType type )
18{
19	payloadOffset = off;
20	_mm_storeu_si128( ( __m128i* )size.data(), ne );
21	_mm_storeu_si128( ( __m128i* )stride.data(), nb );
22	uint64_t count = 1;
23	for( uint32_t i : size )
24		if( i != 0 )
25			count *= i;
26
27	payloadSize = count * DirectCompute::elementSize( type );
28	itemType = eItemType::Tensor;
29	dataType = type;
30	return payloadSize;
31}