43  use, 
intrinsic :: iso_c_binding
 
   60     integer, 
allocatable :: lglel(:)
 
 
   83    type(
coef_t), 
intent(inout) :: coef
 
   84    integer :: nelb, nelv, nelgv, npts, gdim
 
   88    npts  = coef%Xh%lx*coef%Xh%ly*coef%Xh%lz
 
   89    nelgv = coef%msh%glb_nelv
 
   90    nelb  = coef%msh%offset_el
 
   94    call fortran_adios2_initialize(npts, nelv, nelb, nelgv, gdim, 
neko_comm)
 
   96    call neko_warning(
'Is not being built with ADIOS2 support.')
 
   97    call neko_warning(
'Not able to use stream/compression functionality')
 
 
  109    call fortran_adios2_finalize()
 
  111    call neko_warning(
'Is not being built with ADIOS2 support.')
 
  112    call neko_warning(
'Not able to use stream/compression functionality')
 
 
  121    real(kind=
rp), 
dimension(:,:,:,:), 
intent(inout) :: fld
 
  124    call fortran_adios2_stream(fld)
 
  126    call neko_warning(
'Is not being built with ADIOS2 support.')
 
  127    call neko_warning(
'Not able to use stream/compression functionality')
 
 
  136    real(kind=
rp), 
dimension(:,:,:,:), 
intent(inout) :: fld
 
  139    call fortran_adios2_recieve(fld)
 
  141    call neko_warning(
'Is not being built with ADIOS2 support.')
 
  142    call neko_warning(
'Not able to use stream/compression functionality')
 
 
  159  subroutine fortran_adios2_initialize(npts, nelv, nelb, nelgv, gdim, comm)
 
  160    use, 
intrinsic :: iso_c_binding
 
  162    integer, 
intent(in) :: npts, nelv, nelb, nelgv, gdim
 
  163    type(mpi_comm) :: comm
 
  171       subroutine c_adios2_initialize(npts, nelv, nelb, nelgv, gdim, &
 
  172                                      comm) 
bind(C,name="adios2_initialize_") 
  173         use, 
intrinsic :: iso_c_binding
 
  176         integer(kind=C_INT) :: npts
 
  177         integer(kind=C_INT) :: nelv
 
  178         integer(kind=C_INT) :: nelb
 
  179         integer(kind=C_INT) :: nelgv
 
  180         integer(kind=C_INT) :: gdim
 
  182       end subroutine c_adios2_initialize
 
  185    call c_adios2_initialize(npts, nelv, nelb, nelgv, gdim, 
comm)
 
  186  end subroutine fortran_adios2_initialize
 
  190  subroutine fortran_adios2_finalize()
 
  191    use, 
intrinsic :: iso_c_binding
 
  196       subroutine c_adios2_finalize() 
bind(C,name="adios2_finalize_") 
  197         use, 
intrinsic :: iso_c_binding
 
  199       end subroutine c_adios2_finalize
 
  202    call c_adios2_finalize()
 
  203  end subroutine fortran_adios2_finalize
 
  210  subroutine fortran_adios2_stream(fld)
 
  211    use, 
intrinsic :: iso_c_binding
 
  213    real(kind=
rp), 
dimension(:,:,:,:), 
intent(inout) :: fld
 
  217       subroutine c_adios2_stream(fld) &
 
  218                                  bind(C,name="adios2_stream_") 
  219         use, 
intrinsic :: iso_c_binding
 
  222         real(kind=
c_rp), 
intent(INOUT) :: fld(*)
 
  223       end subroutine c_adios2_stream
 
  226    call c_adios2_stream(fld)
 
  227  end subroutine fortran_adios2_stream
 
  234  subroutine fortran_adios2_recieve(fld)
 
  235    use, 
intrinsic :: iso_c_binding
 
  237    real(kind=
rp), 
dimension(:,:,:,:), 
intent(inout) :: fld
 
  241       subroutine c_adios2_recieve(fld) &
 
  242                                  bind(C,name="adios2_recieve_") 
  243         use, 
intrinsic :: iso_c_binding
 
  246         real(kind=
c_rp), 
intent(INOUT) :: fld(*)
 
  247       end subroutine c_adios2_recieve
 
  250    call c_adios2_recieve(fld)
 
  251  end subroutine fortran_adios2_recieve
 
type(mpi_comm) neko_comm
MPI communicator.
 
Implements type data_streamer_t.
 
subroutine data_streamer_recieve(this, fld)
reciever
 
subroutine data_streamer_init(this, coef)
Constructor Wraps the adios2 set-up.
 
subroutine data_streamer_stream(this, fld)
streamer
 
subroutine data_streamer_free(this)
Destructor wraps the adios2 finalize routine. Closes insitu writer.
 
Device abstraction, common interface for various accelerators.
 
integer, parameter, public c_rp
 
integer, parameter, public rp
Global precision used in computations.
 
subroutine, public neko_warning(warning_msg)
Reports a warning to standard output.
 
Coefficients defined on a given (mesh, ) tuple. Arrays use indices (i,j,k,e): element e,...
 
Provides access to data streaming by interfacing with c++ ADIOS2 subroutines.