📄 mpi-f90-interfaces.h.sh
字号:
start MPI_Alltoallv largefor rank in $allranksdo case "$rank" in 0) dim='' ; esac case "$rank" in 1) dim=', dimension(*)' ; esac case "$rank" in 2) dim=', dimension(1,*)' ; esac case "$rank" in 3) dim=', dimension(1,1,*)' ; esac case "$rank" in 4) dim=', dimension(1,1,1,*)' ; esac case "$rank" in 5) dim=', dimension(1,1,1,1,*)' ; esac case "$rank" in 6) dim=', dimension(1,1,1,1,1,*)' ; esac case "$rank" in 7) dim=', dimension(1,1,1,1,1,1,*)' ; esac output_12 MPI_Alltoallv ${rank} CH "character${dim}" output_12 MPI_Alltoallv ${rank} L "logical${dim}" for kind in $ikinds do output_12 MPI_Alltoallv ${rank} I${kind} "integer*${kind}${dim}" done for kind in $rkinds do output_12 MPI_Alltoallv ${rank} R${kind} "real*${kind}${dim}" done for kind in $ckinds do output_12 MPI_Alltoallv ${rank} C${kind} "complex*${kind}${dim}" donedoneend MPI_Alltoallv#------------------------------------------------------------------------output_13() { if test "$output" = "0"; then return 0 fi procedure=$1 rank=$2 type=$4 proc="$1$2D$3" cat <<EOFsubroutine ${proc}(sendbuf, sendcounts, sdispls, sendtypes, recvbuf, & recvcounts, rdispls, recvtypes, comm, ierr) ${type}, intent(in) :: sendbuf integer, dimension(*), intent(in) :: sendcounts integer, dimension(*), intent(in) :: sdispls integer, dimension(*), intent(in) :: sendtypes ${type}, intent(out) :: recvbuf integer, dimension(*), intent(in) :: recvcounts integer, dimension(*), intent(in) :: rdispls integer, dimension(*), intent(in) :: recvtypes integer, intent(in) :: comm integer, intent(out) :: ierrend subroutine ${proc}EOF}start MPI_Alltoallw largefor rank in $allranksdo case "$rank" in 0) dim='' ; esac case "$rank" in 1) dim=', dimension(*)' ; esac case "$rank" in 2) dim=', dimension(1,*)' ; esac case "$rank" in 3) dim=', dimension(1,1,*)' ; esac case "$rank" in 4) dim=', dimension(1,1,1,*)' ; esac case "$rank" in 5) dim=', dimension(1,1,1,1,*)' ; esac case "$rank" in 6) dim=', dimension(1,1,1,1,1,*)' ; esac case "$rank" in 7) dim=', dimension(1,1,1,1,1,1,*)' ; esac output_13 MPI_Alltoallw ${rank} CH "character${dim}" output_13 MPI_Alltoallw ${rank} L "logical${dim}" for kind in $ikinds do output_13 MPI_Alltoallw ${rank} I${kind} "integer*${kind}${dim}" done for kind in $rkinds do output_13 MPI_Alltoallw ${rank} R${kind} "real*${kind}${dim}" done for kind in $ckinds do output_13 MPI_Alltoallw ${rank} C${kind} "complex*${kind}${dim}" donedoneend MPI_Alltoallw#------------------------------------------------------------------------output_14() { if test "$output" = "0"; then return 0 fi procedure=$1 cat <<EOFsubroutine ${procedure}(comm, keyval, ierr) integer, intent(in) :: comm integer, intent(in) :: keyval integer, intent(out) :: ierrend subroutine ${procedure}EOF}start MPI_Attr_delete smalloutput_14 MPI_Attr_deleteend MPI_Attr_delete#------------------------------------------------------------------------output_15() { if test "$output" = "0"; then return 0 fi procedure=$1 cat <<EOFsubroutine ${procedure}(comm, keyval, attribute_val, flag, ierr) integer, intent(in) :: comm integer, intent(in) :: keyval integer, intent(out) :: attribute_val logical, intent(out) :: flag integer, intent(out) :: ierrend subroutine ${procedure}EOF}start MPI_Attr_get smalloutput_15 MPI_Attr_getend MPI_Attr_get#------------------------------------------------------------------------output_16() { if test "$output" = "0"; then return 0 fi procedure=$1 cat <<EOFsubroutine ${procedure}(comm, keyval, attribute_val, ierr) integer, intent(in) :: comm integer, intent(in) :: keyval integer, intent(in) :: attribute_val integer, intent(out) :: ierrend subroutine ${procedure}EOF}start MPI_Attr_put smalloutput_16 MPI_Attr_putend MPI_Attr_put#------------------------------------------------------------------------output_17() { if test "$output" = "0"; then return 0 fi procedure=$1 cat <<EOFsubroutine ${procedure}(comm, ierr) integer, intent(in) :: comm integer, intent(out) :: ierrend subroutine ${procedure}EOF}start MPI_Barrier smalloutput_17 MPI_Barrierend MPI_Barrier#------------------------------------------------------------------------output_18() { if test "$output" = "0"; then return 0 fi procedure=$1 rank=$2 type=$4 proc="$1$2D$3" cat <<EOFsubroutine ${proc}(buffer, count, datatype, root, comm& , ierr) ${type}, intent(in) :: buffer integer, intent(in) :: count integer, intent(in) :: datatype integer, intent(in) :: root integer, intent(in) :: comm integer, intent(out) :: ierrend subroutine ${proc}EOF}start MPI_Bcast mediumfor rank in $allranksdo case "$rank" in 0) dim='' ; esac case "$rank" in 1) dim=', dimension(*)' ; esac case "$rank" in 2) dim=', dimension(1,*)' ; esac case "$rank" in 3) dim=', dimension(1,1,*)' ; esac case "$rank" in 4) dim=', dimension(1,1,1,*)' ; esac case "$rank" in 5) dim=', dimension(1,1,1,1,*)' ; esac case "$rank" in 6) dim=', dimension(1,1,1,1,1,*)' ; esac case "$rank" in 7) dim=', dimension(1,1,1,1,1,1,*)' ; esac output_18 MPI_Bcast ${rank} CH "character${dim}" output_18 MPI_Bcast ${rank} L "logical${dim}" for kind in $ikinds do output_18 MPI_Bcast ${rank} I${kind} "integer*${kind}${dim}" done for kind in $rkinds do output_18 MPI_Bcast ${rank} R${kind} "real*${kind}${dim}" done for kind in $ckinds do output_18 MPI_Bcast ${rank} C${kind} "complex*${kind}${dim}" donedoneend MPI_Bcast#------------------------------------------------------------------------output_19() { if test "$output" = "0"; then return 0 fi procedure=$1 rank=$2 type=$4 proc="$1$2D$3" cat <<EOFsubroutine ${proc}(buf, count, datatype, dest, tag, & comm, ierr) ${type}, intent(in) :: buf integer, intent(in) :: count integer, intent(in) :: datatype integer, intent(in) :: dest integer, intent(in) :: tag integer, intent(in) :: comm integer, intent(out) :: ierrend subroutine ${proc}EOF}start MPI_Bsend mediumfor rank in $allranksdo case "$rank" in 0) dim='' ; esac case "$rank" in 1) dim=', dimension(*)' ; esac case "$rank" in 2) dim=', dimension(1,*)' ; esac case "$rank" in 3) dim=', dimension(1,1,*)' ; esac case "$rank" in 4) dim=', dimension(1,1,1,*)' ; esac case "$rank" in 5) dim=', dimension(1,1,1,1,*)' ; esac case "$rank" in 6) dim=', dimension(1,1,1,1,1,*)' ; esac case "$rank" in 7) dim=', dimension(1,1,1,1,1,1,*)' ; esac output_19 MPI_Bsend ${rank} CH "character${dim}" output_19 MPI_Bsend ${rank} L "logical${dim}" for kind in $ikinds do output_19 MPI_Bsend ${rank} I${kind} "integer*${kind}${dim}" done for kind in $rkinds do output_19 MPI_Bsend ${rank} R${kind} "real*${kind}${dim}" done for kind in $ckinds do output_19 MPI_Bsend ${rank} C${kind} "complex*${kind}${dim}" donedoneend MPI_Bsend#------------------------------------------------------------------------output_20() { if test "$output" = "0"; then return 0 fi procedure=$1 rank=$2 type=$4 proc="$1$2D$3" cat <<EOFsubroutine ${proc}(buf, count, datatype, dest, tag, & comm, request, ierr) ${type}, intent(in) :: buf integer, intent(in) :: count integer, intent(in) :: datatype integer, intent(in) :: dest integer, intent(in) :: tag integer, intent(in) :: comm integer, intent(out) :: request integer, intent(out) :: ierrend subroutine ${proc}EOF}start MPI_Bsend_init mediumfor rank in $allranksdo case "$rank" in 0) dim='' ; esac case "$rank" in 1) dim=', dimension(*)' ; esac case "$rank" in 2) dim=', dimension(1,*)' ; esac case "$rank" in 3) dim=', dimension(1,1,*)' ; esac case "$rank" in 4) dim=', dimension(1,1,1,*)' ; esac case "$rank" in 5) dim=', dimension(1,1,1,1,*)' ; esac case "$rank" in 6) dim=', dimension(1,1,1,1,1,*)' ; esac case "$rank" in 7) dim=', dimension(1,1,1,1,1,1,*)' ; esac output_20 MPI_Bsend_init ${rank} CH "character${dim}" output_20 MPI_Bsend_init ${rank} L "logical${dim}" for kind in $ikinds do output_20 MPI_Bsend_init ${rank} I${kind} "integer*${kind}${dim}" done for kind in $rkinds do output_20 MPI_Bsend_init ${rank} R${kind} "real*${kind}${dim}" done for kind in $ckinds do output_20 MPI_Bsend_init ${rank} C${kind} "complex*${kind}${dim}" donedoneend MPI_Bsend_init#------------------------------------------------------------------------output_21() { if test "$output" = "0"; then return 0 fi procedure=$1 rank=$2 type=$4 proc="$1$2D$3" cat <<EOFsubroutine ${proc}(buffer, size, ierr) ${type}, intent(in) :: buffer integer, intent(in) :: size integer, intent(out) :: ierrend subroutine ${proc}EOF}start MPI_Buffer_attach mediumfor rank in $allranksdo case "$rank" in 0) dim='' ; esac case "$rank" in 1) dim=', dimension(*)' ; esac case "$rank" in 2) dim=', dimension(1,*)' ; esac case "$rank" in 3) dim=', dimension(1,1,*)' ; esac case "$rank" in 4) dim=', dimension(1,1,1,*)' ; esac case "$rank" in 5) dim=', dimension(1,1,1,1,*)' ; esac case "$rank" in 6) dim=', dimension(1,1,1,1,1,*)' ; esac case "$rank" in 7) dim=', dimension(1,1,1,1,1,1,*)' ; esac output_21 MPI_Buffer_attach ${rank} CH "character${dim}" output_21 MPI_Buffer_attach ${rank} L "logical${dim}" for kind in $ikinds do output_21 MPI_Buffer_attach ${rank} I${kind} "integer*${kind}${dim}" done for kind in $rkinds do output_21 MPI_Buffer_attach ${rank} R${kind} "real*${kind}${dim}" done for kind in $ckinds do output_21 MPI_Buffer_attach ${rank} C${kind} "complex*${kind}${dim}" donedoneend MPI_Buffer_attach#------------------------------------------------------------------------output_22() { if test "$output" = "0"; then return 0 fi procedure=$1 rank=$2 type=$4 proc="$1$2D$3" cat <<EOFsubroutine ${proc}(buffer, size, ierr) ${type}, intent(out) :: buffer integer, intent(out) :: size integer, intent(out) :: ierrend subroutine ${proc}EOF}start MPI_Buffer_detach mediumfor rank in $allranksdo case "$rank" in 0) dim='' ; esac case "$rank" in 1) dim=', dimension(*)' ; esac case "$rank" in 2) dim=', dimension(1,*)' ; esac case "$rank" in 3) dim=', dimension(1,1,*)' ; esac case "$rank" in 4) dim=', dimension(1,1,1,*)' ; esac case "$rank" in 5) dim=', dimension(1,1,1,1,*)' ; esac case "$rank" in 6) dim=', dimension(1,1,1,1,1,*)' ; esac case "$rank" in 7) dim=', dimension(1,1,1,1,1,1,*)' ; esac output_22 MPI_Buffer_detach ${rank} CH "character${dim}" output_22 MPI_Buffer_detach ${rank} L "logical${dim}" for kind in $ikinds do output_22 MPI_Buffer_detach ${rank} I${kind} "integer*${kind}${dim}" done for kind in $rkinds do output_22 MPI_Buffer_detach ${rank} R${kind} "real*${kind}${dim}" done for kind in $ckinds do output_22 MPI_Buffer_detach ${rank} C${kind} "complex*${kind}${dim}" donedoneend MPI_Buffer_detach#------------------------------------------------------------------------output_23() { if test "$output" = "0"; then return 0 fi procedure=$1 cat <<EOFsubroutine ${procedure}(request, ierr) integer, intent(in) :: request integer, intent(out) :: ierrend subroutine ${procedure}EOF}start MPI_Cancel smalloutput_23 MPI_Cancelend MPI_Cancel#------------------------------------------------------------------------output_24() { if test "$output" = "0"; then return 0 fi procedure=$1 cat <<EOFsubroutine ${procedure}(comm, rank, maxdims, coords, ierr) integer, intent(in) :: comm integer, intent(in) :: rank integer, intent(in) :: maxdims integer, dimension(*), intent(out) :: coords integer, intent(out) :: ierrend subroutine ${procedure}EOF}start MPI_Cart_coords smalloutput_24 MPI_Cart_coordsend MPI_Cart_coords#------------------------------------------------------------------------output_25() { if test "$output" = "0"; then return 0 fi procedure=$1 cat <<EOFsubroutine ${procedure}(old_comm, ndims, dims, periods, reorder, & comm_cart, ierr) integer, intent(in) :: old_comm integer, intent(in) :: ndims integer, dimension(*), intent(in) :: dims integer, dimension(*), intent(in) :: periods integer, intent(in) :: reorder integer, intent(out) :: comm_cart integer, intent(out) :: ierrend subroutine ${procedure}EOF}start MPI_Cart_create smalloutput_25 MPI_Cart_createend MPI_Cart_create#------------------------------------------------------------------------output_26() { if test "$output" = "0"; then return 0 fi procedure=$1 cat <<EOFsubroutine ${procedure}(comm, maxdims, dims, periods, coords& , ierr) integer, intent(in) :: comm integer, intent(in) :: maxdims integer, dimension(*), intent(out) :: dims integer, dimension(*), intent(out) :: periods integer, dimension(*), intent(out) :: coords integer, intent(out) :: ierrend subroutine ${procedure}EOF}start MPI_Cart_get smalloutput_26 MPI_Cart_getend MPI_Cart_get#------------------------------------------------------------------------output_27() { if test "$output" = "0"; then return 0 fi procedure=$1 cat <<EOFsubroutine ${procedure}(comm, ndims, dims, periods, newrank& , ierr)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -