GBTOlib: library for evaluation of molecular integrals in mixed Gaussian / B-spline basis  111
Public Member Functions | List of all members
mpi_gbl::mpi_mod_file_write Interface Reference

Public Member Functions

subroutine mpi_mod_file_write_int32 (fh, n)
 Let master process write one 4-byte integer to stream file. More...
 
subroutine mpi_mod_file_write_array1d_int32 (fh, array, length)
 Let master process write array of 4-byte integers to stream file. More...
 
subroutine mpi_mod_file_write_array2d_int32 (fh, array, length1, length2)
 Let master process write 2d array of 4-byte integers to stream file. More...
 
subroutine mpi_mod_file_write_real64 (fh, x)
 Let master process write an 8-byte real to stream file. More...
 
subroutine mpi_mod_file_write_array1d_real64 (fh, array, length)
 Let master process write array of 8-byte reals to stream file. More...
 
subroutine mpi_mod_file_write_array2d_real64 (fh, array, length1, length2)
 Let master process write 2d array of 8-byte reals to stream file. More...
 
subroutine mpi_mod_file_write_array3d_real64 (fh, array, length1, length2, length3)
 Let master process write 3d array of 8-byte reals to stream file. More...
 
subroutine mpi_mod_file_write_darray2d_real64 (fh, m, n, nprow, npcol, rb, cb, locA, myrows, mycols, comm)
 Write block-cyclically distributed matrix to a stream file. More...
 

Member Function/Subroutine Documentation

◆ mpi_mod_file_write_array1d_int32()

subroutine mpi_gbl::mpi_mod_file_write::mpi_mod_file_write_array1d_int32 ( integer(mpiint), intent(in)  fh,
integer(int32), dimension(length), intent(in)  array,
integer, intent(in)  length 
)

Let master process write array of 4-byte integers to stream file.

Authors
J Benda
Date
2019

Uses blocking collective MPI output routine to write array of integers. Only master process will do the writing, other processes behave as if the provided length parameter was zero. The integers are written at the master's file position, which gets updated. Positions of other processes in the file remain as they were.

Parameters
[in]fhFile handle as returned by mpi_mod_file_open_*.
[in]arrayInteger array to write.
[in]lengthNumber of elements in the array.

◆ mpi_mod_file_write_array1d_real64()

subroutine mpi_gbl::mpi_mod_file_write::mpi_mod_file_write_array1d_real64 ( integer(mpiint), intent(in)  fh,
real(real64), dimension(length), intent(in)  array,
integer, intent(in)  length 
)

Let master process write array of 8-byte reals to stream file.

Authors
J Benda
Date
2019

Uses blocking collective MPI output routine to write array of reals. Only master process will do the writing, other processes behave as if the provided length parameter was zero. The reals are written at the master's file position, which gets updated. Positions of other processes in the file remain as they were.

Parameters
[in]fhFile handle as returned by mpi_mod_file_open_*.
[in]arrayReal array to write.
[in]lengthNumber of elements in the array.

◆ mpi_mod_file_write_array2d_int32()

subroutine mpi_gbl::mpi_mod_file_write::mpi_mod_file_write_array2d_int32 ( integer(mpiint), intent(in)  fh,
integer(int32), dimension(length1, length2), intent(in)  array,
integer, intent(in)  length1,
integer, intent(in)  length2 
)

Let master process write 2d array of 4-byte integers to stream file.

Authors
J Benda
Date
2019

Convenience wrapper around mpi_mod_file_write_array1d_int32, which does the real work.

Parameters
[in]fhFile handle as returned by mpi_mod_file_open_*.
[in]arrayTwo-dimensional integer array to write.
[in]length1Number of rows (= leading dimension).
[in]length2Number of columns.

◆ mpi_mod_file_write_array2d_real64()

subroutine mpi_gbl::mpi_mod_file_write::mpi_mod_file_write_array2d_real64 ( integer(mpiint), intent(in)  fh,
real(real64), dimension(length1, length2), intent(in)  array,
integer, intent(in)  length1,
integer, intent(in)  length2 
)

Let master process write 2d array of 8-byte reals to stream file.

Authors
J Benda
Date
2019

Convenience wrapper around mpi_mod_file_write_array1d_real64, which does the real work.

Parameters
[in]fhFile handle as returned by mpi_mod_file_open_*.
[in]arrayTwo-dimensional real array to write.
[in]length1Number of rows (= leading dimension).
[in]length2Number of columns.

◆ mpi_mod_file_write_array3d_real64()

subroutine mpi_gbl::mpi_mod_file_write::mpi_mod_file_write_array3d_real64 ( integer(mpiint), intent(in)  fh,
real(real64), dimension(length1, length2, length3), intent(in)  array,
integer, intent(in)  length1,
integer, intent(in)  length2,
integer, intent(in)  length3 
)

Let master process write 3d array of 8-byte reals to stream file.

Authors
J Benda
Date
2019

Convenience wrapper around mpi_mod_file_write_array1d_real64, which does the real work.

Parameters
[in]fhFile handle as returned by mpi_mod_file_open_*.
[in]arrayThree-dimensional real array to write.
[in]length1Leading dimension.
[in]length2Next dimension.
[in]length3Next dimension.

◆ mpi_mod_file_write_darray2d_real64()

subroutine mpi_gbl::mpi_mod_file_write::mpi_mod_file_write_darray2d_real64 ( integer(mpiint), intent(in)  fh,
integer, intent(in)  m,
integer, intent(in)  n,
integer, intent(in)  nprow,
integer, intent(in)  npcol,
integer, intent(in)  rb,
integer, intent(in)  cb,
real(real64), dimension(myrows, mycols), intent(in)  locA,
integer, intent(in)  myrows,
integer, intent(in)  mycols,
integer(mpiint), intent(in), optional  comm 
)

Write block-cyclically distributed matrix to a stream file.

Authors
J Benda
Date
2019

Assumes ScaLAPACK-compatible row-major (!) block-cyclic distribution. Writes the data at the master process file position, which it first broadcasts to other processes.

Warning
At the moment, there is a limitation on the element count of the local portion of the distributed matrix, which mustn't exceed 2**31 elements (i.e. 16 GiB).
Parameters
[in]fhFile handle as returned by mpi_mod_file_open_*.
[in]mNumber of rows in the distributed matrix.
[in]nNumber of columns in the distributed matrix.
[in]nprowNumber of rows in the process grid.
[in]npcolNumber of columns in the process grid.
[in]rbBlock row count.
[in]cbBlock column column.
[in]locALocal portion of the distributed matrix.
[in]myrowsNumber of rows in locA.
[in]mycolsNumber of columns in locA.
[in]comm_optOptional communicator on which the file is shared (MPI world used if not provided).

◆ mpi_mod_file_write_int32()

subroutine mpi_gbl::mpi_mod_file_write::mpi_mod_file_write_int32 ( integer(mpiint), intent(in)  fh,
integer(int32), intent(in)  n 
)

Let master process write one 4-byte integer to stream file.

Authors
J Benda
Date
2019

Convenience wrapper around mpi_mod_file_write_array1d_int32, which does the real work.

Parameters
[in]fhFile handle as returned by mpi_mod_file_open_*.
[in]nInteger to write.

◆ mpi_mod_file_write_real64()

subroutine mpi_gbl::mpi_mod_file_write::mpi_mod_file_write_real64 ( integer(mpiint), intent(in)  fh,
real(real64), intent(in)  x 
)

Let master process write an 8-byte real to stream file.

Authors
J Benda
Date
2019

Convenience wrapper around mpi_mod_file_write_array1d_real64, which does the real work.

Parameters
[in]fhFile handle as returned by mpi_mod_file_open_*.
[in]xReal number to write.

The documentation for this interface was generated from the following file: