discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Google Summer of Code 2014 applicant : Optimizati


From: West, Nathan
Subject: Re: [Discuss-gnuradio] Google Summer of Code 2014 applicant : Optimization with VOLK
Date: Sun, 23 Feb 2014 23:15:16 -0600

On Sun, Feb 23, 2014 at 12:52 AM, Abhishek Bhowmick
<address@hidden> wrote:
> Hello,
> I have completed a Bachelor's degree in Electrical Engineering from IIT
> Bombay, India and will be joining a masters program in Computer Science in
> August. For the summer, I am interested in participating GSoC 2014 and GNU
> Radio is an organization where my background fits nicely.
>
> I went through the ideas page and was particularly interested in doing
> performance optimization with VOLK.

Great to hear. Just keep in mind we have another ~13 hours before we
as an organization
know whether we were accepted or not.

> After going through some online
> documentation about the library and the SDR'12 paper, I realised that
> following areas need work :
> 1. Profiling GNU radio code to identify new kernels and implement them for
> existing Intel SIMD extensions, also porting kernels to other ISA
> extensions.
> 2. Better testing of the effects of more complex scheduler logic on larger
> environments (beyond simple kernels)
> 3. Exploring extension of Volk to GPU ISAs, to leverage chips such as AMD
> Fusion (However, this seems to more research than software development)
>
> According to the GSoC proposal, point (1) seems to be the expectation. Given
> this, I would like some advice on how to go ahead looking for potential
> ideas (and some feedback on feasibility of the other ideas as well)
>
> My background : C++, Python, Signal Processing, Computer Architecture
>
> Thanks,
> Abhishek Bhowmick
>

Abhishek,

Right, so points 1 and 2 are what I had in mind when I wrote the idea
on our list. Point 3
is technically possible to do in VOLK, but probably not really worth
using GPUs in this way
since the transport costs would dwarf any acceleration from the
current VOLK kernel. That said,
there's nothing really wrong with a proposal that is on a research
area, but I do think we would want
code and something contributed back to the community at the end of the
project. Also, don't let that
prevent you from submitting a proposal about GPU programming if that's
what you're interested in, it's
probably just not best targeted for VOLK. My understanding of GSoC
proposals is that you can submit
any number,so you can submit one for doing some GPU acceleration and
another for something more
related to VOLK.

So for points 1 and 2 it would be good to see a specific algorithm or
module that you think would
benefit from moving to VOLK, which would take some research on your
part. I think gr-atsc is a
good place to look for some acceleration gains, and it would be good
to see that application run
real time. One of the things I had in mind is accelerating OFDM frame
sync. Martin's ofdm_{rx,tx}
and gr-80211 are good examples where they use blocks that have VOLK
kernels in them to do the
sync, but that's somewhat inefficient because we move data in and out
of SIMD registers. Of course
there's the old trade-off of modularization and code re-use vs. speed.
I'd be glad to discuss this and
similar ideas more once we know we are accepted as an org. There's one
more possibility that recently
came up, but I'd like to wait until things are official before
recommending it (and I'll need to talk with
other interested parties).

At the moment the only mainstream ISA not being targeted is probably
AVX2, which has
some nice features for the type of kernels we're doing.  If you went
that route it would likely need add
protokernels to a pretty large number of kernels.

Nathan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]