Page 1 Source Listing EXCH2 2025-03-12 18:23 EXCH2.f 1 SUBROUTINE EXCH2(A) 2 C$$$ SUBPROGRAM DOCUMENTATION BLOCK 3 C . . . 4 C SUBPROGRAM: EXCH2 EXCHANGE TWO HALO ROWS 5 C PRGRMMR: TUCCILLO ORG: IBM 6 C 7 C ABSTRACT: 8 C EXCHANGE TWO HALO ROWS 9 C . 10 C 11 C PROGRAM HISTORY LOG: 12 C 00-01-06 TUCCILLO - ORIGINAL 13 C 14 C USAGE: CALL EXCH2(A) 15 C INPUT ARGUMENT LIST: 16 C A - ARRAY TO HAVE HALOS EXCHANGED 17 C 18 C OUTPUT ARGUMENT LIST: 19 C A - ARRAY WITH HALOS EXCHANGED 20 C 21 C OUTPUT FILES: 22 C STDOUT - RUN TIME STANDARD OUT. 23 C 24 C SUBPROGRAMS CALLED: 25 C MPI_SENDRECV 26 C UTILITIES: 27 C NONE 28 C LIBRARY: 29 C COMMON - CTLBLK.comm 30 C 31 C ATTRIBUTES: 32 C LANGUAGE: FORTRAN 33 C MACHINE : IBM RS/6000 SP 34 C$$$ 35 include "parmeta" 53 include "CTLBLK.comm" 68 include 'mpif.h' 286 real a ( im, jm ) 287 integer status(MPI_STATUS_SIZE) 288 c 289 if ( num_procs .eq. 1 ) return 290 C 291 call mpi_sendrecv(a(1,jend-1),2*im,MPI_REAL,iup,1, 292 & a(1,jsta-2),2*im,MPI_REAL,idn,1, 293 & MPI_COMM_WORLD,status,ierr) 294 if ( ierr .ne. 0 ) then 295 print *, ' problem with first sendrecv in exch2, ierr = ',ierr 296 stop 297 end if 298 call mpi_sendrecv(a(1,jsta ),2*im,MPI_REAL,idn,1, 299 & a(1,jend+1),2*im,MPI_REAL,iup,1, 300 & MPI_COMM_WORLD,status,ierr) 301 if ( ierr .ne. 0 ) then 302 print *, ' problem with second sendrecv in exch2, ierr = ',ierr 303 stop 304 end if 305 c Page 2 Source Listing EXCH2 2025-03-12 18:23 EXCH2.f 306 end ENTRY POINTS Name exch2_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References A Dummy 1 R(4) 4 2 91719 ARG,INOUT 291,292,298,299 CTLBLK Common 55 96 SAVE EXCH2 Subr 1 IDIM1 Param 49 I(4) 4 scalar IDIM2 Param 49 I(4) 4 scalar IERR Local 293 I(4) 4 scalar 293,294,295,300,301,302 IGSTL Param 44 I(4) 4 scalar 49 IGSTR Param 44 I(4) 4 scalar 49 IM Param 38 I(4) 4 scalar 46,49,286,291,292,298,299 INPES Param 41 I(4) 4 scalar 46,49 ITAIL Param 46 I(4) 4 scalar JDIM1 Param 50 I(4) 4 scalar JDIM2 Param 50 I(4) 4 scalar JGSTL Param 45 I(4) 4 scalar 50 JGSTR Param 45 I(4) 4 scalar 50 JM Param 38 I(4) 4 scalar 47,50,286 JNPES Param 41 I(4) 4 scalar 47,50 JTAIL Param 47 I(4) 4 scalar LM Param 38 I(4) 4 scalar LSM Param 38 I(4) 4 scalar MPIPRIV Common 277 36 SAVE MPI_2COMPLEX Param 178 I(4) 4 scalar MPI_2DOUBLE_COMPLEX Param 178 I(4) 4 scalar MPI_2DOUBLE_PRECISION Param 178 I(4) 4 scalar MPI_2INTEGER Param 177 I(4) 4 scalar MPI_2REAL Param 177 I(4) 4 scalar MPI_ADDRESS_KIND Param 257 I(4) 4 scalar MPI_ANY_SOURCE Param 248 I(4) 4 scalar MPI_ANY_TAG Param 250 I(4) 4 scalar MPI_BAND Param 182 I(4) 4 scalar MPI_BOR Param 183 I(4) 4 scalar MPI_BSEND_OVERHEAD Param 123 I(4) 4 scalar MPI_BXOR Param 183 I(4) 4 scalar MPI_BYTE Param 177 I(4) 4 scalar MPI_CART Param 118 I(4) 4 scalar MPI_CHARACTER Param 177 I(4) 4 scalar MPI_COMM_NULL Param 136 I(4) 4 scalar MPI_COMM_SELF Param 181 I(4) 4 scalar MPI_COMM_WORLD Param 181 I(4) 4 scalar 293,300 MPI_COMPLEX Param 176 I(4) 4 scalar MPI_COMPLEX16 Param 215 I(4) 4 scalar MPI_COMPLEX32 Param 215 I(4) 4 scalar MPI_COMPLEX8 Param 215 I(4) 4 scalar Page 3 Source Listing EXCH2 2025-03-12 18:23 Symbol Table EXCH2.f Name Object Declared Type Bytes Dimen Elements Attributes References MPI_CONGRUENT Param 154 I(4) 4 scalar MPI_DATATYPE_NULL Param 139 I(4) 4 scalar MPI_DISTRIBUTE_BLOCK Param 199 I(4) 4 scalar MPI_DISTRIBUTE_CYCLIC Param 199 I(4) 4 scalar MPI_DISTRIBUTE_DFLT_DARG Param 200 I(4) 4 scalar MPI_DISTRIBUTE_NONE Param 200 I(4) 4 scalar MPI_DOUBLE_COMPLEX Param 176 I(4) 4 scalar MPI_DOUBLE_PRECISION Param 175 I(4) 4 scalar MPI_ERRHANDLER_NULL Param 142 I(4) 4 scalar MPI_ERROR Param 126 I(4) 4 scalar MPI_ERRORS_ARE_FATAL Param 186 I(4) 4 scalar MPI_ERRORS_RETURN Param 186 I(4) 4 scalar MPI_ERR_ARG Param 101 I(4) 4 scalar MPI_ERR_BUFFER Param 98 I(4) 4 scalar MPI_ERR_COMM Param 99 I(4) 4 scalar MPI_ERR_COUNT Param 98 I(4) 4 scalar MPI_ERR_DIMS Param 101 I(4) 4 scalar MPI_ERR_GROUP Param 100 I(4) 4 scalar MPI_ERR_INTERN Param 103 I(4) 4 scalar MPI_ERR_IN_STATUS Param 103 I(4) 4 scalar MPI_ERR_LASTCODE Param 104 I(4) 4 scalar MPI_ERR_OP Param 101 I(4) 4 scalar MPI_ERR_OTHER Param 102 I(4) 4 scalar MPI_ERR_PENDING Param 103 I(4) 4 scalar MPI_ERR_RANK Param 99 I(4) 4 scalar MPI_ERR_REQUEST Param 104 I(4) 4 scalar MPI_ERR_ROOT Param 99 I(4) 4 scalar MPI_ERR_TAG Param 99 I(4) 4 scalar MPI_ERR_TOPOLOGY Param 101 I(4) 4 scalar MPI_ERR_TRUNCATE Param 102 I(4) 4 scalar MPI_ERR_TYPE Param 98 I(4) 4 scalar MPI_ERR_UNKNOWN Param 102 I(4) 4 scalar MPI_GRAPH Param 118 I(4) 4 scalar MPI_GROUP_EMPTY Param 181 I(4) 4 scalar MPI_GROUP_NULL Param 145 I(4) 4 scalar MPI_HOST Param 171 I(4) 4 scalar MPI_IDENT Param 154 I(4) 4 scalar MPI_INFO_NULL Param 206 I(4) 4 scalar MPI_INTEGER Param 175 I(4) 4 scalar MPI_INTEGER1 Param 212 I(4) 4 scalar MPI_INTEGER16 Param 213 I(4) 4 scalar MPI_INTEGER2 Param 212 I(4) 4 scalar MPI_INTEGER4 Param 212 I(4) 4 scalar MPI_INTEGER8 Param 212 I(4) 4 scalar MPI_IO Param 171 I(4) 4 scalar MPI_KEYVAL_INVALID Param 148 I(4) 4 scalar MPI_LAND Param 182 I(4) 4 scalar MPI_LB Param 179 I(4) 4 scalar MPI_LOGICAL Param 176 I(4) 4 scalar MPI_LOR Param 183 I(4) 4 scalar MPI_LXOR Param 183 I(4) 4 scalar MPI_MAX Param 182 I(4) 4 scalar MPI_MAXLOC Param 184 I(4) 4 scalar MPI_MAX_ERROR_STRING Param 130 I(4) 4 scalar MPI_MAX_INFO_KEY Param 204 I(4) 4 scalar Page 4 Source Listing EXCH2 2025-03-12 18:23 Symbol Table EXCH2.f Name Object Declared Type Bytes Dimen Elements Attributes References MPI_MAX_INFO_VAL Param 204 I(4) 4 scalar MPI_MAX_NAME_STRING Param 133 I(4) 4 scalar MPI_MAX_PROCESSOR_NAME Param 130 I(4) 4 scalar MPI_MIN Param 182 I(4) 4 scalar MPI_MINLOC Param 183 I(4) 4 scalar MPI_OFFSET_KIND Param 257 I(4) 4 scalar MPI_OP_NULL Param 185 I(4) 4 scalar MPI_ORDER_C Param 197 I(4) 4 scalar MPI_ORDER_FORTRAN Param 197 I(4) 4 scalar MPI_PACKED Param 180 I(4) 4 scalar MPI_PROC_NULL Param 120 I(4) 4 scalar MPI_PROD Param 182 I(4) 4 scalar MPI_REAL Param 175 I(4) 4 scalar 291,292,298,299 MPI_REAL16 Param 214 I(4) 4 scalar MPI_REAL4 Param 214 I(4) 4 scalar MPI_REAL8 Param 214 I(4) 4 scalar MPI_REQUEST_NULL Param 151 I(4) 4 scalar MPI_SENDRECV Subr 291 291,298 MPI_SIMILAR Param 154 I(4) 4 scalar MPI_SOURCE Param 126 I(4) 4 scalar MPI_STATUS_SIZE Param 128 I(4) 4 scalar 173,174,287 MPI_SUBVERSION Param 253 I(4) 4 scalar MPI_SUCCESS Param 98 I(4) 4 scalar MPI_SUM Param 182 I(4) 4 scalar MPI_TAG Param 126 I(4) 4 scalar MPI_TAG_UB Param 171 I(4) 4 scalar MPI_UB Param 179 I(4) 4 scalar MPI_UNDEFINED Param 115 I(4) 4 scalar MPI_UNEQUAL Param 154 I(4) 4 scalar MPI_VERSION Param 253 I(4) 4 scalar MPI_WTIME_IS_GLOBAL Param 180 I(4) 4 scalar PARALLEL Common 62 8240 STATUS Local 287 I(4) 4 1 4 293,300 TYPE COMPONENTS/COMMON VARIABLES Name Type Bytes Offset Dimen Elements Attributes References DT R(4) 4 48 scalar COM FIRST R(4) 4 24 scalar COM ICNT I(4) 4 40 1 1024 COM IDAT I(4) 4 8 1 3 COM IDN I(4) 4 36 scalar COM 292,298 IDSP I(4) 4 4136 1 1024 COM IDTAD I(4) 4 68 scalar COM IHRST I(4) 4 20 scalar COM IOUT I(4) 4 44 scalar COM IUP I(4) 4 32 scalar COM 291,299 JEND I(4) 4 12 scalar COM 291,299 JEND_2U I(4) 4 8236 scalar COM JEND_M I(4) 4 20 scalar COM JEND_M2 I(4) 4 28 scalar COM JSTA I(4) 4 8 scalar COM 292,298 JSTA_2L I(4) 4 8232 scalar COM Page 5 Source Listing EXCH2 2025-03-12 18:23 Symbol Table EXCH2.f Name Type Bytes Offset Dimen Elements Attributes References JSTA_M I(4) 4 16 scalar COM JSTA_M2 I(4) 4 24 scalar COM LIST I(4) 4 40 scalar COM ME I(4) 4 4 scalar COM MPI_BOTTOM I(4) 4 0 scalar COM MPI_STATUSES_IGNORE I(4) 4 20 1 4 COM MPI_STATUS_IGNORE I(4) 4 4 1 4 COM NBC I(4) 4 36 scalar COM NBOCO I(4) 4 72 scalar COM NCP I(4) 4 80 scalar COM NDDAMP I(4) 4 60 scalar COM NFCST I(4) 4 32 scalar COM NPHS I(4) 4 84 scalar COM NPREC I(4) 4 64 scalar COM NRADL I(4) 4 92 scalar COM NRADS I(4) 4 88 scalar COM NSHDE I(4) 4 76 scalar COM NTSD I(4) 4 52 scalar COM NTSTM I(4) 4 56 scalar COM NUM_PROCS I(4) 4 0 scalar COM 289 RESTRT R(4) 4 28 scalar COM RUN R(4) 4 4 scalar COM SIGMA R(4) 4 0 scalar COM Page 6 Source Listing EXCH2 2025-03-12 18:23 Subprograms/Common Blocks EXCH2.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References CTLBLK Common 55 96 SAVE EXCH2 Subr 1 MPIPRIV Common 277 36 SAVE PARALLEL Common 62 8240 COMPILER OPTIONS BEING USED -align noall -align nonone -align nocommons -align nodcommons -align noqcommons -align nozcommons -align records -align nosequence -align norec1byte -align norec2byte -align norec4byte -align norec8byte -align norec16byte -align norec32byte -align norec64byte -align noarray8byte -align noarray16byte -align noarray32byte -align noarray64byte -align noarray128byte -align noarray256byte -altparam -assume accuracy_sensitive -assume nobscc -assume nobuffered_io -assume nobuffered_stdout -assume byterecl -assume nocontiguous_assumed_shape -assume nocontiguous_pointer -assume nocc_omp -assume nocstring -assume nodummy_aliases -assume nofpe_summary -assume noieee_fpe_flags -assume nominus0 -assume noold_boz -assume old_complex_align -assume old_unit_star -assume old_inquire_recl -assume old_ldout_format -assume old_ldout_zero -assume noold_logical_assign -assume noold_logical_ldio -assume old_maxminloc -assume old_xor -assume noprotect_allocates -assume protect_constants -assume noprotect_parens -assume split_common -assume source_include -assume nostd_intent_in -assume std_minus0_rounding -assume nostd_mod_proc_name -assume std_value -assume realloc_lhs -assume underscore -assume no2underscores -assume norecursion no -auto -auto_scalar no -bintext -ccdefault default -check noarg_temp_created -check noassume -check nobounds -check nocontiguous -check noformat -check nooutput_conversion -check nooverflow -check nopointers -check noshape -check nostack -check nouninitialized -check noudio_iostat -coarray-num-procs 0 no -coarray-config-file -convert big_endian -cross_reference -D __INTEL_COMPILER=1910 -D __INTEL_COMPILER_UPDATE=3 -D __unix__ -D __unix -D __linux__ -D __linux -D __gnu_linux__ -D unix -D linux -D __ELF__ Page 7 Source Listing EXCH2 2025-03-12 18:23 EXCH2.f -D __x86_64 -D __x86_64__ -D __amd64 -D __amd64__ -D __INTEL_COMPILER_BUILD_DATE=20200925 -D __INTEL_OFFLOAD -D __MMX__ -D __SSE__ -D __SSE_MATH__ -D __SSE2__ -D __SSE2_MATH__ -D __SSE3__ -D __SSSE3__ -D __SSE4_1__ -D __SSE4_2__ -D __POPCNT__ -D __PCLMUL__ -D __AES__ -D __AVX__ -D __F16C__ -D __AVX_I__ -D __RDRND__ -D __FMA__ -D __FP_FAST_FMA -D __FP_FAST_FMAF -D __BMI__ -D __LZCNT__ -D __AVX2__ -D __haswell -D __haswell__ -D __tune_haswell__ -D __core_avx2 -D __core_avx2__ -D __tune_core_avx2__ -D __CRAY_X86_ROME -D __CRAYXT_COMPUTE_LINUX_TARGET -double_size 64 no -d_lines no -Qdyncom -error_limit 30 no -f66 no -f77rtl no -fast -fpscomp nofilesfromcmd -fpscomp nogeneral -fpscomp noioformat -fpscomp noldio_spacing -fpscomp nologicals -fixed no -fpconstant -fpe3 -fprm nearest no -ftz -fp_model noprecise -fp_model fast -fp_model nostrict -fp_model nosource -fp_model nodouble -fp_model noextended -fp_model novery_fast -fp_model noexcept -fp_model nono_except -heap_arrays 0 no -threadprivate_compat -g2 -iface nomixed_str_len_arg -iface nono_mixed_str_len_arg -init noarrays -init nohuge -init noinfinity -init nominus_huge -init nominus_infinity -init nominus_tiny -init nonan -init nosnan -init notiny -init nozero no -intconstant -integer_size 32 no -mixed_str_len_arg no -module -names lowercase no -noinclude no -o -offload-build=host -openmp-simd -O2 no -pad_source -real_size 32 no -recursive -reentrancy threaded -vec=simd -show nofullpath -show noinclude -show map -show options no -syntax_only no -threadcom no -U no -vms -w noall -w nonone -w alignments -w nodeclarations -w noexternals -w general -w noignore_bounds -w noignore_loc -w nointerfaces -w noshape -w notruncated_source -w uncalled -w uninitialized -w nounused Page 8 Source Listing EXCH2 2025-03-12 18:23 EXCH2.f -w usage no -wrap-margins -includepath : /pe/intel/compilers_and_libraries_2020.4.304/linux/pstl/include/,/pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/, .f90,./.f90,/opt/cray/pe/mpich/8.1.12/ofi/intel/19.0/include/.f90,/pe/intel/compilers_and_libraries_2020.4.304/linux/ipp/include/.f90, /pe/intel/compilers_and_libraries_2020.4.304/linux/mkl/include/.f90,/pe/intel/compilers_and_libraries_2020.4.304/linux/pstl/include/.f90, /pe/intel/compilers_and_libraries_2020.4.304/linux/pstl/stdlib/.f90,/pe/intel/compilers_and_libraries_2020.4.304/linux/tbb/include/.f90, /pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/intel64/.f90,/pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/icc/.f90, /pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/.f90,/usr/lib64/gcc/x86_64-suse-linux/7/include/.f90, /usr/lib64/gcc/x86_64-suse-linux/7/include-fixed/.f90,/usr/include/.f90,/usr/include/.f90,/usr/include/.f90 -list filename : EXCH2.lst no -o COMPILER: Intel(R) Fortran 19.1-1655