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