Wednesday, June 4, 2025

Re: Create a GPU-based block tutorial.

Hi Josh, 
Thank you very much for the suggestion. Actually, I have a minimum experience in programming and this is my first time to create a custom GNU Radio block. Let me breakdown the procedure that I understand from the source you gave to me,
  1. Clone the gr-cuda.
  2. Install it (mkdir build, cmake.., make, and so on...)
  3. Create the the corresponding .cu file for my application 
  4. Create a new block for my application using gr-modtool.
  5. Set the io_signature to specify the custom buffer
  6. Call the kernel wrapper inside the work() function
Is this correct?

Thanks,
Eduemon

From: Josh Morman (GNU Radio) <jmorman@gnuradio.org>
Sent: Wednesday, June 4, 2025 4:49 PM
To: edwar ewer <eduatgugel@gmail.com>
Cc: discuss-gnuradio@gnu.org <discuss-gnuradio@gnu.org>
Subject: Re: Create a GPU-based block tutorial.
 
Hi Eduemon,

You may want to take a look at gr-cuda which takes advantage of the "custom buffers" feature of GNU Radio introduced in GR 3.10:

https://github.com/gnuradio/gr-cuda

This is a bare OOT but would be a good place to start adding blocks in or fork off into your own OOT.  There is a multiply_const block in there that is GPU accelerated with CUDA.

Josh

On Wed, Jun 4, 2025 at 7:42 AM edwar ewer <eduatgugel@gmail.com> wrote:
Dear GNU Radio,
Currently I am trying to create a GPU-based multiply conjugate block in GNU Radio. The purpose is the same as the regular GNU Radio multiply conjugate block, but I want to optimize the process by doing it in GPU cores. Previously, I was thinking to follow this tutorial to make it.
However, I believe that tutorial is meant to develop a CPU-based GNU Radio block. I am trying to dig the internet but could not find any clear tutorial how to develop GPU-based GNU Radio block. Could you help and enlighten with regards to the procedure of developing GPU-based GNU Radio block?
Thank you in advance.

Best regards,
Eduemon

No comments:

Post a Comment