# THESIS with CUDA

**URL:** <https://www.ruby-forum.com/t/thesis-with-cuda/233953>\
**Category:** GNU Radio\
**Created:** [January 25, 2015, 6:17pm UTC](https://www.ruby-forum.com/t/thesis-with-cuda/233953 "2015-01-25T18:17:39Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![addis\_a](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/c4cdca/32.png) [@addis\_a](https://www.ruby-forum.com/u/addis_a)\
**Post date:** [January 25, 2015, 6:17pm UTC](https://www.ruby-forum.com/t/thesis-with-cuda/233953/1 "2015-01-25T18:17:39Z")

</div>

Hi everybody,I’m a student who is completing his master degree of  
computeer engineering (now I’m at UPC-Barcelona, but before I’ve studied  
at polytechnic of Turin,Italy).For my thesis, one of my possible idea is  
to bring part of GNURADIO over CUDA(I’ve see that there are already  
different contributions/papers about it). In this way, my work won’t be  
completely useless, as lot of other thesis.In order to do this, one  
possible schedule could be:  
-do the porting of some existing blocks (or set of modules over CUDA),  
which don’t require an enviroment too much CUDA-friendly. In this way,I  
hope to get more confidence and start to have problems.-after one or two  
month, start to work above schedule(and/or similar stuffs) in order to  
avoid host-device memory transfer when there are CUDA blocks in  
cascade, and here I will get tons of problems…(for istance,tagging  
single packets could be not good for warp divergence)…there could be  
different architectural choice,like a kernel for each block,or marging  
them togheter(taking advantages from warp) and use a “dynamic”  
compilation of device code(CUDA).-other stuffs,optimizations…  
I know that some of you can tell me about OpenCL, but I didn’t have any  
experience with it, so I prefer CUDA. I want also to minimize problems  
which will arise, because surely I will gett lot of them…  
I know also that some of you will say that VOLK gives good  
performance,but why don’t allow users to get power from both?(maybe when  
you want to elaborate different signals at same time).For the moment,  
this is not my final choice about my thesis(I’ve also another proposal  
about another field, but it wil be useless after the thesis).In any  
case, I want to ask you if this could be interesting for your  
community.Also because for the moment I have only an EZCAP  
tuner(RTL2838),which is fine for tv,audio signals,etc… But probably I  
will ask to some of you if you can sniff some frequency(like 802.11) and  
give me files, in order to test the correct works also for these  
modules.I will have also different choice to do, and it could be  
interesting to hear diferent point of view.  
For the moment, thanks for your time,marco ribero

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [January 25, 2015, 6:30pm UTC](https://www.ruby-forum.com/t/thesis-with-cuda/233953/2 "2015-01-25T18:30:13Z")

</div>

Hey Marco,

good luck for your project!

FYI, there have been quite a few projects using GPPs in the past. I  
recommend going through the slides from all of the GRCons, you’ll find  
something there (at the very least from the first GRCon).  
Also, there’s gr-theano, which also uses CUDA, and for inspiration,  
having a look at gr-fosphor might be a good idea.

For high-performance GR flow graphs, the overhead for ingress/egress has  
always been the problem. If you have ideas for modifying GR itself, it  
might be worth contacting the “Accelerators” working group, which  
discusses these matters.

Cheers,  
M
