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
