This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Implementing OpenACC's Fortran module


Hi Tobias,

Tobias Burnus wrote:
Hi James,

James Norris wrote:
Attached are my latest versions of the OpenACC header files. The testing I've
done with the headers are using a version of the fortran compiler with your
patches applied. So far, no issues with the patches!
The patches look good to me, except that I think the TODOs can be removed as
the items has been implemented.

Done!


Additionally, I wonder whether one can get rid of the *_h functions and
of making *_l PRIVATE. In particular, I am thinking of replacing in
"module openacc":
   function acc_get_num_devices (d)
by
   function acc_get_num_devices (d) &
       bind(C, name="__openacc_MOD_acc_get_num_device")

That is possible, however, that will cause a number of implicit conversion
warnings to be issued at compile time. My intent was for the wrapper
functions to do the type conversions.

And then using those functions in the module instead of the _h functions.


The *_h functions exist for the benefit of the entry points defined in
openacc_lib.h. My intent for openacc_lib.h was for it to be 'module-less'.
In other words, hide all the module-related functionality in openacc.f90.

Jim


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]