ࡱ> b  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`acdefghijklmnopqrstuvwxyz{|}~Root Entry FseP]Workbook4SummaryInformation(DocumentSummaryInformation8 \pxcvdfxc Ba==`T\7)8X@"1Calibri1Calibri1Calibri1Calibri1Calibri1h8Cambria1,8Calibri18Calibri18Calibri1Calibri1Calibri1<Calibri1>Calibri1?Calibri14Calibri14Calibri1 Calibri1 Calibri1Calibri1Calibri1 Calibri1QTahoma1QTahoma1QTahoma1QTahoma"$"#,##0_);\("$"#,##0\)!"$"#,##0_);[Red]\("$"#,##0\)""$"#,##0.00_);\("$"#,##0.00\)'""$"#,##0.00_);[Red]\("$"#,##0.00\)7*2_("$"* #,##0_);_("$"* \(#,##0\);_("$"* "-"_);_(@_).))_(* #,##0_);_(* \(#,##0\);_(* "-"_);_(@_)?,:_("$"* #,##0.00_);_("$"* \(#,##0.00\);_("$"* "-"??_);_(@_)6+1_(* #,##0.00_);_(* \(#,##0.00\);_(* "-"??_);_(@_) 0.00000 0.00000E+00 0.00000000 0.000000000                                                                       ff + ) , *     P  P        `            a>           "  " " ! ||FT}-} 00\);_(*}-} 00\);_(*}-} 00\);_(*}-} 00\);_(*}-} 00\);_(*}-} 00\);_(*}-} 00\);_(*}-} 00\);_(*}-} 00\);_(*}-}  00\);_(*}-}  00\);_(*}-}  00\);_(*}-}  00\);_(*}-}  00\);_(*}-} 00\);_(*}-} 00\);_(*}-}+ 00\);_(*}-}, 00\);_(*}-}- 00\);_(*}-}. 00\);_(*}-}: 00\);_(*}-}; 00\);_(*}A}1 00\);_(*;_(@_) }A}2 00\);_(*?;_(@_) }A}3 00\);_(*23;_(@_) }-}4 00\);_(*}A}0 a00\);_(*;_(@_) }A}( 00\);_(*;_(@_) }A}7 e00\);_(*;_(@_) }}5 ??v00\);_(*̙;_(@_)    }}9 ???00\);_(*;_(@_) ??? ??? ??? ???}}) }00\);_(*;_(@_)    }A}6 }00\);_(*;_(@_) }}* 00\);_(*;_(@_) ??? ??? ??? ???}-}= 00\);_(*}}8 00\);_(*;_(@_)    }-}/ 00\);_(*}U}< 00\);_(*;_(@_)  }A}" 00\);_(*;_(@_) }A} 00\);_(*ef;_(@_) }A} 00\);_(*L;_(@_) }A} 00\);_(*23;_(@_) }A}# 00\);_(*;_(@_) }A} 00\);_(*ef;_(@_) }A} 00\);_(*L;_(@_) }A} 00\);_(*23;_(@_) }A}$ 00\);_(*;_(@_) }A} 00\);_(*ef;_(@_) }A} 00\);_(*L;_(@_) }A} 00\);_(*23;_(@_) }A}% 00\);_(*;_(@_) }A} 00\);_(*ef;_(@_) }A} 00\);_(*L;_(@_) }A} 00\);_(*23;_(@_) }A}& 00\);_(*;_(@_) }A} 00\);_(*ef;_(@_) }A} 00\);_(*L;_(@_) }A}  00\);_(*23;_(@_) }A}' 00\);_(* ;_(@_) }A} 00\);_(*ef ;_(@_) }A} 00\);_(*L ;_(@_) }A}! 00\);_(*23 ;_(@_) }-}> 00\);_(*}-}? 00\);_(*}-}@ 00\);_(*}-}A 00\);_(*}-}B 00\);_(*}-}C 00\);_(*}-}D 00\);_(*}-}E 00\);_(* 20% - Accent1M 20% - Accent1 ef % 20% - Accent2M" 20% - Accent2 ef % 20% - Accent3M& 20% - Accent3 ef % 20% - Accent4M* 20% - Accent4 ef % 20% - Accent5M. 20% - Accent5 ef % 20% - Accent6M2 20% - Accent6  ef % 40% - Accent1M 40% - Accent1 L % 40% - Accent2M# 40% - Accent2 L湸 % 40% - Accent3M' 40% - Accent3 L % 40% - Accent4M+ 40% - Accent4 L % 40% - Accent5M/ 40% - Accent5 L % 40% - Accent6M3 40% - Accent6  Lմ % 60% - Accent1M 60% - Accent1 23 % 60% - Accent2M$ 60% - Accent2 23ٗ % 60% - Accent3M( 60% - Accent3 23֚ % 60% - Accent4M, 60% - Accent4 23 % 60% - Accent5M0 60% - Accent5 23 %! 60% - Accent6M4 60% - Accent6  23 % "Accent1AAccent1 O % #Accent2A!Accent2 PM % $Accent3A%Accent3 Y % %Accent4A)Accent4 d % &Accent5A-Accent5 K % 'Accent6A1Accent6  F %(Bad9Bad  %) Calculation Calculation  }% * Check Cell Check Cell  %????????? ???+ Comma,( Comma [0]-&Currency.. Currency [0]/Explanatory TextG5Explanatory Text % 0Good;Good  a%1 Heading 1G Heading 1 I}%O2 Heading 2G Heading 2 I}%?3 Heading 3G Heading 3 I}%234 Heading 49 Heading 4 I}% 5InputuInput ̙ ??v% 6 Linked CellK Linked Cell }% 7NeutralANeutral  e%3Normal % 8Noteb Note   9OutputwOutput  ???%????????? ???:$Percent ;Title1Title I}% <TotalMTotal %OO= Warning Text? Warning Text %XTableStyleMedium9PivotStyleLight16`DJSheet11Sheet243Sheet3gZRCBC3 A@@  :/OpenMPILAMPIMPICHABI MPI_DatatypeMPI_CommMPI_Op MPI_Status MPI_Request MPI_GroupMPI_AintMPI_FileMPI_Info MPI_OffsetMPI_COMM_WORLD MPI_VERSIONMPI_SUBVERSION MPIO_TestTypedefs constantsMPI_ANY_SOURCE MPI_PROC_NULLMPI_ROOT MPI_ANY_TAGMPI_MAX_PROCESSOR_NAMEMPI_MAX_ERROR_STRINGMPI_MAX_OBJECT_NAME MPI_UNDEFINEDMPI_CART MPI_GRAPHMPI_KEYVAL_INVALID MPI_BOTTOM MPI_IN_PLACEMPI_BSEND_OVERHEADMPI_MAX_INFO_KEYMPI_MAX_INFO_VAL MPI_ARGV_NULLMPI_ARGVS_NULLMPI_ERRCODES_IGNOREMPI_MAX_PORT_NAMEMPI_MAX_NAME_LEN MPI_ORDER_CMPI_DISTRIBUTE_BLOCKMPI_DISTRIBUTE_CYCLICMPI_DISTRIBUTE_NONE MPI_DISTRIBUTE_DFLT_DARG MPI_MODE_CREATEMPI_MODE_RDONLY MPI_MODE_WRONLYMPI_MODE_RDWR MPI_MODE_DELETE_ON_CLOSEMPI_MODE_UNIQUE_OPEN MPI_MODE_EXCLMPI_MODE_APPENDMPI_MODE_SEQUENTIALMPI_DISPLACEMENT_CURRENT MPI_SEEK_SET MPI_SEEK_CUR MPI_SEEK_ENDMPI_MAX_DATAREP_STRINGMPI_MODE_NOCHECKMPI_MODE_NOPRECEDEMPI_MODE_NOPUTMPI_MODE_NOSTOREMPI_MODE_NOSUCCEEDMPI_LOCK_EXCLUSIVEMPI_LOCK_SHARED error codes MPI_SUCCESSMPI_ERR_BUFFER MPI_ERR_COUNT MPI_ERR_TYPE MPI_ERR_TAG MPI_ERR_COMM MPI_ERR_RANKMPI_ERR_REQUEST MPI_ERR_ROOT MPI_ERR_GROUP MPI_ERR_OPMPI_ERR_TOPOLOGY MPI_ERR_DIMS MPI_ERR_ARGMPI_ERR_UNKNOWN MPI_ERR_TRUNCATE MPI_ERR_OTHERMPI_ERR_INTERNMPI_ERR_IN_STATUSMPI_ERR_PENDINGMPI_ERR_ACCESS MPI_ERR_AMODEMPI_ERR_ASSERTMPI_ERR_BAD_FILE MPI_ERR_BASEMPI_ERR_CONVERSIONMPI_ERR_DISP MPI_ERR_DUP_DATAREP MPI_ERR_FILE_EXISTS MPI_ERR_FILE_IN_USE MPI_ERR_FILE MPI_ERR_INFO_KEY MPI_ERR_INFO_NOKEY MPI_ERR_INFO_VALUE MPI_ERR_INFO MPI_ERR_IO MPI_ERR_KEYVAL MPI_ERR_LOCKTYPE MPI_ERR_NAME MPI_ERR_NO_MEM MPI_ERR_NOT_SAME MPI_ERR_NO_SPACE MPI_ERR_NO_SUCH_FILE MPI_ERR_PORT MPI_ERR_QUOTA MPI_ERR_READ_ONLY MPI_ERR_RMA_CONFLICT MPI_ERR_RMA_SYNC MPI_ERR_SERVICE MPI_ERR_SIZE MPI_ERR_SPAWN MPI_ERR_UNSUPPORTED_DATAREP MPI_ERR_UNSUPPORTED_OPERATION MPI_ERR_WIN MPI_ERR_LASTCODE MPI_ERR_SYSRESOURCE NULL handlesMPI_GROUP_NULL MPI_COMM_NULLMPI_REQUEST_NULL MPI_OP_NULLMPI_ERRHANDLER_NULL MPI_INFO_NULL MPI_WIN_NULL MPI_FILE_NULLMPI_STATUS_IGNORE MPI_STATUSES_IGNOREMPI_ErrhandlerMPI_Winenumend enum MPI_TAG_UB, MPI_HOST,MPI_IO,MPI_WTIME_IS_GLOBAL, MPI_APPNUM,MPI_LASTUSEDCODE,MPI_UNIVERSE_SIZE, MPI_WIN_BASE, MPI_WIN_SIZE,MPI_WIN_DISP_UNIT,IMPI_CLIENT_SIZE,IMPI_CLIENT_COLOR,IMPI_HOST_SIZE,IMPI_HOST_COLOR MPI_IDENT,MPI_CONGRUENT, MPI_SIMILAR, MPI_UNEQUALpredefined handles MPI_COMM_SELFMPI_GROUP_EMPTYMPI_MAXMPI_MINMPI_SUMMPI_PRODMPI_LANDMPI_BANDMPI_LORMPI_BORMPI_LXORMPI_BXOR MPI_MAXLOC MPI_MINLOC MPI_REPLACE C datatypesMPI_DATATYPE_NULLMPI_BYTE MPI_PACKEDMPI_CHAR MPI_SHORTMPI_INTMPI_LONG MPI_FLOAT MPI_DOUBLEMPI_LONG_DOUBLEMPI_UNSIGNED_CHARMPI_SIGNED_CHARMPI_UNSIGNED_SHORTMPI_UNSIGNED_LONG MPI_UNSIGNED MPI_FLOAT_INTMPI_DOUBLE_INTMPI_LONG_DOUBLE_INT MPI_LONG_INT MPI_SHORT_INTMPI_2INTMPI_UBMPI_LB MPI_WCHARMPI_LONG_LONG_INT MPI_LONG_LONGMPI_UNSIGNED_LONG_LONG MPI_2COMPLEXMPI_2DOUBLE_COMPLEX$old [non-standard] ROMIO conventions MPIO_Request MPIO_WaitMPI_THREAD_SINGLE,MPI_THREAD_FUNNELED,MPI_THREAD_SERIALIZED,MPI_THREAD_MULTIPLEMPI_COMBINER_NAMED,MPI_COMBINER_DUP,MPI_COMBINER_CONTIGUOUS,MPI_COMBINER_VECTOR,MPI_COMBINER_HVECTOR_INTEGER,MPI_COMBINER_HVECTOR,MPI_COMBINER_INDEXED,MPI_COMBINER_HINDEXED_INTEGER,MPI_COMBINER_HINDEXED,MPI_COMBINER_INDEXED_BLOCK,MPI_COMBINER_STRUCT_INTEGER,MPI_COMBINER_STRUCT,MPI_COMBINER_SUBARRAY,MPI_COMBINER_DARRAY,MPI_COMBINER_F90_REAL,MPI_COMBINER_F90_COMPLEX,MPI_COMBINER_F90_INTEGER,MPI_COMBINER_RESIZED((void *) 0) ((void *) 1) ((char **) 0) ((char ***) 0) ((int *) 0) MPI_MAX_PORT_NAME #define(-1) (&ompi_mpi_win_null) typedef struct ompi_datatype_t *$typedef struct ompi_communicator_t *typedef struct ompi_op_t *$typedef struct ompi_status_public_t typedef struct ompi_request_t *typedef struct ompi_group_t *typedef OMPI_PTRDIFF_TYPE typedef struct ompi_file_t *typedef struct ompi_info_t *typedef OMPI_MPI_OFFSET_TYPE "typedef struct ompi_errhandler_t *typedef struct ompi_win_t *(&ompi_mpi_group_empty)(&ompi_mpi_op_max)(&ompi_mpi_op_replace)(&ompi_mpi_int)(&ompi_mpi_signed_char)(&ompi_mpi_unsigned_short)(&ompi_mpi_float_int)(&ompi_mpi_double_int)(&ompi_mpi_longdbl_int)(&ompi_mpi_long_int)(&ompi_mpi_2int)(&ompi_mpi_long_long_int)MPI_WaitMPI_Test(&ompi_mpi_2dblcplex)(&ompi_mpi_2cplex)(&ompi_mpi_unsigned_long_long)(&ompi_mpi_wchar)(&ompi_mpi_lb)(&ompi_mpi_ub)(&ompi_mpi_short_int)(&ompi_mpi_unsigned)(&ompi_mpi_unsigned_long)(&ompi_mpi_unsigned_char)(&ompi_mpi_long_double)(&ompi_mpi_double)(&ompi_mpi_float)(&ompi_mpi_long)(&ompi_mpi_short)(&ompi_mpi_char)(&ompi_mpi_packed)(&ompi_mpi_byte)(&ompi_mpi_datatype_null)(&ompi_mpi_op_minloc)(&ompi_mpi_op_maxloc)(&ompi_mpi_op_bxor)(&ompi_mpi_op_lxor)(&ompi_mpi_op_bor)(&ompi_mpi_op_lor)(&ompi_mpi_op_band)(&ompi_mpi_op_land)(&ompi_mpi_op_prod)(&ompi_mpi_op_sum)(&ompi_mpi_op_min)(&ompi_mpi_comm_self)(&ompi_mpi_comm_world)((MPI_Status *) 0)(&ompi_mpi_file_null)(&ompi_mpi_info_null)(&ompi_mpi_errhandler_null)(&ompi_mpi_op_null)(&ompi_request_null)(&ompi_mpi_comm_null)(&ompi_mpi_group_null)2<1 1\1a2123V.44h585m6=67bb82B9':: p;@ ; n<> < E= = > >y ? ?@TZA* BBCDeA ~ E >A ~ E >A ~ E ~ Ep@ ~ Ep@ ~ EP@ ~ E ~ E? ~ E@ ~ E  E  E !~ E`@ "~ EB@ #~ Ep@DTlF***  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?  $ E !% !E "& "E #'~ #EB@ $( $E %(~ %E &)~ &E? '*~ 'E (+~ (E? ),~ )E@ *- *E +.~ +E? ,/~ ,E@ -0~ -E@ .1~ .E @ /2~ /E0@ 03~ 0E@@ 14~ 1EP@ 25~ 2E`@ 36~ 3Ep@ 47~ 4E 58~ 5E@ 69~ 6EЂ@ 7:~ 7E@ 8;~ 8E`@ 9<~ 9E? :=~ :E@ ;>~ ;E@ <?~ <E @ =@~ =E0@ >A~ >E? ?B~ ?E@Dl@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _  @ @E A B C D E F G H I J K L M ME N NE O P Q QE R RE S T U UE V VE W X Y Z [ \ ] ^ _Dl` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~   ` a b c d e f g gE hBC hB iD~ iE jE~ jE? kF~ kE@ lG~ lE@ mH~ mE@ nI~ nE@ oJ~ oE@ pK~ pE@ qL~ qE @ rM~ rE"@ sN~ sE$@ tO~ tE&@ uP~ uE(@ vQ~ vE*@ wR~ wE,@ xS~ xE.@ yT~ yE0@ zU~ zE1@ {V~ {E2@ |W~ |E3@ }X~ }E4@ ~Y~ ~E5@ Z~ E6@Dl                                 [~ E7@ \~ E8@ ]~ E9@ ^~ E:@ _~ E;@ `~ E<@ a~ E=@ b~ E>@ c~ E?@ d~ E@@ e~ E@@ f~ EA@ g~ EA@ h~ EB@ i~ EB@ j~ EC@ k~ EC@ l~ ED@ m~ ED@ n~ EE@ o~ EE@ p~ EF@ q~ EF@ r~ EG@ s~ EG@ t~ EH@ u~ EH@ v~ EI@ w~ EI@ x~ EJ@ y~ EJ@ z~ EK@Dl                                 {~ E B| } E. ~ E-  E,  E+  E*  E)  E  E(  E'  E' B  E&  E%  E  E  E$  E#  E"  E!  E   E  E  E  E  E  E  E B  E  EDl                                 E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E   E  E   E   E   E  E  E   E  E B  E  E  EBXf(BBN((    T(e X?+Sk]4@(e`a 570+Z-H)]Ǟ c<dxcvdfxc: typedef struct ompi_datatype_t { opal_object_t super; /**< basic superclass */ size_t size; /**< total size in bytes of the memory used by the data if * the data is put on a contiguous buffer */ uint32_t align; /**< data should be aligned to */ ptrdiff_t true_lb; ptrdiff_t true_ub; /**< the true ub of the data without user defined lb and ub */ ptrdiff_t lb; /**< lower bound in memory */ ptrdiff_t ub; /**< upper bound in memory */ uint16_t flags; /**< the flags */ uint16_t id; /**< data id, normally the index in the data array. */ uint32_t nbElems; /**< total number of elements inside the datatype */ uint64_t bdt_used; /**< which basic datatypes are used in the data description */ /* Attribute fields */ opal_hash_table_t *d_keyhash; int32_t d_f_to_c_index; char name[MPI_MAX_OBJECT_NAME]; dt_type_desc_t desc; /**< the data description */ dt_type_desc_t opt_desc; /**< short description of the data used when conversion is useless * or in the send case (without conversion) */ void* args; /**< data description for the user */ void* packed_description; /**< the packed description of the datatype */ /* basic elements count used to compute the size of the datatype for * remote nodes */ uint32_t btypes[DT_MAX_PREDEFINED]; } ompi_datatype_t;<6R#c  Te X?26]4@eB `|:M![Y8 + <, xcvdfxc: struct ompi_communicator_t { opal_object_t c_base; opal_mutex_t c_lock; /* mutex for name and potentially attributes */ char c_name[MPI_MAX_OBJECT_NAME]; uint32_t c_contextid; int c_my_rank; uint32_t c_flags; /* flags, e.g. intercomm, topology, etc. */ ompi_group_t *c_local_group; ompi_group_t *c_remote_group; /* Attributes */ struct opal_hash_table_t *c_keyhash; /**< inscribing cube dimension */ int c_cube_dim; /* Hooks for topo module to hang things */ mca_base_component_t *c_topo_component; const struct mca_topo_base_module_1_0_0_t* c_topo; /**< structure of function pointers */ struct mca_topo_base_comm_1_0_0_t* c_topo_comm; /**< structure containing basic information about the topology */ struct mca_topo_base_module_comm_t *c_topo_module; /**< module specific data */ /* index in Fortran <-> C translation array */ int c_f_to_c_index; #ifdef OMPI_WANT_PERUSE /* * Place holder for the PERUSE events. */ struct ompi_peruse_handle_t** c_peruse_handles; #endif /* Error handling. This field does not have the "c_" prefix so that the OMPI_ERRHDL_* macros can find it, regardless of whether it's a comm, window, or file. */ ompi_errhandler_t *error_handler; ompi_errhandler_type_t errhandler_type; /* Hooks for PML to hang things */ struct mca_pml_comm_t *c_pml_comm; mca_coll_base_module_1_0_0_t c_coll; /**< Selected collective module, saved by value for speed (instead of by reference) */ const mca_coll_base_component_1_0_0_t *c_coll_selected_component; /**< Selected coll component */ const mca_coll_base_module_1_0_0_t *c_coll_selected_module; /**< The selected module, but only when the selected module is not* the basic module. Used during comm_unselect(). */ struct mca_coll_base_comm_t *c_coll_selected_data; /**< Allow the selected module to cache data on the communicator */ const mca_coll_base_module_1_0_0_t *c_coll_basic_module; /**< Save the basic module; only necessary when the selected module is *not* the basic module, but was supplemented with methods from the basic module. */ struct mca_coll_base_comm_t *c_coll_basic_data; /**< Allow the basic module to cache data on the communicator */ };<6<+   Td X?d]4@d@a ~3:FQvd q<rxcvdfxc: struct ompi_op_t { opal_object_t super; /**< Parent class, for reference counting */ char o_name[MPI_MAX_OBJECT_NAME]; /**< Name, for debugging purposes */ uint32_t o_flags; /**< Flags about the op */ union { /** C handler function pointer */ ompi_op_c_handler_fn_t *c_fn; /** Fortran handler function pointer */ ompi_op_fortran_handler_fn_t *fort_fn; /** C++ intercept function pointer -- see lengthy comment in ompi/mpi/cxx/intercepts.cc::ompi_mpi_cxx_op_intercept() for an explanation */ ompi_op_cxx_handler_fn_t *cxx_intercept_fn; } o_func[OMPI_OP_TYPE_MAX]; /**< Array of function pointers, indexed on the operation type. For non-intrinsice MPI_Op's, only the 0th element will be meaningful. */ /** Index in Fortran <-> C translation array */ int o_f_to_c_index; };<6eqj  Te X? 5]4@e c @E՘J ~ |<}xcvdfxc: struct ompi_status_public_t { int MPI_SOURCE; int MPI_TAG; int MPI_ERROR; int _count; int _cancelled; };<6|@C  T(e X?]4@(e B 33:HEN@ <xcvdfxc: struct ompi_request_t { ompi_free_list_item_t super; /**< Base type */ ompi_request_type_t req_type; /**< Enum indicating the type of the request */ ompi_status_public_t req_status; /**< Completion status */ volatile bool req_complete; /**< Flag indicating wether request has completed */ volatile ompi_request_state_t req_state; /**< enum indicate state of the request */ bool req_persistent; /**< flag indicating if the this is a persistent request */ int req_f_to_c_index; /**< Index in Fortran <-> C translation array */ ompi_request_free_fn_t req_free; /**< Called by free */ ompi_request_cancel_fn_t req_cancel; /**< Optional function to cancel the request */ ompi_mpi_object_t req_mpi_object; /**< Pointer to MPI object that created this request */ };<6Ug|E2  Td X?O+]4@d ah F^NM>nq <xcvdfxc: struct ompi_group_t { opal_object_t super; /**< base class */ int grp_proc_count; /**< number of processes in group */ int grp_my_rank; /**< rank in group */ int grp_f_to_c_index; /**< index in Fortran <-> C translation array */ uint32_t grp_flags; /**< flags, e.g. freed, cannot be freed etc.*/ struct ompi_proc_t **grp_proc_pointers; /**< list of pointers to ompi_proc_t structures for each process in the group */ };<6 j@C  Te X?5*]4@e@d Z~1NL#m?U `<axcvdfxc: struct ompi_file_t { /** Base of OBJ_* interface */ opal_object_t super; /** Communicator that this file was created with */ struct ompi_communicator_t *f_comm; /** Filename that this file was created with */ char *f_filename; /** Amode that this file was created with */ int f_amode; /** MPI_Info that this file was created with. Note that this is *NOT* what should be returned from OMPI_FILE_GET_INFO! */ struct ompi_info_t *f_info; /** Bit flags */ int32_t f_flags; /** Index in Fortran <-> C translation array */ int f_f_to_c_index; /** Error handler. This field does not have the "f_" prefix so that the OMPI_ERRHDL_* macros can find it, regardless of whether it's a comm, window, or file. */ struct ompi_errhandler_t *error_handler; /** Type of the error handler. This field does not have the "f_" prefix for the same reason as the field error_handler. */ ompi_errhandler_type_t errhandler_type; /** Indicate what version of the IO component we're using (this indicates what member to look at in the union, below) */ mca_io_base_version_t f_io_version; /** The selected component (note that this is a union) -- we need this to add and remove the component from the list of components currently in use by the io framework for progression porpoises. */ mca_io_base_components_t f_io_selected_component; /** The selected module (note that this is a union) */ mca_io_base_modules_t f_io_selected_module; /** Allow the selected module to cache data on the file */ struct mca_io_base_file_t *f_io_selected_data; /** Per-module io request freelist */ opal_list_t f_io_requests; /** Lock for the per-module io request freelist */ opal_mutex_t f_io_requests_lock; };<6+`lF2  TЉe X?R ]4@ЉeB c6G !ʔ <xcvdfxc: struct ompi_info_t { opal_list_t super; /**< generic list pointer which is the container for (key,value) pairs */ int i_f_to_c_index; /**< fortran handle for info. This is needed for translation from fortran to C and vice versa */ opal_mutex_t *i_lock; /**< Mutex for thread safety */ bool i_freed; /**< Whether this info has been freed or not */ };<6g   TPd X?]4 @Pd jh R` ߗ@y/-y E<Fxcvdfxc: /* add MPI_GROUP_NULL to table */ OBJ_CONSTRUCT(&ompi_mpi_group_null, ompi_group_t); ompi_mpi_group_null.grp_proc_count = 0; ompi_mpi_group_null.grp_my_rank = MPI_PROC_NULL; ompi_mpi_group_null.grp_proc_pointers = NULL; ompi_mpi_group_null.grp_flags |= OMPI_GROUP_INTRINSIC; <6Eg   Td X? ]4 @da {gTL2< 63 0<1xcvdfxc: struct ompi_errhandler_t { opal_object_t super; char eh_name[MPI_MAX_OBJECT_NAME]; /* Type of MPI object that this handler is for */ ompi_errhandler_type_t eh_mpi_object_type; /* Flags about the error handler */ bool eh_fortran_function; /* Function pointers */ MPI_Comm_errhandler_fn *eh_comm_fn; MPI_File_errhandler_fn *eh_file_fn; MPI_Win_errhandler_fn *eh_win_fn; ompi_errhandler_fortran_handler_fn_t *eh_fort_fn; /* index in Fortran <-> C translation array */ int eh_f_to_c_index; };<6& 0g   TPd X?|]4 @Pd B ! F4`t Q<Rxcvdfxc: struct ompi_win_t { opal_object_t w_base; opal_mutex_t w_lock; char w_name[MPI_MAX_OBJECT_NAME]; /* Group associated with this window. */ ompi_group_t *w_group; /* Information about the state of the window. */ uint16_t w_flags; /* Attributes */ opal_hash_table_t *w_keyhash; /* index in Fortran <-> C translation array */ int w_f_to_c_index; /* Error handling. This field does not have the "w_" prefix so that the OMPI_ERRHDL_* macros can find it, regardless of whether it's a comm, window, or file. */ ompi_errhandler_t *error_handler; ompi_errhandler_type_t errhandler_type; /* displacement factor */ int w_disp_unit; void *w_baseptr; size_t w_size; /** Current epoch / mode (access, expose, lock, etc.). Checked by the argument checking code in the MPI layer, set by the OSC component. Modified without locking w_lock. */ volatile uint16_t w_mode; /* one sided interface */ ompi_osc_base_module_t *w_osc_module; };<6{Qg   Te X?M]4 @e@a  اZ(OۍlO <xcvdfxc: OMPI_DECLSPEC ompi_datatype_t ompi_mpi_int = INIT_BASIC_DATA( int, OMPI_ALIGNMENT_INT, INT, DT_FLAG_DATA_C | DT_FLAG_DATA_INT );<6]g@C  Te X?K]4@e`c <ϝEBk8 <xcvdfxc: /* * MPI_OP_SUM */ ompi_op_t ompi_mpi_op_sum = { { NULL, 0 }, "MPI_SUM", FLAGS_NO_FLOAT, { C_INTEGER(sum), FORTRAN_INTEGER(sum), FLOATING_POINT(sum), LOGICAL_NULL, COMPLEX(sum), BYTE_NULL, TWOLOC_NULL } };<6e - TAj X?S]4-@Aja $ I⌌xS0 <xcvdfxc: /* * MPI_OP_PROD */ ompi_op_t ompi_mpi_op_prod = { { NULL, 0 }, "MPI_PROD", FLAGS_NO_FLOAT, { C_INTEGER(prod), FORTRAN_INTEGER(prod), FLOATING_POINT(prod), LOGICAL_NULL, COMPLEX(prod), BYTE_NULL, TWOLOC_NULL } };<6e . TPBj X?Sx]4.@PBjj |#@0G ݆^  < xcvdfxc: /* * MPI_OP_LAND */ ompi_op_t ompi_mpi_op_land = { { NULL, 0 }, "MPI_LAND", FLAGS, { C_INTEGER(land), FORTRAN_INTEGER_NULL, FLOATING_POINT_NULL, LOGICAL(land), COMPLEX_NULL, BYTE_NULL, TWOLOC_NULL } };<6 @C / TCj X?S;]4/@Cj a )R@NU  < xcvdfxc: /* * MPI_OP_BAND */ ompi_op_t ompi_mpi_op_band = { { NULL, 0 }, "MPI_BAND", FLAGS, { C_INTEGER(band), FORTRAN_INTEGER(band), FLOATING_POINT_NULL, LOGICAL_NULL, COMPLEX_NULL, BYTE(band), TWOLOC_NULL } };<6 e 0 TDj X?S"]40@Dj@j q%Jd63Jճf= <xcvdfxc: /* * MPI_OP_LOR */ ompi_op_t ompi_mpi_op_lor = { { NULL, 0 }, "MPI_LOR", FLAGS, { C_INTEGER(lor), FORTRAN_INTEGER_NULL, FLOATING_POINT_NULL, LOGICAL(lor), COMPLEX_NULL, BYTE_NULL, TWOLOC_NULL } };<6x 1 TEj X?S`]41@Ejf ^B`JvV! <xcvdfxc: /* * MPI_OP_BOR */ ompi_op_t ompi_mpi_op_bor = { { NULL, 0 }, "MPI_BOR", FLAGS, { C_INTEGER(bor), FORTRAN_INTEGER(bor), FLOATING_POINT_NULL, LOGICAL_NULL, COMPLEX_NULL, BYTE(bor), TWOLOC_NULL } };<6e 2 TGj X?SM ]42@Gjd hfc!.O{  < xcvdfxc: /* * MPI_OP_LXOR */ ompi_op_t ompi_mpi_op_lxor = { { NULL, 0 }, "MPI_LXOR", FLAGS, { C_INTEGER(lxor), FORTRAN_INTEGER_NULL, FLOATING_POINT_NULL, LOGICAL(lxor), COMPLEX_NULL, BYTE_NULL, TWOLOC_NULL } };<6  3 TGj X?Sr@]43@Gj`f ʏ4@N k E  < xcvdfxc: /* * MPI_OP_BXOR */ ompi_op_t ompi_mpi_op_bxor = { { NULL, 0 }, "MPI_BXOR", FLAGS, { C_INTEGER(bxor), FORTRAN_INTEGER(bxor), FLOATING_POINT_NULL, LOGICAL_NULL, COMPLEX_NULL, BYTE(bxor), TWOLOC_NULL } };<6 e 4 THj X?]44@Hjj :ဥN\n T<Uxcvdfxc: /* * MPI_OP_MAXLOC */ ompi_op_t ompi_mpi_op_maxloc = { { NULL, 0 }, "MPI_MAXLOC", (OMPI_OP_FLAGS_INTRINSIC | OMPI_OP_FLAGS_ASSOC | OMPI_OP_FLAGS_COMMUTE), { C_INTEGER_NULL, FORTRAN_INTEGER_NULL, FLOATING_POINT_NULL, LOGICAL_NULL, COMPLEX_NULL, BYTE_NULL, TWOLOC(maxloc) } };<6Te< 5 T(Jj X?k]45@(Jjj 5;(6,DK!]Ih*< <xcvdfxc: /* * MPI_OP_MINLOC */ ompi_op_t ompi_mpi_op_minloc = { { NULL, 0 }, "MPI_MINLOC", FLAGS, { C_INTEGER_NULL, FORTRAN_INTEGER_NULL, FLOATING_POINT_NULL, LOGICAL_NULL, COMPLEX_NULL, BYTE_NULL, TWOLOC(minloc) } };<6g < 6 TKj X?C ]46@Kjj !XF3I4_< <xcvdfxc: /* * MPI_OP_REPLACE * (MPI_ACCUMULATE is handled differently than the other reductions, * so just zero out its function impementations here to ensure that * users don't invoke MPI_REPLACE with any reduction operations other * than ACCUMULATE) */ ompi_op_t ompi_mpi_op_replace = { { NULL, 0 }, "MPI_REPLACE", FLAGS, { C_INTEGER_NULL, FORTRAN_INTEGER_NULL, FLOATING_POINT_NULL, LOGICAL_NULL, COMPLEX_NULL, BYTE_NULL, TWOLOC_NULL } };<6< g@C< 7 TMj X?S_@]47@Mj@B X4ɏG謱< K<Lxcvdfxc: /* add MPI_GROUP_EMPTRY to table */ OBJ_CONSTRUCT(&ompi_mpi_group_empty, ompi_group_t); ompi_mpi_group_empty.grp_proc_count = 0; ompi_mpi_group_empty.grp_my_rank = MPI_UNDEFINED; ompi_mpi_group_empty.grp_proc_pointers = NULL; ompi_mpi_group_empty.grp_flags |= OMPI_GROUP_INTRINSIC;<6$Ke< 8 T(Nj X?S@]48@(Nj@bh &urNqYKO^<  < xcvdfxc: /* Setup MPI_COMM_SELF */ OBJ_CONSTRUCT(&ompi_mpi_comm_self, ompi_communicator_t); group = OBJ_NEW(ompi_group_t); group->grp_proc_pointers = ompi_proc_self(&size); group->grp_my_rank = 0; group->grp_proc_count = size; group->grp_flags |= OMPI_GROUP_INTRINSIC; ompi_mpi_comm_self.c_contextid = 1; ompi_mpi_comm_self.c_f_to_c_index = 1; ompi_mpi_comm_self.c_my_rank = group->grp_my_rank; ompi_mpi_comm_self.c_local_group = group; ompi_mpi_comm_self.c_remote_group = group; OBJ_RETAIN(ompi_mpi_comm_self.c_remote_group); ompi_mpi_comm_self.error_handler = &ompi_mpi_errors_are_fatal; OBJ_RETAIN( &ompi_mpi_errors_are_fatal ); OMPI_COMM_SET_PML_ADDED(&ompi_mpi_comm_self); ompi_pointer_array_set_item (&ompi_mpi_communicators, 1, &ompi_mpi_comm_self); strncpy(ompi_mpi_comm_self.c_name,"MPI_COMM_SELF",strlen("MPI_COMM_SELF")+1); ompi_mpi_comm_self.c_flags |= OMPI_COMM_NAMEISSET; ompi_mpi_comm_self.c_flags |= OMPI_COMM_INTRINSIC; /* We can set MPI_COMM_SELF's keyhash to NULL because it has no predefined attributes. If a user defines an attribute on MPI_COMM_SELF, the keyhash will automatically be created. */ ompi_mpi_comm_self.c_keyhash = NULL; <6  g< 9 Tpj X?S]49@pj a wOP<< E<Fxcvdfxc: /* Setup MPI_COMM_NULL */ OBJ_CONSTRUCT(&ompi_mpi_comm_null, ompi_communicator_t); ompi_mpi_comm_null.c_local_group = &ompi_mpi_group_null; ompi_mpi_comm_null.c_remote_group = &ompi_mpi_group_null; OBJ_RETAIN(&ompi_mpi_group_null); OBJ_RETAIN(&ompi_mpi_group_null); ompi_mpi_comm_null.c_contextid = 2; ompi_mpi_comm_null.c_f_to_c_index = 2; ompi_mpi_comm_null.c_my_rank = MPI_PROC_NULL; ompi_mpi_comm_null.error_handler = &ompi_mpi_errors_are_fatal; OBJ_RETAIN( &ompi_mpi_errors_are_fatal ); ompi_pointer_array_set_item (&ompi_mpi_communicators, 2, &ompi_mpi_comm_null); strncpy(ompi_mpi_comm_null.c_name,"MPI_COMM_NULL",strlen("MPI_COMM_NULL")+1); ompi_mpi_comm_null.c_flags |= OMPI_COMM_NAMEISSET; ompi_mpi_comm_null.c_flags |= OMPI_COMM_INTRINSIC; <6$Ee|E2< : TPqj X?S]4:@Pqja yAoI9yEB< <xcvdfxc: /* Setup MPI_COMM_WORLD */ OBJ_CONSTRUCT(&ompi_mpi_comm_world, ompi_communicator_t); group = OBJ_NEW(ompi_group_t); group->grp_proc_pointers = ompi_proc_world(&size); group->grp_proc_count = size; group->grp_flags |= OMPI_GROUP_INTRINSIC; ompi_set_group_rank(group, ompi_proc_local()); ompi_group_increment_proc_count (group); ompi_mpi_comm_world.c_contextid = 0; ompi_mpi_comm_world.c_f_to_c_index = 0; ompi_mpi_comm_world.c_my_rank = group->grp_my_rank; ompi_mpi_comm_world.c_local_group = group; ompi_mpi_comm_world.c_remote_group = group; ompi_mpi_comm_world.c_cube_dim = opal_cube_dim(size); ompi_mpi_comm_world.error_handler = &ompi_mpi_errors_are_fatal; OBJ_RETAIN( &ompi_mpi_errors_are_fatal ); OBJ_RETAIN(ompi_mpi_comm_world.c_remote_group); OMPI_COMM_SET_PML_ADDED(&ompi_mpi_comm_world); ompi_pointer_array_set_item (&ompi_mpi_communicators, 0, &ompi_mpi_comm_world); strncpy (ompi_mpi_comm_world.c_name, "MPI_COMM_WORLD", strlen("MPI_COMM_WORLD")+1 ); ompi_mpi_comm_world.c_flags |= OMPI_COMM_NAMEISSET; ompi_mpi_comm_world.c_flags |= OMPI_COMM_INTRINSIC; <6e< ; Tqj X?S]4;@qja oF?8p< <<=xcvdfxc: OBJ_CONSTRUCT(&ompi_request_null, ompi_request_t);<6a<g@C< < Tqj X?S]4<@qjB ]lNF)fn< <xcvdfxc: /* * MPI_OP_NULL * All types */ #define FLAGS_NO_FLOAT \ (OMPI_OP_FLAGS_INTRINSIC | OMPI_OP_FLAGS_ASSOC | OMPI_OP_FLAGS_COMMUTE) #define FLAGS \ (OMPI_OP_FLAGS_INTRINSIC | OMPI_OP_FLAGS_ASSOC | \ OMPI_OP_FLAGS_FLOAT_ASSOC | OMPI_OP_FLAGS_COMMUTE) ompi_op_t ompi_mpi_op_null = { { NULL, 0 }, "MPI_OP_NULL", FLAGS, { C_INTEGER_NULL, FORTRAN_INTEGER_NULL, FLOATING_POINT_NULL, LOGICAL_NULL, COMPLEX_NULL, BYTE_NULL, TWOLOC_NULL } };<6U g@U2< = Trj X?S`s]4=@rj`j \yX΁IC< i<jxcvdfxc: OBJ_CONSTRUCT( &ompi_mpi_errhandler_null, ompi_errhandler_t ); if( ompi_mpi_errhandler_null.eh_f_to_c_index != OMPI_ERRHANDLER_NULL_FORTRAN ) return OMPI_ERROR; ompi_mpi_errhandler_null.eh_mpi_object_type = OMPI_ERRHANDLER_TYPE_PREDEFINED; ompi_mpi_errhandler_null.eh_fortran_function = false; ompi_mpi_errhandler_null.eh_comm_fn = NULL; ompi_mpi_errhandler_null.eh_file_fn = NULL; ompi_mpi_errhandler_null.eh_win_fn = NULL ; ompi_mpi_errhandler_null.eh_fort_fn = NULL; strncpy (ompi_mpi_errhandler_null.eh_name, "MPI_ERRHANDLER_NULL", strlen("MPI_ERRHANDLER_NULL")+1 ); <6"ig@C< > TPtj X?Su]4>@Ptjd %2zLAyqx< j<kxcvdfxc: OBJ_CONSTRUCT(&ompi_mpi_info_null, ompi_info_t); ompi_mpi_info_null.i_f_to_c_index = 0; <6mjedE2< ? Ttj X?S&]4?@tjj X[JEip0< n<oxcvdfxc: /* Setup MPI_WIN_NULL */ OBJ_CONSTRUCT(&ompi_mpi_win_null, ompi_win_t); ompi_mpi_win_null.w_flags = OMPI_WIN_INVALID; ompi_mpi_win_null.w_group = &ompi_mpi_group_null; OBJ_RETAIN(&ompi_mpi_group_null); ompi_win_set_name(&ompi_mpi_win_null, "MPI_WIN_NULL"); ompi_pointer_array_set_item(&ompi_mpi_windows, 0, &ompi_mpi_win_null); <6 ne< @ Tuj X?SkU]4@@uj@f &6A rJ< <xcvdfxc: /* Setup MPI_FILE_NULL. Note that it will have the default error handler of MPI_ERRORS_RETURN, per MPI-2:9.7 (p265). */ OBJ_CONSTRUCT(&ompi_mpi_file_null, ompi_file_t); ompi_mpi_file_null.f_comm = &ompi_mpi_comm_null; OBJ_RETAIN(ompi_mpi_file_null.f_comm); ompi_mpi_file_null.f_f_to_c_index = 0; ompi_pointer_array_set_item(&ompi_file_f_to_c_table, 0, &ompi_mpi_file_null); <6[ e< A TPuj X?S]4A@Pujf ҳ؊A5D*1l^< <xcvdfxc: # # Check for MPI_Aint type. Yes, there are platforms where # sizeof(void*) != sizeof(long) (64 bit Windows, apparently). # if test $ac_cv_type_ptrdiff_t = yes ; then ompi_ptrdiff_t="ptrdiff_t" elif test $ac_cv_sizeof_void_p -eq $ac_cv_sizeof_long ; then ompi_ptrdiff_t="long" elif test $ac_cv_type_long_long = yes -a $ac_cv_sizeof_void_p -eq $ac_cv_sizeof_long_long ; then ompi_ptrdiff_t="long long" else { { echo "$as_me:$LINENO: error: Could not find datatype to emulate ptrdiff_t. Cannot continue" >&5 echo "$as_me: error: Could not find datatype to emulate ptrdiff_t. Cannot continue" >&2;} { (exit 1); exit 1; }; } fi cat >>confdefs.h <<_ACEOF #define OMPI_PTRDIFF_TYPE $ompi_ptrdiff_t _ACEOF<6e< B T@ X?S %]4B@@a C{cGq>f0< <xcvdfxc: # # Test to determine type of MPI_Offset. This is searched in the following order # int64_t, long long, long, int. If none of these are 8 bytes, then we should # search for int32_t, long long, long, int. # MPI_OFFSET_TYPE="not found" MPI_OFFSET_DATATYPE="not found" { echo "$as_me:$LINENO: checking checking for type of MPI_Offset" >&5 echo $ECHO_N "checking checking for type of MPI_Offset... $ECHO_C" >&6; } if test "$ac_cv_type_long_long" = "yes" -a "$ac_cv_sizeof_long_long" = 8; then MPI_OFFSET_TYPE="long long" MPI_OFFSET_DATATYPE=MPI_LONG_LONG MPI_OFFSET_SIZE=8 elif test "$ac_cv_type_long" = "yes" -a "$ac_cv_sizeof_long" = 8; then MPI_OFFSET_TYPE="long" MPI_OFFSET_DATATYPE=MPI_LONG MPI_OFFSET_SIZE=8 elif test "ac_cv_sizeof_int" = 8; then MPI_OFFSET_TYPE=int MPI_OFFSET_DATATYPE=MPI_INT MPI_OFFSET_SIZE=8 elif test "$ac_cv_type_long_long" = "yes" -a "$ac_cv_sizeof_long_long" = 4; then MPI_OFFSET_TYPE="long long" MPI_OFFSET_DATATYPE=MPI_LONG_LONG MPI_OFFSET_SIZE=4 elif test "$ac_cv_type_long" = "yes" -a "$ac_cv_sizeof_long" = 4; then MPI_OFFSET_TYPE="long" MPI_OFFSET_DATATYPE=MPI_LONG MPI_OFFSET_SIZE=4 elif test "ac_cv_sizeof_int" = 4; then MPI_OFFSET_TYPE=int MPI_OFFSET_DATATYPE=MPI_INT MPI_OFFSET_SIZE=4 fi { echo "$as_me:$LINENO: result: $MPI_OFFSET_TYPE" >&5 echo "${ECHO_T}$MPI_OFFSET_TYPE" >&6; } if test "$MPI_OFFSET_TYPE" = "not found"; then { echo "$as_me:$LINENO: WARNING: *** Unable to find the right definition for MPI_Offset" >&5 echo "$as_me: WARNING: *** Unable to find the right definition for MPI_Offset" >&2;} { { echo "$as_me:$LINENO: error: Cannot continue" >&5 echo "$as_me: error: Cannot continue" >&2;} { (exit 1); exit 1; }; } fi cat >>confdefs.h <<_ACEOF #define OMPI_MPI_OFFSET_TYPE $MPI_OFFSET_TYPE _ACEOF <6.excvdfxcexcvdfxcexcvdfxcexcvdfxcexcvdfxcexcvdfxceAxcvdfxcexcvdfxce xcvdfxce Bxcvdfxce  xcvdfxce  xcvdfxce xcvdfxce9xcvdfxce;xcvdfxce<xcvdfxce=xcvdfxce>xcvdfxce?xcvdfxce@xcvdfxce:xcvdfxce8xcvdfxce7xcvdfxce*xcvdfxce+xcvdfxce,xcvdfxce-xcvdfxce.xcvdfxce/xcvdfxce0xcvdfxce1xcvdfxce2xcvdfxce3xcvdfxce4xcvdfxce5xcvdfxce6xcvdfxcexcvdfxcexcvdfxcexcvdfxcexcvdfxcexcvdfxce xcvdfxcexcvdfxcexcvdfxcexcvdfxcexcvdfxcexcvdfxcexcvdfxcexcvdfxcexcvdfxcexcvdfxcexcvdfxcexcvdfxcexcvdfxcexcvdfxce xcvdfxce!xcvdfxce"xcvdfxce#xcvdfxce$xcvdfxce%xcvdfxce&xcvdfxce'xcvdfxce(xcvdfxce)xcvdfxce>@dfbf)))ggD  2  dMbP?_*+% &ffffff?'ffffff?(?)?" 333333?333333? t&<3U>@ggD  F4  dMbP?_*+% &ffffff?'ffffff?(?)?" 333333?333333?&<3U>@ggD  Oh+'0@HXh xcvdfxcxcvdfxcMicrosoft Excel@F@O՜.+,0 PXd lt|  Sheet1Sheet2Sheet3  Worksheets F&Microsoft Office Excel 2003 WorksheetBiff8Excel.Sheet.89qCompObj r