87 SUBROUTINE mpl_broadcast_preamb1(KROOTR,KCOMMR,KPL_NUMPROC,KPL_MYRANK,KMP_TYPER,LDRETURN,KERROR,KCOMM,KROOT,KMP_TYPE)
90 #ifdef USE_8_BYTE_WORDS 92 mpi_comm_size => mpi_comm_size8
96 INTEGER(KIND=JPIM),
INTENT(OUT) :: KROOTR
97 INTEGER(KIND=JPIM),
INTENT(OUT) :: KCOMMR
98 INTEGER(KIND=JPIM),
INTENT(OUT) :: KPL_NUMPROC
99 INTEGER(KIND=JPIM),
INTENT(OUT) :: KPL_MYRANK
100 INTEGER(KIND=JPIM),
INTENT(OUT) :: KMP_TYPER
101 LOGICAL,
INTENT(OUT) :: LDRETURN
102 INTEGER(KIND=JPIM),
INTENT(OUT),
OPTIONAL :: KERROR
103 INTEGER(KIND=JPIM),
INTENT(IN),
OPTIONAL :: KROOT
104 INTEGER(KIND=JPIM),
INTENT(IN),
OPTIONAL :: KCOMM
105 INTEGER(KIND=JPIM),
INTENT(IN),
OPTIONAL :: KMP_TYPE
107 INTEGER(KIND=JPIM) :: IERROR
108 INTEGER(KIND=JPIM) :: ITID
110 itid = oml_my_thread()
114 & cdmessage=
'MPL_BROADCAST: MPL NOT INITIALISED ',ldabort=
llabort)
116 IF(
PRESENT(kcomm))
THEN 126 CALL mpi_comm_size(kcommr,kpl_numproc,ierror)
130 IF(
PRESENT(kroot))
THEN 136 IF(
PRESENT(kmp_type))
THEN 142 IF (
PRESENT (kerror)) kerror = ierror
144 IF (kpl_numproc == 1)
THEN 145 IF(
PRESENT(kerror))
THEN 156 KCOMM,KERROR,KREQUEST,CDSTRING)
159 #ifdef USE_8_BYTE_WORDS 161 mpi_comm_size => mpi_comm_size8, mpi_bcast => mpi_bcast8
165 REAL(KIND=JPRM) :: PBUF(:)
166 INTEGER(KIND=JPIM),
INTENT(IN) :: KTAG
167 INTEGER(KIND=JPIM),
INTENT(IN),
OPTIONAL :: KROOT,KCOMM,KMP_TYPE
168 INTEGER(KIND=JPIM),
INTENT(OUT),
OPTIONAL :: KERROR,KREQUEST
169 CHARACTER*(*),
INTENT(IN),
OPTIONAL :: CDSTRING
171 INTEGER(KIND=JPIM) :: ICOUNT,ICOMM,IERROR,IROOT,IPL_NUMPROC,IPL_MYRANK,IMP_TYPE
174 CALL mpl_broadcast_preamb1(iroot,icomm,ipl_numproc,ipl_myrank,imp_type,llreturn,kerror,kcomm,kroot,kmp_type)
182 CALL mpi_bcast(pbuf,icount,int(mpi_real4),iroot-1,icomm,ierror)
184 IF(.NOT.
PRESENT(krequest))
CALL mpl_message(kerror,
'MPL_SEND',
' KREQUEST MISSING',ldabort=
llabort)
185 CALL mpi_ibcast(pbuf,icount,int(mpi_real4),iroot-1,icomm,krequest,ierror)
187 IF(
PRESENT(kerror))
THEN 195 IF(iroot == ipl_myrank)
THEN 201 IF(
PRESENT(kerror))
THEN 211 KCOMM,KERROR,KREQUEST,CDSTRING)
214 #ifdef USE_8_BYTE_WORDS 216 mpi_comm_size => mpi_comm_size8, mpi_bcast => mpi_bcast8
220 REAL(KIND=JPRD) :: PBUF(:)
221 INTEGER(KIND=JPIM),
INTENT(IN) :: KTAG
222 INTEGER(KIND=JPIM),
INTENT(IN),
OPTIONAL :: KROOT,KCOMM,KMP_TYPE
223 INTEGER(KIND=JPIM),
INTENT(OUT),
OPTIONAL :: KERROR,KREQUEST
224 CHARACTER*(*),
INTENT(IN),
OPTIONAL :: CDSTRING
226 INTEGER(KIND=JPIM) :: ICOUNT,ICOMM,IERROR,IROOT,IPL_NUMPROC,IPL_MYRANK,IMP_TYPE
229 CALL mpl_broadcast_preamb1(iroot,icomm,ipl_numproc,ipl_myrank,imp_type,llreturn,kerror,kcomm,kroot,kmp_type)
238 CALL mpi_bcast(pbuf,icount,int(mpi_real8),iroot-1,icomm,ierror)
240 IF(.NOT.
PRESENT(krequest))
CALL mpl_message(kerror,
'MPL_SEND',
' KREQUEST MISSING',ldabort=
llabort)
241 CALL mpi_ibcast(pbuf,icount,int(mpi_real8),iroot-1,icomm,krequest,ierror)
243 IF(
PRESENT(kerror))
THEN 250 IF(iroot == ipl_myrank)
THEN 256 IF(
PRESENT(kerror))
THEN 268 REAL(KIND=JPRM) :: PBUF(:,:)
269 INTEGER(KIND=JPIM),
INTENT(IN) :: KTAG
270 INTEGER(KIND=JPIM),
INTENT(IN),
OPTIONAL :: KROOT,KCOMM,KMP_TYPE
271 INTEGER(KIND=JPIM),
INTENT(OUT),
OPTIONAL :: KERROR,KREQUEST
272 CHARACTER*(*),
INTENT(IN),
OPTIONAL :: CDSTRING
274 INTEGER(KIND=JPIM) :: ICOUNT,ICOMM,IERROR,IROOT,IPL_NUMPROC,IPL_MYRANK,IMP_TYPE
277 CALL mpl_broadcast_preamb1(iroot,icomm,ipl_numproc,ipl_myrank,imp_type,llreturn,kerror,kcomm,kroot,kmp_type)
284 IF( (loc(pbuf(ubound(pbuf,1),ubound(pbuf,2))) - &
285 & loc(pbuf(lbound(pbuf,1),lbound(pbuf,2)))) /= 4_jpib*(icount - 1) )
THEN 291 CALL mpi_bcast(pbuf(1,1),icount,int(mpi_real4),iroot-1,icomm,ierror)
293 IF(.NOT.
PRESENT(krequest))
CALL mpl_message(kerror,
'MPL_SEND',
' KREQUEST MISSING',ldabort=
llabort)
294 CALL mpi_ibcast(pbuf(1,1),icount,int(mpi_real4),iroot-1,icomm,krequest,ierror)
296 IF(
PRESENT(kerror))
THEN 304 IF(iroot == ipl_myrank)
THEN 310 IF(
PRESENT(kerror))
THEN 321 REAL(KIND=JPRM) :: PBUF(:,:,:)
322 INTEGER(KIND=JPIM),
INTENT(IN) :: KTAG
323 INTEGER(KIND=JPIM),
INTENT(IN),
OPTIONAL :: KROOT,KCOMM,KMP_TYPE
324 INTEGER(KIND=JPIM),
INTENT(OUT),
OPTIONAL :: KERROR,KREQUEST
325 CHARACTER*(*),
INTENT(IN),
OPTIONAL :: CDSTRING
327 INTEGER(KIND=JPIM) :: ICOUNT,ICOMM,IERROR,IROOT,IPL_NUMPROC,IPL_MYRANK,IMP_TYPE
330 CALL mpl_broadcast_preamb1(iroot,icomm,ipl_numproc,ipl_myrank,imp_type,llreturn,kerror,kcomm,kroot,kmp_type)
337 IF( (loc(pbuf(ubound(pbuf,1),ubound(pbuf,2),ubound(pbuf,3))) - &
338 & loc(pbuf(lbound(pbuf,1),lbound(pbuf,2),lbound(pbuf,3)))) /= 4_jpib*(icount - 1) )
THEN 344 CALL mpi_bcast(pbuf(1,1,1),icount,int(mpi_real4),iroot-1,icomm,ierror)
346 IF(.NOT.
PRESENT(krequest))
CALL mpl_message(kerror,
'MPL_SEND',
' KREQUEST MISSING',ldabort=
llabort)
347 CALL mpi_ibcast(pbuf(1,1,1),icount,int(mpi_real4),iroot-1,icomm,krequest,ierror)
349 IF(
PRESENT(kerror))
THEN 357 IF(iroot == ipl_myrank)
THEN 363 IF(
PRESENT(kerror))
THEN 374 REAL(KIND=JPRM) :: PBUF(:,:,:,:)
375 INTEGER(KIND=JPIM),
INTENT(IN) :: KTAG
376 INTEGER(KIND=JPIM),
INTENT(IN),
OPTIONAL :: KROOT,KCOMM,KMP_TYPE
377 INTEGER(KIND=JPIM),
INTENT(OUT),
OPTIONAL :: KERROR,KREQUEST
378 CHARACTER*(*),
INTENT(IN),
OPTIONAL :: CDSTRING
380 INTEGER(KIND=JPIM) :: ICOUNT,ICOMM,IERROR,IROOT,IPL_NUMPROC,IPL_MYRANK,IMP_TYPE
383 CALL mpl_broadcast_preamb1(iroot,icomm,ipl_numproc,ipl_myrank,imp_type,llreturn,kerror,kcomm,kroot,kmp_type)
390 IF( (loc(pbuf(ubound(pbuf,1),ubound(pbuf,2),ubound(pbuf,3),ubound(pbuf,4))) - &
391 & loc(pbuf(lbound(pbuf,1),lbound(pbuf,2),lbound(pbuf,3),lbound(pbuf,4)))) &
392 & /= 4_jpib*(icount - 1) )
THEN 398 CALL mpi_bcast(pbuf(1,1,1,1),icount,int(mpi_real4),iroot-1,icomm,ierror)
400 IF(.NOT.
PRESENT(krequest))
CALL mpl_message(kerror,
'MPL_SEND',
' KREQUEST MISSING',ldabort=
llabort)
401 CALL mpi_ibcast(pbuf(1,1,1,1),icount,int(mpi_real4),iroot-1,icomm,krequest,ierror)
403 IF(
PRESENT(kerror))
THEN 411 IF(iroot == ipl_myrank)
THEN 417 IF(
PRESENT(kerror))
THEN 427 KCOMM,KERROR,KREQUEST,CDSTRING)
429 #ifdef USE_8_BYTE_WORDS 431 mpi_comm_size => mpi_comm_size8, mpi_bcast => mpi_bcast8
434 REAL(KIND=JPRD) :: PBUF(:,:)
435 INTEGER(KIND=JPIM),
INTENT(IN) :: KTAG
436 INTEGER(KIND=JPIM),
INTENT(IN),
OPTIONAL :: KROOT,KCOMM,KMP_TYPE
437 INTEGER(KIND=JPIM),
INTENT(OUT),
OPTIONAL :: KERROR,KREQUEST
438 CHARACTER*(*),
INTENT(IN),
OPTIONAL :: CDSTRING
440 INTEGER(KIND=JPIM) :: ICOUNT,ICOMM,IERROR,IROOT,IPL_NUMPROC,IPL_MYRANK,IMP_TYPE
443 CALL mpl_broadcast_preamb1(iroot,icomm,ipl_numproc,ipl_myrank,imp_type,llreturn,kerror,kcomm,kroot,kmp_type)
451 IF( (loc(pbuf(ubound(pbuf,1),ubound(pbuf,2))) - &
452 & loc(pbuf(lbound(pbuf,1),lbound(pbuf,2)))) /= 8_jpib*(icount - 1) )
THEN 459 CALL mpi_bcast(pbuf(1,1),icount,int(mpi_real8),iroot-1,icomm,ierror)
461 IF(.NOT.
PRESENT(krequest))
CALL mpl_message(kerror,
'MPL_SEND',
' KREQUEST MISSING',ldabort=
llabort)
462 CALL mpi_ibcast(pbuf(1,1),icount,int(mpi_real8),iroot-1,icomm,krequest,ierror)
464 IF(
PRESENT(kerror))
THEN 472 IF(iroot == ipl_myrank)
THEN 478 IF(
PRESENT(kerror))
THEN 488 KCOMM,KERROR,KREQUEST,CDSTRING)
490 #ifdef USE_8_BYTE_WORDS 492 mpi_comm_size => mpi_comm_size8, mpi_bcast => mpi_bcast8
496 REAL(KIND=JPRD) :: PBUF(:,:,:)
497 INTEGER(KIND=JPIM),
INTENT(IN) :: KTAG
498 INTEGER(KIND=JPIM),
INTENT(IN),
OPTIONAL :: KROOT,KCOMM,KMP_TYPE
499 INTEGER(KIND=JPIM),
INTENT(OUT),
OPTIONAL :: KERROR,KREQUEST
500 CHARACTER*(*),
INTENT(IN),
OPTIONAL :: CDSTRING
502 INTEGER(KIND=JPIM) :: ICOUNT,ICOMM,IERROR,IROOT,IPL_NUMPROC,IPL_MYRANK,IMP_TYPE
505 CALL mpl_broadcast_preamb1(iroot,icomm,ipl_numproc,ipl_myrank,imp_type,llreturn,kerror,kcomm,kroot,kmp_type)
513 IF( (loc(pbuf(ubound(pbuf,1),ubound(pbuf,2),ubound(pbuf,3))) - &
514 & loc(pbuf(lbound(pbuf,1),lbound(pbuf,2),lbound(pbuf,3)))) /= 8_jpib*(icount - 1) )
THEN 521 CALL mpi_bcast(pbuf(1,1,1),icount,int(mpi_real8),iroot-1,icomm,ierror)
523 IF(.NOT.
PRESENT(krequest))
CALL mpl_message(kerror,
'MPL_SEND',
' KREQUEST MISSING',ldabort=
llabort)
524 CALL mpi_ibcast(pbuf(1,1,1),icount,int(mpi_real8),iroot-1,icomm,krequest,ierror)
526 IF(
PRESENT(kerror))
THEN 533 IF(iroot == ipl_myrank)
THEN 539 IF(
PRESENT(kerror))
THEN 549 KCOMM,KERROR,KREQUEST,CDSTRING)
551 #ifdef USE_8_BYTE_WORDS 553 mpi_comm_size => mpi_comm_size8, mpi_bcast => mpi_bcast8
557 REAL(KIND=JPRD) :: PBUF(:,:,:,:)
558 INTEGER(KIND=JPIM),
INTENT(IN) :: KTAG
559 INTEGER(KIND=JPIM),
INTENT(IN),
OPTIONAL :: KROOT,KCOMM,KMP_TYPE
560 INTEGER(KIND=JPIM),
INTENT(OUT),
OPTIONAL :: KERROR,KREQUEST
561 CHARACTER*(*),
INTENT(IN),
OPTIONAL :: CDSTRING
563 INTEGER(KIND=JPIM) :: ICOUNT,ICOMM,IERROR,IROOT,IPL_NUMPROC,IPL_MYRANK,IMP_TYPE
566 CALL mpl_broadcast_preamb1(iroot,icomm,ipl_numproc,ipl_myrank,imp_type,llreturn,kerror,kcomm,kroot,kmp_type)
574 IF( (loc(pbuf(ubound(pbuf,1),ubound(pbuf,2),ubound(pbuf,3),ubound(pbuf,4))) - &
575 & loc(pbuf(lbound(pbuf,1),lbound(pbuf,2),lbound(pbuf,3),lbound(pbuf,4)))) /= 8_jpib*(icount - 1) )
THEN 582 CALL mpi_bcast(pbuf(1,1,1,1),icount,int(mpi_real8),iroot-1,icomm,ierror)
584 IF(.NOT.
PRESENT(krequest))
CALL mpl_message(kerror,
'MPL_SEND',
' KREQUEST MISSING',ldabort=
llabort)
585 CALL mpi_ibcast(pbuf(1,1,1,1),icount,int(mpi_real8),iroot-1,icomm,krequest,ierror)
587 IF(
PRESENT(kerror))
THEN 595 IF(iroot == ipl_myrank)
THEN 601 IF(
PRESENT(kerror))
THEN 612 KCOMM,KERROR,KREQUEST,CDSTRING)
615 #ifdef USE_8_BYTE_WORDS 617 mpi_comm_size => mpi_comm_size8, mpi_bcast => mpi_bcast8
621 REAL(KIND=JPRM) :: PBUF
622 INTEGER(KIND=JPIM),
INTENT(IN) :: KTAG
623 INTEGER(KIND=JPIM),
INTENT(IN),
OPTIONAL :: KROOT,KCOMM,KMP_TYPE
624 INTEGER(KIND=JPIM),
INTENT(OUT),
OPTIONAL :: KERROR,KREQUEST
625 CHARACTER*(*),
INTENT(IN),
OPTIONAL :: CDSTRING
627 INTEGER(KIND=JPIM) :: ICOUNT,ICOMM,IERROR,IROOT,IPL_NUMPROC,IPL_MYRANK,IMP_TYPE
630 CALL mpl_broadcast_preamb1(iroot,icomm,ipl_numproc,ipl_myrank,imp_type,llreturn,kerror,kcomm,kroot,kmp_type)
638 CALL mpi_bcast(pbuf,icount,int(mpi_real4),iroot-1,icomm,ierror)
640 IF(.NOT.
PRESENT(krequest))
CALL mpl_message(kerror,
'MPL_SEND',
' KREQUEST MISSING',ldabort=
llabort)
641 CALL mpi_ibcast(pbuf,icount,int(mpi_real4),iroot-1,icomm,krequest,ierror)
643 IF(
PRESENT(kerror))
THEN 650 IF(
PRESENT(kerror))
THEN 660 KCOMM,KERROR,KREQUEST,CDSTRING)
663 #ifdef USE_8_BYTE_WORDS 665 mpi_comm_size => mpi_comm_size8, mpi_bcast => mpi_bcast8
669 REAL(KIND=JPRD) :: PBUF
670 INTEGER(KIND=JPIM),
INTENT(IN) :: KTAG
671 INTEGER(KIND=JPIM),
INTENT(IN),
OPTIONAL :: KROOT,KCOMM,KMP_TYPE
672 INTEGER(KIND=JPIM),
INTENT(OUT),
OPTIONAL :: KERROR,KREQUEST
673 CHARACTER*(*),
INTENT(IN),
OPTIONAL :: CDSTRING
675 INTEGER(KIND=JPIM) :: ICOUNT,ICOMM,IERROR,IROOT,IPL_NUMPROC,IPL_MYRANK,IMP_TYPE
678 CALL mpl_broadcast_preamb1(iroot,icomm,ipl_numproc,ipl_myrank,imp_type,llreturn,kerror,kcomm,kroot,kmp_type)
686 CALL mpi_bcast(pbuf,icount,int(mpi_real8),iroot-1,icomm,ierror)
688 IF(.NOT.
PRESENT(krequest))
CALL mpl_message(kerror,
'MPL_SEND',
' KREQUEST MISSING',ldabort=
llabort)
689 CALL mpi_ibcast(pbuf,icount,int(mpi_real8),iroot-1,icomm,krequest,ierror)
691 IF(
PRESENT(kerror))
THEN 698 IF(
PRESENT(kerror))
THEN 709 KCOMM,KERROR,KREQUEST,CDSTRING)
712 #ifdef USE_8_BYTE_WORDS 714 mpi_comm_size => mpi_comm_size8, mpi_bcast => mpi_bcast8
718 INTEGER(KIND=JPIM) :: KBUF(:)
719 INTEGER(KIND=JPIM),
INTENT(IN) :: KTAG
720 INTEGER(KIND=JPIM),
INTENT(IN),
OPTIONAL :: KROOT,KCOMM,KMP_TYPE
721 INTEGER(KIND=JPIM),
INTENT(OUT),
OPTIONAL :: KERROR,KREQUEST
722 CHARACTER*(*),
INTENT(IN),
OPTIONAL :: CDSTRING
724 INTEGER(KIND=JPIM) :: ICOUNT,ICOMM,IERROR,IROOT,IPL_NUMPROC,IPL_MYRANK,IMP_TYPE
727 CALL mpl_broadcast_preamb1(iroot,icomm,ipl_numproc,ipl_myrank,imp_type,llreturn,kerror,kcomm,kroot,kmp_type)
735 CALL mpi_bcast(kbuf,icount,int(mpi_integer),iroot-1,icomm,ierror)
737 IF(.NOT.
PRESENT(krequest))
CALL mpl_message(kerror,
'MPL_SEND',
' KREQUEST MISSING',ldabort=
llabort)
738 CALL mpi_ibcast(kbuf,icount,int(mpi_integer),iroot-1,icomm,krequest,ierror)
740 IF(
PRESENT(kerror))
THEN 748 IF(iroot == ipl_myrank)
THEN 754 IF(
PRESENT(kerror))
THEN 765 KCOMM,KERROR,KREQUEST,CDSTRING)
767 INTEGER(KIND=JPIM) :: KBUF(:,:)
768 INTEGER(KIND=JPIM),
INTENT(IN) :: KTAG
769 INTEGER(KIND=JPIM),
INTENT(IN),
OPTIONAL :: KROOT,KCOMM,KMP_TYPE
770 INTEGER(KIND=JPIM),
INTENT(OUT),
OPTIONAL :: KERROR,KREQUEST
771 CHARACTER*(*),
INTENT(IN),
OPTIONAL :: CDSTRING
773 INTEGER(KIND=JPIM) :: ICOUNT,ICOMM,IERROR,IROOT,IPL_NUMPROC,IPL_MYRANK,IMP_TYPE
777 CALL mpl_broadcast_preamb1(iroot,icomm,ipl_numproc,ipl_myrank,imp_type,llreturn,kerror,kcomm,kroot,kmp_type)
784 IF( (loc(kbuf(ubound(kbuf,1),ubound(kbuf,2))) - &
785 & loc(kbuf(lbound(kbuf,1),lbound(kbuf,2)))) /= 4_jpib*(icount - 1) )
THEN 791 CALL mpi_bcast(kbuf(1,1),icount,int(mpi_integer),iroot-1,icomm,ierror)
793 IF(.NOT.
PRESENT(krequest))
CALL mpl_message(kerror,
'MPL_SEND',
' KREQUEST MISSING',ldabort=
llabort)
794 CALL mpi_ibcast(kbuf(1,1),icount,int(mpi_integer),iroot-1,icomm,krequest,ierror)
796 IF(
PRESENT(kerror))
THEN 804 IF(iroot == ipl_myrank)
THEN 810 IF(
PRESENT(kerror))
THEN 820 KCOMM,KERROR,KREQUEST,CDSTRING)
822 INTEGER(KIND=JPIM) :: KBUF(:,:,:)
823 INTEGER(KIND=JPIM),
INTENT(IN) :: KTAG
824 INTEGER(KIND=JPIM),
INTENT(IN),
OPTIONAL :: KROOT,KCOMM,KMP_TYPE
825 INTEGER(KIND=JPIM),
INTENT(OUT),
OPTIONAL :: KERROR,KREQUEST
826 CHARACTER*(*),
INTENT(IN),
OPTIONAL :: CDSTRING
828 INTEGER(KIND=JPIM) :: ICOUNT,ICOMM,IERROR,IROOT,IPL_NUMPROC,IPL_MYRANK,IMP_TYPE
832 CALL mpl_broadcast_preamb1(iroot,icomm,ipl_numproc,ipl_myrank,imp_type,llreturn,kerror,kcomm,kroot,kmp_type)
839 IF( (loc(kbuf(ubound(kbuf,1),ubound(kbuf,2),ubound(kbuf,3))) - &
840 & loc(kbuf(lbound(kbuf,1),lbound(kbuf,2),lbound(kbuf,3)))) /= 4_jpib*(icount - 1) )
THEN 846 CALL mpi_bcast(kbuf(1,1,1),icount,int(mpi_integer),iroot-1,icomm,ierror)
848 IF(.NOT.
PRESENT(krequest))
CALL mpl_message(kerror,
'MPL_SEND',
' KREQUEST MISSING',ldabort=
llabort)
849 CALL mpi_ibcast(kbuf(1,1,1),icount,int(mpi_integer),iroot-1,icomm,krequest,ierror)
851 IF(
PRESENT(kerror))
THEN 859 IF(iroot == ipl_myrank)
THEN 865 IF(
PRESENT(kerror))
THEN 875 KCOMM,KERROR,KREQUEST,CDSTRING)
878 #ifdef USE_8_BYTE_WORDS 880 mpi_comm_size => mpi_comm_size8, mpi_bcast => mpi_bcast8
884 INTEGER(KIND=JPIM) :: KBUF
885 INTEGER(KIND=JPIM),
INTENT(IN) :: KTAG
886 INTEGER(KIND=JPIM),
INTENT(IN),
OPTIONAL :: KROOT,KCOMM,KMP_TYPE
887 INTEGER(KIND=JPIM),
INTENT(OUT),
OPTIONAL :: KERROR,KREQUEST
888 CHARACTER*(*),
INTENT(IN),
OPTIONAL :: CDSTRING
890 INTEGER(KIND=JPIM) :: ICOUNT,ICOMM,IERROR,IROOT,IPL_NUMPROC,IPL_MYRANK,IMP_TYPE
893 CALL mpl_broadcast_preamb1(iroot,icomm,ipl_numproc,ipl_myrank,imp_type,llreturn,kerror,kcomm,kroot,kmp_type)
901 CALL mpi_bcast(kbuf,icount,int(mpi_integer),iroot-1,icomm,ierror)
903 IF(.NOT.
PRESENT(krequest))
CALL mpl_message(kerror,
'MPL_SEND',
' KREQUEST MISSING',ldabort=
llabort)
904 CALL mpi_ibcast(kbuf,icount,int(mpi_integer),iroot-1,icomm,krequest,ierror)
906 IF(
PRESENT(kerror))
THEN 914 IF(iroot == ipl_myrank)
THEN 920 IF(
PRESENT(kerror))
THEN 931 KCOMM,KERROR,KREQUEST,CDSTRING)
934 #ifdef USE_8_BYTE_WORDS 936 mpi_comm_size => mpi_comm_size8, mpi_bcast => mpi_bcast8
940 CHARACTER*(*) :: CDBUF
941 INTEGER(KIND=JPIM),
INTENT(IN) :: KTAG
942 INTEGER(KIND=JPIM),
INTENT(IN),
OPTIONAL :: KROOT,KCOMM,KMP_TYPE
943 INTEGER(KIND=JPIM),
INTENT(OUT),
OPTIONAL :: KERROR,KREQUEST
944 CHARACTER*(*),
INTENT(IN),
OPTIONAL :: CDSTRING
946 INTEGER(KIND=JPIM) :: ICOUNT,ICOMM,IERROR,IROOT,IPL_NUMPROC,IPL_MYRANK,IMP_TYPE
949 CALL mpl_broadcast_preamb1(iroot,icomm,ipl_numproc,ipl_myrank,imp_type,llreturn,kerror,kcomm,kroot,kmp_type)
957 CALL mpi_bcast(cdbuf,icount,int(mpi_byte),iroot-1,icomm,ierror)
959 IF(.NOT.
PRESENT(krequest))
CALL mpl_message(kerror,
'MPL_SEND',
' KREQUEST MISSING',ldabort=
llabort)
960 CALL mpi_ibcast(cdbuf,icount,int(mpi_byte),iroot-1,icomm,krequest,ierror)
962 IF(
PRESENT(kerror))
THEN 970 IF(iroot == ipl_myrank)
THEN 976 IF(
PRESENT(kerror))
THEN 986 KCOMM,KERROR,KREQUEST,CDSTRING)
989 #ifdef USE_8_BYTE_WORDS 991 mpi_comm_size => mpi_comm_size8, mpi_bcast => mpi_bcast8
995 CHARACTER*(*) :: CDBUF (:)
996 INTEGER(KIND=JPIM),
INTENT(IN) :: KTAG
997 INTEGER(KIND=JPIM),
INTENT(IN),
OPTIONAL :: KROOT,KCOMM,KMP_TYPE
998 INTEGER(KIND=JPIM),
INTENT(OUT),
OPTIONAL :: KERROR,KREQUEST
999 CHARACTER*(*),
INTENT(IN),
OPTIONAL :: CDSTRING
1001 INTEGER(KIND=JPIM) :: ICOUNT,ICOMM,IERROR,IROOT,IPL_NUMPROC,IPL_MYRANK,IMP_TYPE
1004 CALL mpl_broadcast_preamb1(iroot,icomm,ipl_numproc,ipl_myrank,imp_type,llreturn,kerror,kcomm,kroot,kmp_type)
1005 IF (llreturn)
RETURN 1009 icount = len(cdbuf)*
SIZE(cdbuf)
1012 CALL mpi_bcast(cdbuf,icount,int(mpi_byte),iroot-1,icomm,ierror)
1014 IF(.NOT.
PRESENT(krequest))
CALL mpl_message(kerror,
'MPL_SEND',
' KREQUEST MISSING',ldabort=
llabort)
1015 CALL mpi_ibcast(cdbuf,icount,int(mpi_byte),iroot-1,icomm,krequest,ierror)
1017 IF(
PRESENT(kerror))
THEN 1025 IF(iroot == ipl_myrank)
THEN 1031 IF(
PRESENT(kerror))
THEN 1041 KCOMM,KERROR,KREQUEST,CDSTRING)
1044 #ifdef USE_8_BYTE_WORDS 1046 mpi_comm_size => mpi_comm_size8, mpi_bcast => mpi_bcast8
1051 INTEGER(KIND=JPIM),
INTENT(IN) :: KTAG
1052 INTEGER(KIND=JPIM),
INTENT(IN),
OPTIONAL :: KROOT,KCOMM,KMP_TYPE
1053 INTEGER(KIND=JPIM),
INTENT(OUT),
OPTIONAL :: KERROR,KREQUEST
1054 CHARACTER*(*),
INTENT(IN),
OPTIONAL :: CDSTRING
1056 INTEGER(KIND=JPIM) :: ICOUNT,ICOMM,IERROR,IROOT,IPL_NUMPROC,IPL_MYRANK,IMP_TYPE
1059 CALL mpl_broadcast_preamb1(iroot,icomm,ipl_numproc,ipl_myrank,imp_type,llreturn,kerror,kcomm,kroot,kmp_type)
1060 IF (llreturn)
RETURN 1067 CALL mpi_bcast(ldbuf,icount,int(mpi_logical),iroot-1,icomm,ierror)
1069 IF(.NOT.
PRESENT(krequest))
CALL mpl_message(kerror,
'MPL_SEND',
' KREQUEST MISSING',ldabort=
llabort)
1070 CALL mpi_ibcast(ldbuf,icount,int(mpi_logical),iroot-1,icomm,krequest,ierror)
1072 IF(
PRESENT(kerror))
THEN 1080 IF(iroot == ipl_myrank)
THEN 1086 IF(
PRESENT(kerror))
THEN 1096 KCOMM,KERROR,KREQUEST,CDSTRING)
1099 #ifdef USE_8_BYTE_WORDS 1101 mpi_comm_size => mpi_comm_size8, mpi_bcast => mpi_bcast8
1105 LOGICAL :: LDBUF (:)
1106 INTEGER(KIND=JPIM),
INTENT(IN) :: KTAG
1107 INTEGER(KIND=JPIM),
INTENT(IN),
OPTIONAL :: KROOT,KCOMM,KMP_TYPE
1108 INTEGER(KIND=JPIM),
INTENT(OUT),
OPTIONAL :: KERROR,KREQUEST
1109 CHARACTER*(*),
INTENT(IN),
OPTIONAL :: CDSTRING
1111 INTEGER(KIND=JPIM) :: ICOUNT,ICOMM,IERROR,IROOT,IPL_NUMPROC,IPL_MYRANK,IMP_TYPE
1114 CALL mpl_broadcast_preamb1(iroot,icomm,ipl_numproc,ipl_myrank,imp_type,llreturn,kerror,kcomm,kroot,kmp_type)
1115 IF (llreturn)
RETURN 1119 icount =
SIZE (ldbuf)
1122 CALL mpi_bcast (ldbuf,icount,int(mpi_logical),iroot-1,icomm,ierror)
1124 IF(.NOT.
PRESENT(krequest))
CALL mpl_message(kerror,
'MPL_SEND',
' KREQUEST MISSING',ldabort=
llabort)
1125 CALL mpi_ibcast (ldbuf,icount,int(mpi_logical),iroot-1,icomm,krequest,ierror)
1127 IF(
PRESENT(kerror))
THEN 1136 IF(iroot == ipl_myrank)
THEN 1142 IF(
PRESENT(kerror))
THEN
subroutine mpl_broadcast_real82(PBUF, KTAG, KROOT, KMP_TYPE, KCOMM, KERROR, KREQUEST, CDSTRING)
subroutine mpl_broadcast_int_scalar(KBUF, KTAG, KROOT, KMP_TYPE, KCOMM, KERROR, KREQUEST, CDSTRING)
subroutine, public mpl_message(KERROR, CDMESSAGE, CDSTRING, LDABORT)
subroutine mpl_broadcast_char1(CDBUF, KTAG, KROOT, KMP_TYPE, KCOMM, KERROR, KREQUEST, CDSTRING)
subroutine mpl_broadcast_int3(KBUF, KTAG, KROOT, KMP_TYPE, KCOMM, KERROR, KREQUEST, CDSTRING)
integer(kind=jpim), parameter jp_blocking_buffered
subroutine, public mpl_recvstats(ICOUNT, ITYPE)
subroutine mpl_broadcast_real44(PBUF, KTAG, KROOT, KMP_TYPE, KCOMM, KERROR, KREQUEST, CDSTRING)
integer(kind=jpim) mpl_numproc
subroutine mpl_broadcast_real83(PBUF, KTAG, KROOT, KMP_TYPE, KCOMM, KERROR, KREQUEST, CDSTRING)
subroutine mpl_broadcast_char_scalar(CDBUF, KTAG, KROOT, KMP_TYPE, KCOMM, KERROR, KREQUEST, CDSTRING)
integer(kind=jpim), parameter jp_non_blocking_standard
integer(kind=jpim), dimension(:), allocatable mpl_comm_oml
integer(kind=jpim), parameter jp_blocking_standard
subroutine mpl_broadcast_logical1(LDBUF, KTAG, KROOT, KMP_TYPE, KCOMM, KERROR, KREQUEST, CDSTRING)
subroutine, public mpl_sendstats(ICOUNT, ITYPE)
integer(kind=jpim), parameter jp_non_blocking_buffered
subroutine mpl_broadcast_logical_scalar(LDBUF, KTAG, KROOT, KMP_TYPE, KCOMM, KERROR, KREQUEST, CDSTRING)
subroutine mpl_broadcast_int(KBUF, KTAG, KROOT, KMP_TYPE, KCOMM, KERROR, KREQUEST, CDSTRING)
integer(kind=jpim) function, public mpl_myrank(KCOMM)
subroutine mpl_broadcast_preamb1(KROOTR, KCOMMR, KPL_NUMPROC, KPL_MYRANK, KMP_TYPER, LDRETURN, KERROR, KCOMM, KROOT, KMP_TYPE)
subroutine mpl_broadcast_real84(PBUF, KTAG, KROOT, KMP_TYPE, KCOMM, KERROR, KREQUEST, CDSTRING)
integer(kind=jpim) mpl_rank
subroutine mpl_broadcast_real4(PBUF, KTAG, KROOT, KMP_TYPE, KCOMM, KERROR, KREQUEST, CDSTRING)
integer(kind=jpim) mpl_method
subroutine mpl_broadcast_real4_scalar(PBUF, KTAG, KROOT, KMP_TYPE, KCOMM, KERROR, KREQUEST, CDSTRING)
subroutine mpl_broadcast_real42(PBUF, KTAG, KROOT, KMP_TYPE, KCOMM, KERROR, KREQUEST, CDSTRING)
subroutine mpl_broadcast_real8_scalar(PBUF, KTAG, KROOT, KMP_TYPE, KCOMM, KERROR, KREQUEST, CDSTRING)
subroutine mpl_broadcast_real43(PBUF, KTAG, KROOT, KMP_TYPE, KCOMM, KERROR, KREQUEST, CDSTRING)
subroutine mpl_broadcast_real8(PBUF, KTAG, KROOT, KMP_TYPE, KCOMM, KERROR, KREQUEST, CDSTRING)
subroutine mpl_broadcast_int2(KBUF, KTAG, KROOT, KMP_TYPE, KCOMM, KERROR, KREQUEST, CDSTRING)