[GSoC] Weekly report - week 1
Sebastian Galindo via Gcc <[email protected]>
| Newsgroups | gmane.comp.gcc.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi!
Here is my first weekly report :-).
This week I set out to:
In general, the following tasks are related to implementing the init/shutdown/set directives from OpenACC:
- Detail the existing patch regarding the API runtime functions.
- Implement the parsing of the directives in the Fortran front-end first.
- Link the existing API calls to the lowered function from the {front,middle}-end.
Over the week:
- I've built a script to retrieve and review a patch from the mailing list (linked with the first week's task).
- I noticed that, actually, the directives can be placed as built-in functions; regardless, I posted a question on the mailing list about that: https://gcc.gnu.org/pipermail/gcc/2026-May/248254.html
- I've implemented the parsing process for the init directive in the simplest possible case (no clauses included).
- I've included the corresponding built-in function in the libgomp library.
- I've started the implementation of the clause parsing specified in the acc init directive.
- I've recognized that, actually, the "acc routine" directive is missing two clauses to be supported: the device_type and bind clauses. (This might be a task included in the last part of my GSoC project: "Add newer features from OpenACC spec".)
Current status:
- The compiler is able to recognize the "!$acc init" directive, emit the built-in function call, and print a debug message from the runtime library (libgomp).
- The current progress works in Fortran only, and I'm waiting for an answer to a question regarding a specific clause naming case: https://gcc.gnu.org/pipermail/gcc/2026-May/248262.html
- In the meanwhile I'll implement the directive parsing in the
others front-ends.
For now, I'll focus on the full implementation in Fortran (of the 3 directives) and then move on to the C and C++ front-ends.
Let me know if the report is too large or I'm being too specific.
Thanks!
Best,
Sebastian Galindo