* Request for participation in GSoC @ 2023-03-04 15:26 Priyabrata Mondal 2023-03-06 16:29 ` David Malcolm 2023-03-08 13:02 ` Martin Jambor 0 siblings, 2 replies; 5+ messages in thread From: Priyabrata Mondal @ 2023-03-04 15:26 UTC (permalink / raw) To: gcc [-- Attachment #1: Type: text/plain, Size: 810 bytes --] Respected sir, I am Priyabrata Mondal, an M.tech student in Electric Transportation at the Indian Institute of Technology(IIT), Mandi. I want to participate in Google Summer of Code 2023 by contributing to the *Fortran – DO CONCURRENT* project, an implementation of loop that executes concurrently. I have started to learn about parallel programming and Fortran programming language. I have good knowledge of C, C++, Javascript, HTML, and CSS. can you suggest some resources so I can learn the technologies that are required for this project? I will be highly grateful to you forever if you allow me to do this project under your guidance. Thanking you Priyabrata Mondal contact No.: +91-7318601195 Email ID: priyabratamondal622@gmail.com ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Request for participation in GSoC 2023-03-04 15:26 Request for participation in GSoC Priyabrata Mondal @ 2023-03-06 16:29 ` David Malcolm 2023-03-07 18:26 ` Priyabrata Mondal 2023-03-08 13:02 ` Martin Jambor 1 sibling, 1 reply; 5+ messages in thread From: David Malcolm @ 2023-03-06 16:29 UTC (permalink / raw) To: Priyabrata Mondal, gcc On Sat, 2023-03-04 at 20:56 +0530, Priyabrata Mondal via Gcc wrote: > Respected sir, > I am Priyabrata Mondal, an M.tech student in Electric > Transportation at the Indian Institute of Technology(IIT), Mandi. I > want to > participate in Google Summer of Code 2023 by contributing to the > *Fortran – > DO CONCURRENT* project, an implementation of loop that executes > concurrently. I have started to learn about parallel programming and > Fortran programming language. > I have good knowledge of C, C++, Javascript, HTML, and > CSS. > can you suggest some resources so I can learn the > technologies > that are required for this project? > I will be highly grateful to you forever if you allow me > to do > this project under your guidance. Hello, welcome to the GCC community. If you haven't seen it already, I've written a guide aimed at new GCC developers here: https://gcc-newbies-guide.readthedocs.io/en/latest/index.html A good first step would be to try to build gcc from source, add a simple warning that emits: "hello world, I'm compiling function 'foo'" for each function being compiled, and compile something with that... and then do that again, stepping through it in the debugger. There are instructions about that in the guide above. Hope this is helpful Dave ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Request for participation in GSoC 2023-03-06 16:29 ` David Malcolm @ 2023-03-07 18:26 ` Priyabrata Mondal 0 siblings, 0 replies; 5+ messages in thread From: Priyabrata Mondal @ 2023-03-07 18:26 UTC (permalink / raw) To: David Malcolm; +Cc: gcc [-- Attachment #1: Type: text/plain, Size: 1551 bytes --] Thank you, I will check it out. On Mon, 6 Mar 2023 at 21:59, David Malcolm <dmalcolm@redhat.com> wrote: > On Sat, 2023-03-04 at 20:56 +0530, Priyabrata Mondal via Gcc wrote: > > Respected sir, > > I am Priyabrata Mondal, an M.tech student in Electric > > Transportation at the Indian Institute of Technology(IIT), Mandi. I > > want to > > participate in Google Summer of Code 2023 by contributing to the > > *Fortran – > > DO CONCURRENT* project, an implementation of loop that executes > > concurrently. I have started to learn about parallel programming and > > Fortran programming language. > > I have good knowledge of C, C++, Javascript, HTML, and > > CSS. > > can you suggest some resources so I can learn the > > technologies > > that are required for this project? > > I will be highly grateful to you forever if you allow me > > to do > > this project under your guidance. > > Hello, welcome to the GCC community. > > If you haven't seen it already, I've written a guide aimed at new GCC > developers here: > https://gcc-newbies-guide.readthedocs.io/en/latest/index.html > > A good first step would be to try to build gcc from source, add a > simple warning that emits: > "hello world, I'm compiling function 'foo'" > for each function being compiled, and compile something with that... > and then do that again, stepping through it in the debugger. There are > instructions about that in the guide above. > > Hope this is helpful > Dave > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Request for participation in GSoC 2023-03-04 15:26 Request for participation in GSoC Priyabrata Mondal 2023-03-06 16:29 ` David Malcolm @ 2023-03-08 13:02 ` Martin Jambor 2023-03-08 13:28 ` Tobias Burnus 1 sibling, 1 reply; 5+ messages in thread From: Martin Jambor @ 2023-03-08 13:02 UTC (permalink / raw) To: Priyabrata Mondal; +Cc: GCC Mailing List, fortran Hello, I am happy that you found contributing to GCC interesting and doubly so that you are interested in a Fortran topic. Let me also CC the Fortran mailing list. On Sat, Mar 04 2023, Priyabrata Mondal via Gcc wrote: > Respected sir, > I am Priyabrata Mondal, an M.tech student in Electric > Transportation at the Indian Institute of Technology(IIT), Mandi. I want to > participate in Google Summer of Code 2023 by contributing to the *Fortran – > DO CONCURRENT* project, an implementation of loop that executes > concurrently. I have started to learn about parallel programming and > Fortran programming language. > I have good knowledge of C, C++, Javascript, HTML, and CSS. > can you suggest some resources so I can learn the technologies > that are required for this project? > I will be highly grateful to you forever if you allow me to do > this project under your guidance. I assume you have read through https://gcc.gnu.org/wiki/SummerOfCode#Before_you_apply have you managed to complete the steps outlined there? If you think you need any help with any specific issue you encounter while working through any of those, feel free to email the mailing list again. And David's guide is also a great resource, of course. Good luck, Martin ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Request for participation in GSoC 2023-03-08 13:02 ` Martin Jambor @ 2023-03-08 13:28 ` Tobias Burnus 0 siblings, 0 replies; 5+ messages in thread From: Tobias Burnus @ 2023-03-08 13:28 UTC (permalink / raw) To: Priyabrata Mondal; +Cc: GCC Mailing List, fortran Hello, welcome to the GCC/gfortran community. On 08.03.23 14:02, Martin Jambor wrote: > On Sat, Mar 04 2023, Priyabrata Mondal via Gcc wrote: >> I want to >> participate in Google Summer of Code 2023 by contributing to the *Fortran – >> DO CONCURRENT* project, an implementation of loop that executes >> concurrently. I have started to learn about parallel programming and >> Fortran programming language. >> I have good knowledge of C, C++, Javascript, HTML, and CSS. >> can you suggest some resources so I can learn the technologies >> that are required for this project? >> I will be highly grateful to you forever if you allow me to do >> this project under your guidance. > I assume you have read through > https://gcc.gnu.org/wiki/SummerOfCode#Before_you_apply > have you managed to complete the steps outlined there? I wrote the following the other day regarding 'do concurrent': I think there are two parts to it: First, to add the changes of newer Fortran to gfortran and then to actually use them to generate concurrently running code. (Internally, gfortran currently handles 'do concurrent' to run mostly like a normal loop – except that it annotates the loops are independent. – Real parallelization would be useful, however.) If you want to see examples, see do_concurrent_1.f90 to do_concurrent_6.f90 in gfortran's testsuite, i.e. gcc/testsuite/gfortran.dg/ in the GCC sources. That's at https://gcc.gnu.org/git/?p=gcc.git;a=tree;f=gcc/testsuite/gfortran.dg;hb=refs/heads/master / But it is best to download GCC yourself via Git as described at https://gcc.gnu.org/git.html I want to note that the DO CONCURRENT syntax also permits a mask argument, like in 'do concurrent (i=1:5, j=1:5, (i/=j))' where the last argument selects a subset. For the Fortran standard, see https://gcc.gnu.org/wiki/GFortranStandards Fortran 2018 (= 18-007r1) adds for locality specifiers: LOCAL, LOCAL_INIT, SHARED and DEFAULT(NONE). Fortran 202x alias 2023 adds 'reduce' as in 'do concurrent (i = 1, n) reduce(+:a, b, c) reduce(max:d, e, f)' I think the first step is to add parsing support for those new features, i.e. store them, check for issues (diagnostic) and then fail with a 'sorry not yet implemented'. The next step would be to implement LOCAL/LOCAL_INIT for running on the host. And then, finally, would be to translate into code which can then be run concurrently. I was thinking of mapping it internally to OpenMP or OpenACC, to be toggled via a commandline option like -fdo-concurrent=<openmp,openmp-target,openacc,...>. * * * And for getting started with GCC, I wrote: I think the first step would be to download GCC and build it. Something like "git clone" as described above, then "mkdir build" (some directory); "cd build" and then "../configure --prefix=where-to-install" followed by "make -j12" and "make install". The "-j12" runs 12 build jobs in parallel. How much to use depends on your system. You probably need to install some development versions of libraries such as ISL, gmp, mpfr and mpc. If you don't have them readily, an option is to run ./contrib/download_prerequisites to download those and build them automatically alongside GCC. I hope it helps to get started Tobias ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955 ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-03-08 13:29 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-03-04 15:26 Request for participation in GSoC Priyabrata Mondal 2023-03-06 16:29 ` David Malcolm 2023-03-07 18:26 ` Priyabrata Mondal 2023-03-08 13:02 ` Martin Jambor 2023-03-08 13:28 ` Tobias Burnus
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).