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

Reply via email to