That looks roughly correct - it's been a long time since I have worked with
this repo.

I would suggest, however, if this is your first time creating custom GNU
Radio blocks to follow the tutorials for non-GPU accelerated blocks.  Get
used to the workflow, and the additional steps for adding CUDA processing
will probably create less complication.  We have a comprehensive set of
tutorials here that should be useful:

https://wiki.gnuradio.org/index.php/Tutorials


Josh

On Wed, Jun 4, 2025 at 10:16 AM edwar ewer <eduatgu...@gmail.com> wrote:

> 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) <jmor...@gnuradio.org>
> *Sent:* Wednesday, June 4, 2025 4:49 PM
> *To:* edwar ewer <eduatgu...@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 <eduatgu...@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.
>
> 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
> **
> 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