Implementing OpenACC's Fortran module
James Norris
jnorris@codesourcery.com
Mon Aug 18 12:23:00 GMT 2014
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
More information about the Fortran
mailing list