public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* GSoC OMPD
@ 2019-04-01 19:05 Bryan Carroll
  2019-04-03 19:17 ` Bryan Carroll
  0 siblings, 1 reply; 5+ messages in thread
From: Bryan Carroll @ 2019-04-01 19:05 UTC (permalink / raw)
  To: gcc

Hi,

My name is Bryan Carroll and I'm a M.S. student in the Applied
Mathematics and Computer Science program at University of Central
Oklahoma. I'm interested in the OpenMP and GDB debugger project.

A little bit about myself: I've been programming for about 6 years,
the majority of those years in C++ or C. Last year I started learning
about parallelization. I taught myself MPI and recently started
learning OpenMP. I have some experience with compiling - I'm taking a
Progamming Languages class right now.  The final project is an
assembler.

I know how to debug programs. However, I don't really know much about
how debuggers work. I also don't really know about how OpenMP works
underneath the directives. I very much want to learn about these
topics. I'm very much willing to learn and think I could be of help to
this project.

What I'd like to know and discuss: What other pre-requisites are there
other than those listed on the GNU GSoC page? Also what would the
goals and timeline look like?

Thank you for your time,

Bryan Carroll
M.S. at University of Central Oklahoma

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

* Re: GSoC OMPD
  2019-04-01 19:05 GSoC OMPD Bryan Carroll
@ 2019-04-03 19:17 ` Bryan Carroll
  2019-04-04 12:24   ` Martin Jambor
  0 siblings, 1 reply; 5+ messages in thread
From: Bryan Carroll @ 2019-04-03 19:17 UTC (permalink / raw)
  To: gcc

Hi,

I know my first email is vague. I wanted to throw it out there since
the April 9th deadline is coming up. So far, I've built gcc several
times. I downloaded the gcc source code. Also I compiled a program
with the -fdump options and looked through the files. I've been using
gcc for a few years now for projects.. If you think that OMPD will too
much for a first time GCC developer, I'm willing to try for a
different project.

Thank you,
Bryan Carroll

On Mon, Apr 1, 2019 at 2:05 PM Bryan Carroll <bcarroll1@uco.edu> wrote:
>
> Hi,
>
> My name is Bryan Carroll and I'm a M.S. student in the Applied
> Mathematics and Computer Science program at University of Central
> Oklahoma. I'm interested in the OpenMP and GDB debugger project.
>
> A little bit about myself: I've been programming for about 6 years,
> the majority of those years in C++ or C. Last year I started learning
> about parallelization. I taught myself MPI and recently started
> learning OpenMP. I have some experience with compiling - I'm taking a
> Progamming Languages class right now.  The final project is an
> assembler.
>
> I know how to debug programs. However, I don't really know much about
> how debuggers work. I also don't really know about how OpenMP works
> underneath the directives. I very much want to learn about these
> topics. I'm very much willing to learn and think I could be of help to
> this project.
>
> What I'd like to know and discuss: What other pre-requisites are there
> other than those listed on the GNU GSoC page? Also what would the
> goals and timeline look like?
>
> Thank you for your time,
>
> Bryan Carroll
> M.S. at University of Central Oklahoma

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

* Re: GSoC OMPD
  2019-04-03 19:17 ` Bryan Carroll
@ 2019-04-04 12:24   ` Martin Jambor
  2019-04-04 14:22     ` Jeff Law
  2019-04-08 13:45     ` Jakub Jelinek
  0 siblings, 2 replies; 5+ messages in thread
From: Martin Jambor @ 2019-04-04 12:24 UTC (permalink / raw)
  To: Bryan Carroll, gcc; +Cc: Jakub Jelinek, Jan Hubicka

Hello Bryan,

On Wed, Apr 03 2019, Bryan Carroll wrote:
> Hi,
>
> I know my first email is vague. I wanted to throw it out there since
> the April 9th deadline is coming up.

I was hoping Jakub Jelinek, who would be the mentor, would chime in
earlier.  But unfortunately he has probably not been online in the past
few days.  (And I admit I struggle a little bit to answer all GSoC email
in a timely manner this week too).

> So far, I've built gcc several
> times. I downloaded the gcc source code. Also I compiled a program
> with the -fdump options and looked through the files.

Good.

> I've been using
> gcc for a few years now for projects.. If you think that OMPD will too
> much for a first time GCC developer, I'm willing to try for a
> different project.

More on OMPD below.  If you have not worked with OpenMP internals
before, OMPD is probably going to be a steep uphill struggle, even
drafting the proposal given how much time is left.  I believe the
"Bypass assembler when generating LTO object files" is much easier for a
complete newcomer (and so far other students showed little interest in
it).  You can try reaching out to Honza Hubicka (CCed) for further
guidelines (but remember to read the info on wiki including the linked
old patch).

>
> On Mon, Apr 1, 2019 at 2:05 PM Bryan Carroll <bcarroll1@uco.edu> wrote:
>>
>> Hi,
>>
>> My name is Bryan Carroll and I'm a M.S. student in the Applied
>> Mathematics and Computer Science program at University of Central
>> Oklahoma. I'm interested in the OpenMP and GDB debugger project.
>>
>> A little bit about myself: I've been programming for about 6 years,
>> the majority of those years in C++ or C. Last year I started learning
>> about parallelization. I taught myself MPI and recently started
>> learning OpenMP. I have some experience with compiling - I'm taking a
>> Progamming Languages class right now.  The final project is an
>> assembler.
>>
>> I know how to debug programs. However, I don't really know much about
>> how debuggers work. I also don't really know about how OpenMP works
>> underneath the directives. I very much want to learn about these
>> topics. I'm very much willing to learn and think I could be of help to
>> this project.
>>
>> What I'd like to know and discuss: What other pre-requisites are there
>> other than those listed on the GNU GSoC page?

First and foremost, you'd need to read through and reasonably understand
the OMPD specification, which is in Chapter 5 of

https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-5.0.pdf

Then you would need to have some knowledge of how GCC handles OpenMP
programs (compile a simple one with -fdump-tree-all and look at the
dumps) and especially how the run-times work.  The run-time is in
subdirectory libgomp of the GCC source repository, you can start by
finding an entry point that interests you (that you can find for example
in the aforementioned dumps) and then just keep reading.  But there is a
fair amount to read.

I must say I myself do not know what GDB background would be necessary.
But probably just following the spec would be more than enough for a
GSoC projet.

>>Also what would the goals and timeline look like?

For this, especially the timeline, we probably need Jakub's input.  The
goal would be to implement a substantial portion of the spec, but I
cannot quickly provide any guidance about how time consuming different
parts are likely to be.

Good luck,

Martin

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

* Re: GSoC OMPD
  2019-04-04 12:24   ` Martin Jambor
@ 2019-04-04 14:22     ` Jeff Law
  2019-04-08 13:45     ` Jakub Jelinek
  1 sibling, 0 replies; 5+ messages in thread
From: Jeff Law @ 2019-04-04 14:22 UTC (permalink / raw)
  To: Martin Jambor, Bryan Carroll, gcc; +Cc: Jakub Jelinek, Jan Hubicka

On 4/4/19 6:24 AM, Martin Jambor wrote:
> Hello Bryan,
> 
> On Wed, Apr 03 2019, Bryan Carroll wrote:
>> Hi,
>>
>> I know my first email is vague. I wanted to throw it out there since
>> the April 9th deadline is coming up.
> 
> I was hoping Jakub Jelinek, who would be the mentor, would chime in
> earlier.  But unfortunately he has probably not been online in the past
> few days.  (And I admit I struggle a little bit to answer all GSoC email
> in a timely manner this week too).
Jakub is on PTO this week.  He'll be back in the office Monday.

jeff

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

* Re: GSoC OMPD
  2019-04-04 12:24   ` Martin Jambor
  2019-04-04 14:22     ` Jeff Law
@ 2019-04-08 13:45     ` Jakub Jelinek
  1 sibling, 0 replies; 5+ messages in thread
From: Jakub Jelinek @ 2019-04-08 13:45 UTC (permalink / raw)
  To: Bryan Carroll, Martin Jambor, Kevin Buettner; +Cc: gcc, Jan Hubicka

On Thu, Apr 04, 2019 at 02:24:09PM +0200, Martin Jambor wrote:
> > I know my first email is vague. I wanted to throw it out there since
> > the April 9th deadline is coming up.
> 
> I was hoping Jakub Jelinek, who would be the mentor, would chime in
> earlier.  But unfortunately he has probably not been online in the past
> few days.  (And I admit I struggle a little bit to answer all GSoC email
> in a timely manner this week too).

Sorry, I've been on vacation last week.

> >>Also what would the goals and timeline look like?
> 
> For this, especially the timeline, we probably need Jakub's input.  The
> goal would be to implement a substantial portion of the spec, but I
> cannot quickly provide any guidance about how time consuming different
> parts are likely to be.

It doesn't have to be a full OMPD spec implementation in the end, a major
portion thereof might be enough, it needs to be usable, on the other side
doesn't necessarily mean also writing GDB support to use that; it would be
nice to be in touch with some GDB folks (CCed Kevin) and discuss the
implementation with them too.
Likely no changes on the compiler side should be needed, as few changes in
libgomp.so.1 as possible (the goal is not to slow down the runtime if
possible, if not possible at least minimize the slow down and if possible
make it conditional on the process being actually OMPD debugged) and most of
it would be writing a new shared library with the OMPD APIs that a debugger
or similar tool can dlopen and use.  Ideally the OMPD shared library would
use https://infinitynotes.org/wiki/Infinity to communicate structure offsets
and how to get various properties from the libgomp.so.1 shared library, but
if it turns out to be too hard for a start, doing it some other way
initially might be acceptable too.  The implementation should also add
<omp-tools.h> and <ompd-types.h> headers, similar to the sample ones in
https://github.com/OpenMP/sources/tree/master/include
and actually implement the APIs in there.

	Jakub

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

end of thread, other threads:[~2019-04-08 13:45 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-01 19:05 GSoC OMPD Bryan Carroll
2019-04-03 19:17 ` Bryan Carroll
2019-04-04 12:24   ` Martin Jambor
2019-04-04 14:22     ` Jeff Law
2019-04-08 13:45     ` Jakub Jelinek

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).