This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: Implementing OpenACC's Fortran module
- From: James Norris <jnorris at codesourcery dot com>
- To: Tobias Burnus <tobias dot burnus at physik dot fu-berlin dot de>
- Cc: Thomas Schwinge <thomas at codesourcery dot com>, <fortran at gcc dot gnu dot org>, <jakub at redhat dot com>
- Date: Mon, 18 Aug 2014 07:23:01 -0500
- Subject: Re: Implementing OpenACC's Fortran module
- Authentication-results: sourceware.org; auth=none
- References: <20140818093652 dot GA12023 at physik dot fu-berlin dot de>
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