From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oo1-xc30.google.com (mail-oo1-xc30.google.com [IPv6:2607:f8b0:4864:20::c30]) by sourceware.org (Postfix) with ESMTPS id 2DC4E3857004 for ; Wed, 23 Dec 2020 22:32:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 2DC4E3857004 Received: by mail-oo1-xc30.google.com with SMTP id k7so115660ooa.0 for ; Wed, 23 Dec 2020 14:32:11 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=2VQbm5PVmriPDghnnpsyZTvr8dwQPmp+eJRR7fh4bzU=; b=j+qNtWT1epXZvhplpFo0JqEXk+JQZCnlrrzK58SOcUajchKL+Fmb9bCq1jVZobTVVY fvcy930wMuFh+YmdoqjmnFjp2SWqM4osCjc+Pg2agiuCFr8GmAoIDGFA/oclN59Eogvg Z2unSlZP8HyYCUctdlC1jYasHpA2Ccj0+RjHHuI/pprPPodWHRYzZdSgR7A7jvSBMYj/ LyQx+wz1Kqs3+U6pRJdRDtyb0T9eSAmB6MPT4z1oyVj6+5qh9NWnxwzx+HqXlSdwMxHf J5aJLx+qTkuFJxiPlqLB1D8UXyvgehg8xbD0rz6WKDQK21S2LOVyUXD1cmUpfksatthi w65Q== X-Gm-Message-State: AOAM531ejBxYGKhOmAd78tiLwufCpoP+H/Eqii+LqYw8wKQ67eGe1GUj obDps+8DhmeN/bWxSr2m7sh+cdGYqHeDDfMJMA== X-Google-Smtp-Source: ABdhPJy8dWx0xytoK6yJcH7mFDVzQ1b0rKUupinGOo8iQuuV07UOKEw6AAZKEo3BpHSuIkeQ9QR518JjlJQfDrXmssk= X-Received: by 2002:a4a:8c73:: with SMTP id v48mr19835280ooj.53.1608762730466; Wed, 23 Dec 2020 14:32:10 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Adharsh Kamath Date: Thu, 24 Dec 2020 04:01:58 +0530 Message-ID: Subject: Re: GSoC 2021 project help To: Martin Jambor , gcc@gcc.gnu.org Cc: jakub@redhat.com X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Dec 2020 22:32:13 -0000 Hi Martin, Thank you very much for the detailed response. On Tue, Dec 22, 2020 at 3:37 AM Martin Jambor 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