we want to reduce
the conversion overhead to zero. In the MPICH F08
binding, we implemented the wrappers in Fortran whenever
possible. The main value is that Fortran intrinsically knows
about both Fortran and C types, whereas C knows nothing
about Fortran types. Hence, it is much safer and portable
to use Fortran to write any code that involves a Fortran
type. For most subroutines, one layer of Fortran wrappers
is enough. For subroutines with choice buffers, however, we
have to write another layer of wrappers in C to decode the
C descriptor for the choice buffer before calling the backend
MPI C libraries. Thus, we designed an F08 binding
framework embodied by the following directory tree:
we want to reducethe conversion overhead to zero. In the MPICH F08binding, we implemented the wrappers in Fortran wheneverpossible. The main value is that Fortran intrinsically knowsabout both Fortran and C types, whereas C knows nothingabout Fortran types. Hence, it is much safer and portableto use Fortran to write any code that involves a Fortrantype. For most subroutines, one layer of Fortran wrappersis enough. For subroutines with choice buffers, however, wehave to write another layer of wrappers in C to decode theC descriptor for the choice buffer before calling the backendMPI C libraries. Thus, we designed an F08 bindingframework embodied by the following directory tree:
การแปล กรุณารอสักครู่..