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) <[email protected]>
Sent: Wednesday, June 4, 2025 4:49 PM
To: edwar ewer <[email protected]>
Cc: [email protected] <[email protected]>
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 
<[email protected]<mailto:[email protected]>> 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.
https://wiki.gnuradio.org/index.php?title=Creating_C%2B%2B_OOT_with_gr-modtool
Creating C++ OOT with gr-modtool - GNU 
Radio<https://wiki.gnuradio.org/index.php?title=Creating_C%2B%2B_OOT_with_gr-modtool>
This tutorial describes how to create a custom C++ block and use it in a 
flowgraph: Create a new C++ block using gr_modtool; Modify the C++ .h and .cc 
code so the block will function
wiki.gnuradio.org<http://wiki.gnuradio.org>

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

Reply via email to