Monday, March 26, 2018

Re: [Discuss-gnuradio] [GSoC2018][Standard FEC Decoders][Need Feedback]

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
> <demel@ant.uni-bremen.de <mailto:demel@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)
> <mueller@kit.edu <mailto:mueller@kit.edu>
> <mailto:mueller@kit.edu <mailto:mueller@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

No comments:

Post a Comment