浏览代码

feat: activate validated GPU pipeline stages

master
Jan Svabenik 3 天前
父节点
当前提交
3e3bc0aaed
共有 2 个文件被更改,包括 19 次插入0 次删除
  1. 二进制
      internal/demod/gpudemod/build/kernels.obj
  2. +19
    -0
      internal/demod/gpudemod/gpudemod.go

二进制
internal/demod/gpudemod/build/kernels.obj 查看文件


+ 19
- 0
internal/demod/gpudemod/gpudemod.go 查看文件

@@ -289,24 +289,43 @@ func (e *Engine) Demod(iq []complex64, offsetHz float64, bw float64, mode DemodT
e.lastDecimUsedGPU = false
inputRate := e.sampleRate / decim

e.lastDemodUsedGPU = false
switch mode {
case DemodNFM:
if gpuAudio, ok := e.tryCUDAFMDiscrim(dec); ok {
e.lastDemodUsedGPU = true
return gpuAudio, inputRate, nil
}
return demod.NFM{}.Demod(dec, inputRate), inputRate, nil
case DemodWFM:
if gpuAudio, ok := e.tryCUDAFMDiscrim(dec); ok {
e.lastDemodUsedGPU = true
return gpuAudio, inputRate, nil
}
return demod.WFM{}.Demod(dec, inputRate), inputRate, nil
case DemodAM:
if gpuAudio, ok := e.tryCUDAAMEnvelope(dec); ok {
e.lastDemodUsedGPU = true
return gpuAudio, inputRate, nil
}
return demod.AM{}.Demod(dec, inputRate), inputRate, nil
case DemodUSB:
if gpuAudio, ok := e.tryCUDASSBProduct(dec, 700.0); ok {
e.lastDemodUsedGPU = true
return gpuAudio, inputRate, nil
}
return demod.USB{}.Demod(dec, inputRate), inputRate, nil
case DemodLSB:
if gpuAudio, ok := e.tryCUDASSBProduct(dec, -700.0); ok {
e.lastDemodUsedGPU = true
return gpuAudio, inputRate, nil
}
return demod.LSB{}.Demod(dec, inputRate), inputRate, nil
case DemodCW:
if gpuAudio, ok := e.tryCUDASSBProduct(dec, 700.0); ok {
e.lastDemodUsedGPU = true
return gpuAudio, inputRate, nil
}
return demod.CW{}.Demod(dec, inputRate), inputRate, nil
default:
return nil, 0, errors.New("unsupported demod type")


正在加载...
取消
保存