Page 1 Source Listing MPI_FIRST 2014-12-17 20:48 MPI_FIRST.f 1 SUBROUTINE MPI_FIRST 2 C$$$ SUBPROGRAM DOCUMENTATION BLOCK 3 C . . . 4 C SUBPROGRAM: MPI_FIRST SET UP MESSGAE PASSING INFO 5 C PRGRMMR: TUCCILLO ORG: IBM 6 C 7 C ABSTRACT: 8 C SETS UP MESSAGE PASSING INFO 9 C . 10 C 11 C PROGRAM HISTORY LOG: 12 C 00-01-06 TUCCILLO - ORIGINAL 13 C 14 C USAGE: CALL MPI_FIRST 15 C INPUT ARGUMENT LIST: 16 C 17 C OUTPUT ARGUMENT LIST: 18 C 19 C OUTPUT FILES: 20 C STDOUT - RUN TIME STANDARD OUT. 21 C 22 C SUBPROGRAMS CALLED: 23 C MPI_INIT 24 C MPI_COMM_SIZE 25 C MPI_COMM_RANK 26 C PARA_RANGE 27 C UTILITIES: 28 C NONE 29 C LIBRARY: 30 C COMMON - CTLBLK.comm 31 C 32 C ATTRIBUTES: 33 C LANGUAGE: FORTRAN 34 C MACHINE : IBM RS/6000 SP 35 C$$$ 36 c 37 include "CTLBLK.comm" 52 include "parmeta" 70 include 'mpif.h' 71 c 289 integer ierr 290 c 291 call mpi_init(ierr) 292 call mpi_comm_size(MPI_COMM_WORLD,NUM_PROCS, ierr ) 293 call mpi_comm_rank(MPI_COMM_WORLD,ME, ierr ) 294 c 295 if ( me .eq. 0 ) then 296 c print *, ' NUM_PROCS = ',num_procs 297 end if 298 299 if ( num_procs .gt. 1024 ) then 300 print *, ' too many MPI tasks, max is 1024, stopping' 301 call mpi_last 302 stop 303 end if 304 c 305 c error check Page 2 Source Listing MPI_FIRST 2014-12-17 20:48 MPI_FIRST.f 306 c 307 if ( num_procs .gt. JM/2 ) then 308 print *, ' too many MPI tasks, max is ',jm/2,' stopping' 309 call mpi_last 310 stop 311 end if 312 c 313 c global loop ranges 314 c 315 call para_range(1,jm,num_procs,me,jsta,jend) 316 jsta_m = jsta 317 jsta_m2 = jsta 318 jend_m = jend 319 jend_m2 = jend 320 if ( me .eq. 0 ) then 321 jsta_m = 2 322 jsta_m2 = 3 323 end if 324 if ( me .eq. num_procs - 1 ) then 325 jend_m = jm - 1 326 jend_m2 = jm - 2 327 end if 328 c 329 c neighbors 330 c 331 iup = me + 1 332 idn = me - 1 333 if ( me .eq. 0 ) then 334 idn = MPI_PROC_NULL 335 end if 336 if ( me .eq. num_procs - 1 ) then 337 iup = MPI_PROC_NULL 338 end if 339 C 340 c print *, ' ME, NUM_PROCS = ',me,num_procs 341 c print *, ' ME, JSTA, JSTA_M, JSTA_M2 = ',me,jsta,jsta_m,jsta_m2 342 c print *, ' ME, JEND, JEND_M, JEND_M2 = ',me,jend,jend_m,jend_m2 343 c print *, ' ME, IUP, IDN = ',me,iup,idn 344 c 345 c counts, disps for gatherv and scatterv 346 c 347 do i = 0, num_procs - 1 348 call para_range(1,jm,num_procs,i,jsx,jex) 349 icnt(i) = (jex-jsx+1)*im 350 idsp(i) = (jsx-1)*im 351 if ( me .eq. 0 ) then 352 c print *, ' i, icnt(i),idsp(i) = ',i,icnt(i),idsp(i) 353 end if 354 end do 355 c 356 c extraction limits 357 c 358 jsta_2l = max(jsta - 1, 1 ) 359 jend_2u = min(jend + 1, jm ) 360 c print *, ' me, jsta_2l, jend_2u = ',me,jsta_2l, jend_2u 361 c 362 end Page 3 Source Listing MPI_FIRST 2014-12-17 20:48 Entry Points MPI_FIRST.f ENTRY POINTS Name mpi_first_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References CTLBLK Common 2 96 DT Scalar 4 R(4) 4 scalar COM FIRST Scalar 3 R(4) 4 scalar COM I Local 99 I(4) 4 scalar 99,100,101,102 ICNT Scalar 7 I(4) 4 1 1024 COM 101 IDAT Scalar 3 I(4) 4 1 3 COM IDIM1 Param 14 I(4) 4 scalar IDIM2 Param 14 I(4) 4 scalar IDN Scalar 7 I(4) 4 scalar COM 84,86 IDSP Scalar 7 I(4) 4 1 1024 COM 102 IDTAD Scalar 4 I(4) 4 scalar COM IERR Local 41 I(4) 4 scalar 43,44,45 IGSTL Param 9 I(4) 4 scalar 14 IGSTR Param 9 I(4) 4 scalar 14 IHRST Scalar 3 I(4) 4 scalar COM IM Param 3 I(4) 4 scalar 11,14,101,102 INPES Param 6 I(4) 4 scalar 11,14 IOUT Scalar 3 I(4) 4 scalar COM ITAIL Param 11 I(4) 4 scalar IUP Scalar 7 I(4) 4 scalar COM 83,89 JDIM1 Param 15 I(4) 4 scalar JDIM2 Param 15 I(4) 4 scalar JEND Scalar 6 I(4) 4 scalar COM 67,70,71,111 JEND_2U Scalar 8 I(4) 4 scalar COM 111 JEND_M Scalar 7 I(4) 4 scalar COM 70,77 JEND_M2 Scalar 7 I(4) 4 scalar COM 71,78 JEX Local 100 I(4) 4 scalar 100,101 JGSTL Param 10 I(4) 4 scalar 15 JGSTR Param 10 I(4) 4 scalar 15 JM Param 3 I(4) 4 scalar 12,15,59,60,67,77,78,100,111 JNPES Param 6 I(4) 4 scalar 12,15 JSTA Scalar 6 I(4) 4 scalar COM 67,68,69,110 JSTA_2L Scalar 8 I(4) 4 scalar COM 110 JSTA_M Scalar 7 I(4) 4 scalar COM 68,73 JSTA_M2 Scalar 7 I(4) 4 scalar COM 69,74 JSX Local 100 I(4) 4 scalar 100,101,102 JTAIL Param 12 I(4) 4 scalar LIST Scalar 3 I(4) 4 scalar COM LM Param 3 I(4) 4 scalar LSM Param 3 I(4) 4 scalar MAX Func 110 scalar 110 ME Scalar 6 I(4) 4 scalar COM 45,47,67,72,76,83,84,85,88,103 MIN Func 111 scalar 111 MPIPRIV Common 209 36 Page 4 Source Listing MPI_FIRST 2014-12-17 20:48 Symbol Table MPI_FIRST.f Name Object Declared Type Bytes Dimen Elements Attributes References MPI_2COMPLEX Param 110 I(4) 4 scalar MPI_2DOUBLE_COMPLEX Param 110 I(4) 4 scalar MPI_2DOUBLE_PRECISION Param 110 I(4) 4 scalar MPI_2INTEGER Param 109 I(4) 4 scalar MPI_2REAL Param 109 I(4) 4 scalar MPI_ADDRESS_KIND Param 189 I(4) 4 scalar MPI_ANY_SOURCE Param 180 I(4) 4 scalar MPI_ANY_TAG Param 182 I(4) 4 scalar MPI_BAND Param 114 I(4) 4 scalar MPI_BOR Param 115 I(4) 4 scalar MPI_BOTTOM Scalar 104 I(4) 4 scalar COM MPI_BSEND_OVERHEAD Param 55 I(4) 4 scalar MPI_BXOR Param 115 I(4) 4 scalar MPI_BYTE Param 109 I(4) 4 scalar MPI_CART Param 50 I(4) 4 scalar MPI_CHARACTER Param 109 I(4) 4 scalar MPI_COMM_NULL Param 68 I(4) 4 scalar MPI_COMM_RANK Subr 45 45 MPI_COMM_SELF Param 113 I(4) 4 scalar MPI_COMM_SIZE Subr 44 44 MPI_COMM_WORLD Param 113 I(4) 4 scalar 44,45 MPI_COMPLEX Param 108 I(4) 4 scalar MPI_COMPLEX16 Param 147 I(4) 4 scalar MPI_COMPLEX32 Param 147 I(4) 4 scalar MPI_COMPLEX8 Param 147 I(4) 4 scalar MPI_CONGRUENT Param 86 I(4) 4 scalar MPI_DATATYPE_NULL Param 71 I(4) 4 scalar MPI_DISTRIBUTE_BLOCK Param 131 I(4) 4 scalar MPI_DISTRIBUTE_CYCLIC Param 131 I(4) 4 scalar MPI_DISTRIBUTE_DFLT_DARG Param 132 I(4) 4 scalar MPI_DISTRIBUTE_NONE Param 132 I(4) 4 scalar MPI_DOUBLE_COMPLEX Param 108 I(4) 4 scalar MPI_DOUBLE_PRECISION Param 107 I(4) 4 scalar MPI_ERRHANDLER_NULL Param 74 I(4) 4 scalar MPI_ERROR Param 58 I(4) 4 scalar MPI_ERRORS_ARE_FATAL Param 118 I(4) 4 scalar MPI_ERRORS_RETURN Param 118 I(4) 4 scalar MPI_ERR_ARG Param 33 I(4) 4 scalar MPI_ERR_BUFFER Param 30 I(4) 4 scalar MPI_ERR_COMM Param 31 I(4) 4 scalar MPI_ERR_COUNT Param 30 I(4) 4 scalar MPI_ERR_DIMS Param 33 I(4) 4 scalar MPI_ERR_GROUP Param 32 I(4) 4 scalar MPI_ERR_INTERN Param 35 I(4) 4 scalar MPI_ERR_IN_STATUS Param 35 I(4) 4 scalar MPI_ERR_LASTCODE Param 36 I(4) 4 scalar MPI_ERR_OP Param 33 I(4) 4 scalar MPI_ERR_OTHER Param 34 I(4) 4 scalar MPI_ERR_PENDING Param 35 I(4) 4 scalar MPI_ERR_RANK Param 31 I(4) 4 scalar MPI_ERR_REQUEST Param 36 I(4) 4 scalar MPI_ERR_ROOT Param 31 I(4) 4 scalar MPI_ERR_TAG Param 31 I(4) 4 scalar MPI_ERR_TOPOLOGY Param 33 I(4) 4 scalar MPI_ERR_TRUNCATE Param 34 I(4) 4 scalar Page 5 Source Listing MPI_FIRST 2014-12-17 20:48 Symbol Table MPI_FIRST.f Name Object Declared Type Bytes Dimen Elements Attributes References MPI_ERR_TYPE Param 30 I(4) 4 scalar MPI_ERR_UNKNOWN Param 34 I(4) 4 scalar MPI_FIRST Subr 1 MPI_GRAPH Param 50 I(4) 4 scalar MPI_GROUP_EMPTY Param 113 I(4) 4 scalar MPI_GROUP_NULL Param 77 I(4) 4 scalar MPI_HOST Param 103 I(4) 4 scalar MPI_IDENT Param 86 I(4) 4 scalar MPI_INFO_NULL Param 138 I(4) 4 scalar MPI_INIT Subr 43 43 MPI_INTEGER Param 107 I(4) 4 scalar MPI_INTEGER1 Param 144 I(4) 4 scalar MPI_INTEGER16 Param 145 I(4) 4 scalar MPI_INTEGER2 Param 144 I(4) 4 scalar MPI_INTEGER4 Param 144 I(4) 4 scalar MPI_INTEGER8 Param 144 I(4) 4 scalar MPI_IO Param 103 I(4) 4 scalar MPI_KEYVAL_INVALID Param 80 I(4) 4 scalar MPI_LAND Param 114 I(4) 4 scalar MPI_LAST Subr 53 53,61 MPI_LB Param 111 I(4) 4 scalar MPI_LOGICAL Param 108 I(4) 4 scalar MPI_LOR Param 115 I(4) 4 scalar MPI_LXOR Param 115 I(4) 4 scalar MPI_MAX Param 114 I(4) 4 scalar MPI_MAXLOC Param 116 I(4) 4 scalar MPI_MAX_ERROR_STRING Param 62 I(4) 4 scalar MPI_MAX_INFO_KEY Param 136 I(4) 4 scalar MPI_MAX_INFO_VAL Param 136 I(4) 4 scalar MPI_MAX_NAME_STRING Param 65 I(4) 4 scalar MPI_MAX_PROCESSOR_NAME Param 62 I(4) 4 scalar MPI_MIN Param 114 I(4) 4 scalar MPI_MINLOC Param 115 I(4) 4 scalar MPI_OFFSET_KIND Param 189 I(4) 4 scalar MPI_OP_NULL Param 117 I(4) 4 scalar MPI_ORDER_C Param 129 I(4) 4 scalar MPI_ORDER_FORTRAN Param 129 I(4) 4 scalar MPI_PACKED Param 112 I(4) 4 scalar MPI_PROC_NULL Param 52 I(4) 4 scalar 86,89 MPI_PROD Param 114 I(4) 4 scalar MPI_REAL Param 107 I(4) 4 scalar MPI_REAL16 Param 146 I(4) 4 scalar MPI_REAL4 Param 146 I(4) 4 scalar MPI_REAL8 Param 146 I(4) 4 scalar MPI_REQUEST_NULL Param 83 I(4) 4 scalar MPI_SIMILAR Param 86 I(4) 4 scalar MPI_SOURCE Param 58 I(4) 4 scalar MPI_STATUSES_IGNORE Scalar 106 I(4) 4 1 4 COM MPI_STATUS_IGNORE Scalar 105 I(4) 4 1 4 COM MPI_STATUS_SIZE Param 60 I(4) 4 scalar 105,106 MPI_SUBVERSION Param 185 I(4) 4 scalar MPI_SUCCESS Param 30 I(4) 4 scalar MPI_SUM Param 114 I(4) 4 scalar MPI_TAG Param 58 I(4) 4 scalar MPI_TAG_UB Param 103 I(4) 4 scalar Page 6 Source Listing MPI_FIRST 2014-12-17 20:48 Symbol Table MPI_FIRST.f Name Object Declared Type Bytes Dimen Elements Attributes References MPI_UB Param 111 I(4) 4 scalar MPI_UNDEFINED Param 47 I(4) 4 scalar MPI_UNEQUAL Param 86 I(4) 4 scalar MPI_VERSION Param 185 I(4) 4 scalar MPI_WTIME_IS_GLOBAL Param 112 I(4) 4 scalar NBC Scalar 3 I(4) 4 scalar COM NBOCO Scalar 4 I(4) 4 scalar COM NCP Scalar 4 I(4) 4 scalar COM NDDAMP Scalar 4 I(4) 4 scalar COM NFCST Scalar 3 I(4) 4 scalar COM NPHS Scalar 5 I(4) 4 scalar COM NPREC Scalar 4 I(4) 4 scalar COM NRADL Scalar 5 I(4) 4 scalar COM NRADS Scalar 5 I(4) 4 scalar COM NSHDE Scalar 4 I(4) 4 scalar COM NTSD Scalar 4 I(4) 4 scalar COM NTSTM Scalar 4 I(4) 4 scalar COM NUM_PROCS Scalar 6 I(4) 4 scalar COM 44,51,59,67,76,88,99,100 PARALLEL Common 9 8240 PARA_RANGE Subr 67 67,100 RESTRT Scalar 3 R(4) 4 scalar COM RUN Scalar 3 R(4) 4 scalar COM SIGMA Scalar 3 R(4) 4 scalar COM Page 7 Source Listing MPI_FIRST 2014-12-17 20:48 Subprograms/Common Blocks MPI_FIRST.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References CTLBLK Common 2 96 MPIPRIV Common 209 36 MPI_FIRST Subr 1 PARALLEL Common 9 8240 COMPILER OPTIONS BEING USED -align nocommons -align nodcommons -align noqcommons -align records -align nosequence -align norec1byte -align norec2byte -align norec4byte -align norec8byte -align norec16byte -altparam -assume accuracy_sensitive -assume nobscc -assume nobuffered_io -assume byterecl -assume nocc_omp -assume nocstring -assume nodummy_aliases -assume nofpe_summary -assume noieee_fpe_flags -assume nominus0 -assume noold_boz -assume old_unit_star -assume old_ldout_format -assume noold_logical_ldio -assume old_maxminloc -assume old_xor -assume protect_constants -assume noprotect_parens -assume split_common -assume source_include -assume nostd_intent_in -assume nostd_mod_proc_name -assume norealloc_lhs -assume underscore -assume no2underscores no -auto -auto_scalar no -bintext -ccdefault default -check noargs -check noarg_temp_created -check nobounds -check noformat -check nooutput_conversion -check nooverflow -check nopointers -check power -check noshape -check nounderflow -check nouninitialized -coarray-num-procs 0 no -coarray-config-file -convert big_endian -cross_reference -D __INTEL_COMPILER=1210 -D __unix__ -D __unix -D __linux__ -D __linux -D __gnu_linux__ -D unix -D linux -D __ELF__ -D __x86_64 -D __x86_64__ -D _MT -D __INTEL_COMPILER_BUILD_DATE=20120612 -D __i686 -D __i686__ -D __pentiumpro -D __pentiumpro__ -D __pentium4 -D __pentium4__ -D __tune_pentium4__ -D __SSE2__ -D __SSE__ -D __MMX__ -double_size 64 no -d_lines no -Qdyncom -error_limit 30 no -f66 no -f77rtl no -fast -fpscomp nofilesfromcmd -fpscomp nogeneral -fpscomp noioformat Page 8 Source Listing MPI_FIRST 2014-12-17 20:48 MPI_FIRST.f -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 no -intconstant -integer_size 32 no -mixed_str_len_arg no -module -names lowercase no -noinclude -O2 no -pad_source -real_size 32 no -recursive -reentrancy none no -sharable_localsaves -vec=simd -show noinclude -show map -show options no -syntax_only no -threadcom no -U no -vms -w noall -w nonone -w alignments -w noargument_checking -w nodeclarations -w general -w noignore_bounds -w noignore_loc -w nointerfaces -w notruncated_source -w uncalled -w uninitialized -w nounused -w usage -includepath : /gpfs/tp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/,.f,./.f,/usrx/local/intel/composerxe/mkl/include/.f, /usrx/local/intel/composerxe/tbb/include/.f,/gpfs/tp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/intel64/.f, /gpfs/tp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/.f,/usr/local/include/.f,/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include/.f, /usr/include/.f,/usr/include/.f -list filename : MPI_FIRST.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100