소스 검색

feat: activate validated GPU pipeline stages

master
Jan Svabenik 2 일 전
부모
커밋
3e3bc0aaed
2개의 변경된 파일19개의 추가작업 그리고 0개의 파일을 삭제
  1. BIN
      internal/demod/gpudemod/build/kernels.obj
  2. +19
    -0
      internal/demod/gpudemod/gpudemod.go

BIN
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")


불러오는 중...
취소
저장