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

yumFix audio normalization5929750

master
57 files

files

ComputeShaders.cpp27 B
ComputeShaders.vcxproj9.5 KiB
ComputeShaders.vcxproj.filters2.7 KiB
Readme.txt759 B
add.hlsl99 B
addInPlace.hlsl929 B
addRepeat.hlsl1.9 KiB
addRepeat64.hlsl44 B
addRepeatEx.hlsl2.3 KiB
addRepeatGelu.hlsl2.5 KiB
addRepeatGelu64.hlsl48 B
addRepeatScale.hlsl2.0 KiB
addRows.hlsl1.2 KiB
componentwiseBinaryOp.hlsli1.1 KiB
convolutionMain.hlsl1.8 KiB
convolutionMain2.hlsl1.7 KiB
convolutionMain2Fixed.hlsl3.2 KiB
convolutionPrep1.hlsl978 B
convolutionPrep2.hlsl1020 B
copyConvert.hlsl1.3 KiB
copyTranspose.hlsl1.6 KiB
diagMaskInf.hlsl806 B
flashAttention.hlsl4.1 KiB
flashAttentionCommon.hlsli1.8 KiB
flashAttentionCompat1.hlsl3.0 KiB
flashAttentionCompat2.hlsl2.8 KiB
flashAttentionCompat3.hlsl2.9 KiB
fmaRepeat1.hlsl2.2 KiB
fmaRepeat164.hlsl45 B
fmaRepeat2.hlsl1.5 KiB
fp64Utils.hlsli894 B
groupReduce.hlsli3.7 KiB
groupReduce64.hlsli1.3 KiB
matReshapePanels.hlsl3.1 KiB
miscUtils.hlsli2.2 KiB
mulMatByRow.hlsl1.3 KiB
mulMatByRow64.hlsl2.6 KiB
mulMatByRowTiled.hlsl5.3 KiB
mulMatByRowTiledEx.hlsl3.7 KiB
mulMatByScalar.hlsl1.1 KiB
mulMatDotMain.hlsl2.6 KiB
mulMatDotReshape.hlsl933 B
mulMatMadMain.hlsl4.2 KiB
mulMatTiled.hlsl8.8 KiB
mulMatTiledEx.hlsl6.7 KiB
norm.hlsl2.1 KiB
normCompat.hlsl2.0 KiB
normFixed.hlsl3.2 KiB
normFixed64.hlsl44 B
repeatUtils.hlsli811 B
scaleInPlace.hlsl531 B
softMax.hlsl2.4 KiB
softMax64.hlsl42 B
softMaxCompat.hlsl1.2 KiB
softMaxFixed.hlsl2.1 KiB
softMaxLong.hlsl302 B
zeroMemory.hlsl764 B
This project compiles all the compute shaders which implement the model.

Many shaders come in 2 versions, something.hlsl and something64.hlsl

The version with the `64` suffix is used on AMD GPUs, the version without suffix is used on nVidia and Intel GPUs.

Not all of these shaders are actually used for anything.
Some of them are implementing binary compatibility for the reference CPU version, and not used unless messing with the `constexpr` flags in MlContext C++ class.
Such shaders often require FP64 support, which is an optional feature in D3D11.
CompressShaders tool detects such shaders by looking at the SFI0 chunk in the binary, and outputs a bitmap of the FP64 shaders.
This way, missing FP64 hardware support shouldn’t break the library.