Wideband autonomous SDR analysis engine forked from sdr-visual-suite
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
Jan Svabenik 8033e14238 feat: add CUDA FIR preparation path il y a 3 jours
..
build feat: add CUDA FIR preparation path il y a 3 jours
README.md build: add CUDA demod kernel build helper il y a 3 jours
doc.go docs: add initial CUDA demod kernel source il y a 3 jours
gpudemod.go feat: add CUDA FIR preparation path il y a 3 jours
gpudemod_cufft_test.go build: wire CUDA demod package through nvcc and MSVC il y a 3 jours
gpudemod_stub.go feat: extend CUDA demod telemetry and FM kernel prep il y a 3 jours
gpudemod_test.go feat: prepare CUDA demod launch boundary il y a 3 jours
kernels.cu feat: add CUDA FIR preparation path il y a 3 jours
validation.go feat: wire CUDA freq-shift launcher il y a 3 jours
validation_test.go feat: validate CUDA freq-shift output il y a 3 jours

README.md

gpudemod

Phase 1 CUDA demod scaffolding.

Current state

  • Standard Go builds use gpudemod_stub.go (!cufft).
  • cufft builds allocate GPU buffers and cross the CGO/CUDA launch boundary.
  • If CUDA launch wrappers are not backed by compiled kernels yet, the code falls back to CPU DSP.
  • The shifted IQ path is already wired so a successful GPU freq-shift result can be copied back and reused immediately.

First real kernel

kernels.cu contains the first candidate implementation:

  • gpud_freq_shift_kernel

This is not compiled automatically yet in the current environment because the machine currently lacks a CUDA compiler toolchain in PATH (nvcc not found).

Next machine-side step

On a CUDA-capable dev machine with toolchain installed:

  1. Compile kernels.cu into an object file
    • helper script: tools/build-gpudemod-kernel.ps1
  2. Link it into the cufft build
  3. Replace gpud_launch_freq_shift(...) stub body with the real kernel launch
  4. Validate copied-back shifted IQ against dsp.FreqShift
  5. Only then move the next stage (FM discriminator) onto the GPU

Why this is still useful

The runtime/buffer/recorder/fallback structure is already in place, so once kernel compilation is available, real acceleration can be inserted without another architecture rewrite.