Hi Harshit,
some more comments on your proposal.
- be really specific about GR integration
- explain WHAT you want to implement.
- explain HOW you want to implement it.
- show us how you understand FECAPI.
- explain how you want to build on existing LDPC code in GR.
your deliverables are too vague. Tell us what you want to achieve. You
want to implement a fast decoder, but you state you want to implement it
mainly in Python. Also, you want to integrate your encoder/decoder into
the FECAPI, which is a C++ API. You want to optimize your decoder with
specific tools. Show us how you want to use those tools. Also, how do
those tools fit into GR? And thus into your project.
Your timeline lacks measurable milestones. Also, keep in mind "It's the
summer of CODE, not the summer of RESEARCH" (by Marcus Müller).
You want to focus on 5G LDPC codes. I'd recommend to go through the
standard docs and map the description there to your LDPC theory.
Cheers
Johannes
On 25.03.2018 06:43, Harshit Gupta wrote:
Greetings,
Thanks Demel for the detailed feedback. I have updated most of the
parts. Please have a look [0] and report for any ambiguity.
[0]
https://github.com/harshit4084/MyDoc/blob/master/gsoc2018_Harshit_Gupta.pdf
<https://rb.tc/344QC#https://github.com/harshit4084/MyDoc/blob/master/gsoc2018_Harshit_Gupta.pdf>
Best Regards,
Harshit Gupta
On Fri, Mar 23, 2018 at 10:06 AM, Johannes Demel
<de...@ant.uni-bremen.de <mailto:de...@ant.uni-bremen.de>> wrote:
Hi Harshit,
I read your proposal and I have quite a few suggestions for improvement.
General remarks
Your references must be updated. They do not point to the actual
sources but some general landing page. Also, I found at least one
reference that points to an incorrect source.
Introduction
This section needs to be better structured. Give a brief analysis of
the current state and what you want to achieve.
e.g.: current GR codes. Why use LDPC? 5G standard. Overall goal.
Features
here you need to clearly state what you want to do. Which codes?
What should they achieve? Tools? Language?
LDPC code theory [missing]
Discuss how LDPC codes are defined. This includes a short discussion
on Gallager's and MacKay's work. Discuss how Tanner graphs work.
Discuss known decoder algorithm.
Also: http://www.inference.org.uk/mackay/codes/data.html
<http://www.inference.org.uk/mackay/codes/data.html>
Workflow
Discuss the `gr-fec` interface for encoder and decoder objects. You
want to integrate your work into GNU Radio. Show us how you want to
achieve this. And show us that you worked through the FECAPI.
From theory to practice:
- Start with generic implementation of LDPC codes (Python?)
- Work through 5G standard to learn the complete code space.
- Start with one code and implement it in C++.
- Discuss how you want to ensure code quality. i.e. unittests.
You mention a GUI. I'd argue a GUI would be a distraction from your
actual goal.
Deliverables
It is a difficult task to implement and optimize one code. Focus on
LDPC codes. Drop the Turbo Code part. Also, be way more specific
here. What will be the outcome of your project? Think of it in terms
of milestones.
Discuss which parts you want to implement how. Python/C++. Also,
discuss SIMD if you want to use this. There are quite a few
different approaches. OpenMP, AVX/SSE, Neon, etc. How are they
related to Python/C++?
This section should be accompanied by a detailed timeline. At least
what you want to achieve each week. Show us how you envision your
progress and what you want to do. Show us that you put some thought
into this.
Start with your timeline from now on. Show us how you want to become
part of our community.
Implementation
Create your own figures. Show us how you understand things.
There are good LaTeX tools to create Listings with C++ highlighting.
Use them for your code example. So far your code example is very
vague. I'd suggest you show us how you would implement a LDPC node.
Or something similar.
Keep in mind GNU Radio does generally target CPUs. Thus, your GPU
implementation part seems to be out of place. Unless, you want to
implement LDPC codes on GPUs. In this case discuss the technologies
you want to use. And also, how do you want to integrate your work
into GNU Radio in this case? I'd suggest to go for a CPU
implementation, though.
Do not copy code from other sources. Also, please do not copypasta
equations into your proposal from other sources. Show us that you
understand what you are talking about and make your proposal
consistent. These suggestions apply to `algorithm 1` as well.
3GPP 5G/Release 15 discussion
Do not copy parts of the standard. Discuss the specifics of the LDPC
codes in the standard and how they work. What are ptifalls?
simplifications?
License
Do you want to publish all your code under GPLv3? Then state this.
Also, discuss if you want to create an OOT or you want to merge your
code into the main GNU Radio project. This would require a CLA I guess.
Your background
Please give us a short CV here and discuss your previous experience.
All in all, I'm happy you want to pick up this project.
Cheers
Johannes
On 22.03.2018 22:42, Harshit Gupta wrote:
Greeting Mr Muller and community,
I have made improvement in the proposal. Have a glimpse of it,
Some queries:
What exactly should I include in 'Implementation'? I have put
generic decoder code and sample code for optimal
implementation of FEC codes.
What can be the outcome of a specific process?
Link to my git repo for proposal is [0].
[0]
https://github.com/harshit4084/MyDoc/blob/master/gsoc2018_Harshit_Gupta.pdf
<https://github.com/harshit4084/MyDoc/blob/master/gsoc2018_Harshit_Gupta.pdf>
<https://rb.tc/33Z7W#https://github.com/harshit4084/MyDoc/blob/master/gsoc2018_Harshit_Gupta.pdf
<https://rb.tc/33Z7W#https://github.com/harshit4084/MyDoc/blob/master/gsoc2018_Harshit_Gupta.pdf>>
On Thu, Mar 22, 2018 at 8:01 PM, Müller, Marcus (CEL)
<muel...@kit.edu <mailto:muel...@kit.edu>
<mailto:muel...@kit.edu <mailto:muel...@kit.edu>>> wrote:
Hi Harshit Gupta,
thanks for showing up and being interested in GNU Radio!
I'm very happy that someone with an information theory
background
decided to give channel code implementations a try.
From a quick scan of the proposal, I'd say that you have
not adhered to
all the mandatory things on our GSoCStudentInfo wiki page;
doing so is
mandatory, so please make sure to really check of *all* the
items on
that list, or your proposal might simply not be eligible.
I'm missing a bit on your personal experience and
background. You
really don't seem to follow the "Background on yourself"
section on the
aforementioned Wiki page at all. Is this the first time you're
implementing channel codes or using C++, do you have
experience in
optimizing existing code? Can you show us code you've
written? I'm
really excited about all the cool stuff that we could do if
you did
your GSoC on this, but we need to know who we're dealing
with, and what
the skills are that you bring to this very challenging
proposal.
You cite a lot from two papers, which is very fine by me,
but doesn't
really allow myself to understand what part you're
expecting to have to
implement yourself, and what part is existing code? If I
understand
your proposal correctly, you aim to do all en- and decoding
on GPU, not
CPU, which is cool, but also raises the question of your
experience in
that field, and access to hardware you have.
From an aesthetic point of view, the citing/copying from
different
sources doesn't really make for a consistent flow while
reading. This
isn't top priority, but you might want to get your proposal
as nice as
you would want a job application to be by the moment you
finally upload
it.
Best regards,
Marcus
On Thu, 2018-03-22 at 19:06 +0000, Harshit Gupta wrote:
> Greetings,
>
> My name is Harshit Gupta, graduated in Electrical
Engineering. Currently pursuing masters from Indian Institute of
Technology, Delhi. Having studied information theory in my
post-graduate coursework, I can understand FEC codes in a better
manner. I want to contribute to GNU Radio with my coding skills
and knowledge of channel coding.
> I am very interested to work on FEC decoders
particularly starting from LDPC decoders. GNU Radio would
benefit from these integrations.
>
> The gr-fec API by GNU is an implementation of a few
channel coding techniques but are quite slow to be used in high
throughput applications. The current issue is to use
standardized decoders in the coding techniques to make gr-fec
API suitable for high-performance applications and integrate it
with GNU radio.
>
> I went through some recent research paper like in
QPP-Block-LDPC Codes which proposes new approaches to implement
the existing codes. The relevant list can be found here[1].
>
> I went through gr::fec::code::cc_encoder Class and
gr::fec::code::ccsds_encoder, which implements the above code
that is more highly optimized for specific settings (rate 1/2,
K=7, and polynomials [109, 79]).
>
> Also, I went through the application of LDPC. It seems 5G
will greatly benefit from fast LDPC code. A project on fast
implementation of LDPC code will be a good experience. I
searched through 3GPP 38 series of documents [2] and found the
used LDPC algorithm.
> I have listed out steps for optimal implementation.
>
> My queries are:
> 1. what kind of generic code for decoder I should add in
my proposal?
> 2.Please look at my draft proposal[3]. Is there any
redundant information?
> 3. Fast LDPC decoder and optimal implementation of 3GPP
used LDPC codes Both are good but which to choose?
>
>
> Deadline is quite near. Hence I am diligently working on
the proposal
>
> Links:
> [1] http://aff3ct.github.io/hof_ldpc.html
<http://aff3ct.github.io/hof_ldpc.html>
<http://aff3ct.github.io/hof_ldpc.html
<http://aff3ct.github.io/hof_ldpc.html>>
> [2] http://www.3gpp.org/DynaReport/38-series.htm
<http://www.3gpp.org/DynaReport/38-series.htm>
<http://www.3gpp.org/DynaReport/38-series.htm
<http://www.3gpp.org/DynaReport/38-series.htm>>
> [3]
https://github.com/harshit4084/MyDoc/blob/master/gsoc2018_Harshit_Gupta.pdf
<https://github.com/harshit4084/MyDoc/blob/master/gsoc2018_Harshit_Gupta.pdf>
<https://github.com/harshit4084/MyDoc/blob/master/gsoc2018_Harshit_Gupta.pdf
<https://github.com/harshit4084/MyDoc/blob/master/gsoc2018_Harshit_Gupta.pdf>>
>
>
> .
>
> Thank you,
> Harshit Gupta
>
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
<mailto:Discuss-gnuradio@gnu.org>
<mailto:Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org>>
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
<https://lists.gnu.org/mailman/listinfo/discuss-gnuradio>
<https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
<https://lists.gnu.org/mailman/listinfo/discuss-gnuradio>>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org>
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
<https://lists.gnu.org/mailman/listinfo/discuss-gnuradio>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org>
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
<https://lists.gnu.org/mailman/listinfo/discuss-gnuradio>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio