public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* GSoC 2021 project help
@ 2020-12-20 13:41 Adharsh Kamath
  2020-12-21 22:07 ` Martin Jambor
  0 siblings, 1 reply; 3+ messages in thread
From: Adharsh Kamath @ 2020-12-20 13:41 UTC (permalink / raw)
  To: gcc

Hi everyone
I came across the list of project ideas that were selected for GSoC 2020
and I'm interested in contributing to the project regarding the *Implementation
of OMPD in GCC, libgomp, and GDB. *
I was able to build GCC from source, as specified in the *Before you apply*
section.
Is this project going to be considered for GSoC 2021 as well?
How can I get started with this project? Can I contact the mentor who is
mentioned in the above project's description regarding this?

Thanks,
Adharsh

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: GSoC 2021 project help
  2020-12-20 13:41 GSoC 2021 project help Adharsh Kamath
@ 2020-12-21 22:07 ` Martin Jambor
  2020-12-23 22:31   ` Adharsh Kamath
  0 siblings, 1 reply; 3+ messages in thread
From: Martin Jambor @ 2020-12-21 22:07 UTC (permalink / raw)
  To: Adharsh Kamath, gcc; +Cc: Jakub Jelinek

Hi Adharsh,

I will be the GSoC organizer for GCC the next year (unless someone else
wants to be).

On Sun, Dec 20 2020, Adharsh Kamath via Gcc wrote:
> Hi everyone
> I came across the list of project ideas that were selected for GSoC 2020
> and I'm interested in contributing to the project regarding the *Implementation
> of OMPD in GCC, libgomp, and GDB. *

> Is this project going to be considered for GSoC 2021 as well?

On one hand, I am very pleased that you are interested in a GCC GSoC
program, on the other, I am worried about the project you picked because
it is very difficult.  We had a student attempting it last year, which
unfortunately failed, and in the process it became painfully clear just
how tough it was for a newcomer.

Moreover, Google has shrunk the duration of GSoC this year, making it
even more difficult to attempt such a big endeavor, and so I was not
planning to keep it in the list of proposed projects for 2021.

Having said that, if you managed to bring about some real progress with
OMPD, it would have a big impact and would indeed be very welcome, so at
least I am not dead set against considering it.  But you'll have to
convince us you really understand what you are attempting.

Do you have some rudimentary knowledge of OpenMP?  Have you looked at
the OMPD part of the standard?  Do you feel you understand what its
goals are?

> I was able to build GCC from source, as specified in the *Before you apply*
> section.

This project would not deal so much with the compiler but mainly with
the run-time OpenMP library libgomp, in the libgomp subdirectory of the
GCC git repository.  At some point you'll have to familiarize yourself
with it, so it might be a good way to start.

You can compile some simple OpenMP program with options
-fopenmp -fdump-tree-optimized
and the generated dump file should show you what the compiler did to the
OpenMP directives and what are the entry points to the run-time library
(for the pragmas used in the program).

> How can I get started with this project? Can I contact the mentor who is
> mentioned in the above project's description regarding this?

I believe you can, in fact I have CCed him on this email already.
Jakub, what are your thoughts?  Can you think of some preliminary work
for Adharsh so that he can get a taste of what he is up to, and so that
we know whether he has a good chance of completing the project?  (And
IMHO completing really means writing something substantial and useful.
The entire OMPD is simply too large, I'm afraid).

Adharsh, I do not want to discourage you.  If you still think you can
succeed after looking into the problem, please do apply, I would love
someone to help with OMPD.  But at the same time I feel I have to
caution you that the project you have picked is a hard one.

Good luck,

Martin

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: GSoC 2021 project help
  2020-12-21 22:07 ` Martin Jambor
@ 2020-12-23 22:31   ` Adharsh Kamath
  0 siblings, 0 replies; 3+ messages in thread
From: Adharsh Kamath @ 2020-12-23 22:31 UTC (permalink / raw)
  To: Martin Jambor, gcc; +Cc: jakub

Hi Martin,
Thank you very much for the detailed response.

On Tue, Dec 22, 2020 at 3:37 AM Martin Jambor <mjambor@suse.cz> wrote:
>
> Hi Adharsh,
>
> I will be the GSoC organizer for GCC the next year (unless someone else
> wants to be).
>
> On Sun, Dec 20 2020, Adharsh Kamath via Gcc wrote:
> > Hi everyone
> > I came across the list of project ideas that were selected for GSoC 2020
> > and I'm interested in contributing to the project regarding the
*Implementation
> > of OMPD in GCC, libgomp, and GDB. *
>
> > Is this project going to be considered for GSoC 2021 as well?
>
> On one hand, I am very pleased that you are interested in a GCC GSoC
> program, on the other, I am worried about the project you picked because
> it is very difficult.  We had a student attempting it last year, which
> unfortunately failed, and in the process it became painfully clear just
> how tough it was for a newcomer.

I saw the conversations from previous editions of GSoC to get a better idea
of the project and what I could do to improve on that, and they gave me a
better understanding of what is expected from this project.

> Moreover, Google has shrunk the duration of GSoC this year, making it
> even more difficult to attempt such a big endeavor, and so I was not
> planning to keep it in the list of proposed projects for 2021.
>
> Having said that, if you managed to bring about some real progress with
> OMPD, it would have a big impact and would indeed be very welcome, so at
> least I am not dead set against considering it.  But you'll have to
> convince us you really understand what you are attempting.
>
> Do you have some rudimentary knowledge of OpenMP?  Have you looked at
> the OMPD part of the standard?  Do you feel you understand what its
> goals are?

Yes. I have completed Parallel computing, and Compiler design courses at my
university and OpenMP was a major portion of the Parallel computing course.
I also did a project earlier this summer, to generate OpenMP programs for
mathematical equations.
The code and results for that project can be found here -
https://github.com/adharshkamath/Mathy-Compiler
In addition to older GSoC conversations, I read the OMPD specification in
the OpenMP specification and that gave me a clearer idea of what an OMPD
implementation should do.
From what I understood, the OMPD implementation (library) should be a
shared library that can be dlopen-ed by the debugger. This OMPD library
will provide an API that will be used by the debugger to access the state
of the OpenMP program.
However, the OMPD library itself will not access the state. Instead, it
will use functions provided by the debugger to do it.  Please correct me if
I'm wrong anywhere.

> > I was able to build GCC from source, as specified in the *Before you
apply*
> > section.
>
> This project would not deal so much with the compiler but mainly with
> the run-time OpenMP library libgomp, in the libgomp subdirectory of the
> GCC git repository.  At some point you'll have to familiarize yourself
> with it, so it might be a good way to start.

Since I had used OpenMP previously, seeing libgomp gave me a better idea
about the actual OpenMP implementation in GCC. Thank you for suggesting it.

> You can compile some simple OpenMP program with options
> -fopenmp -fdump-tree-optimized
> and the generated dump file should show you what the compiler did to the
> OpenMP directives and what are the entry points to the run-time library
> (for the pragmas used in the program).

In addition to the optimized tree, I examined other dumps like
gimple,omplower, and ompexp, which gave me an understanding of how the
compiler deals with OpenMP programs in multiple stages.

> > How can I get started with this project? Can I contact the mentor who is
> > mentioned in the above project's description regarding this?
>
> I believe you can, in fact I have CCed him on this email already.
> Jakub, what are your thoughts?  Can you think of some preliminary work
> for Adharsh so that he can get a taste of what he is up to, and so that
> we know whether he has a good chance of completing the project?  (And
> IMHO completing really means writing something substantial and useful.
> The entire OMPD is simply too large, I'm afraid).

I would love to do some preliminary work regarding this project to get a
better idea of how much I can contribute and accordingly prepare a timeline.

Thanks,
Adharsh

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-12-23 22:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-20 13:41 GSoC 2021 project help Adharsh Kamath
2020-12-21 22:07 ` Martin Jambor
2020-12-23 22:31   ` Adharsh Kamath

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).