From 0b8baa217d584f84d17baa8afa0779c610b6d2cc Mon Sep 17 00:00:00 2001 From: Nathan Hjelm Date: Tue, 18 Feb 2020 22:42:21 -0800 Subject: [PATCH] ompi: remove obsolete c++ bindings This commit contains the following changes: The C++ bindings were removed from the standard in MPI-3.0. This commit removes the entirety of the C++ bindings as well as the support configury. Removes all references to C++ from the man pages. This includes the bindings themselves, all references to what C++ bindings return, all not-available comments, and differences between C++ and other language bindings. If the user passes --enable-mpi-cxx, --enable-mpi-cxx-seek, or --enable-cxx-exceptions, print a warning message an abort configure. Signed-off-by: Jeff Squyres Signed-off-by: Nathan Hjelm --- Makefile.ompi-rules | 3 - README | 31 +- VERSION | 8 +- config/make_manpage.pl | 6 - config/ompi_config_files.m4 | 3 +- config/ompi_configure_options.m4 | 30 - config/ompi_cxx_find_exception_flags.m4 | 94 --- config/ompi_cxx_find_template_parameters.m4 | 44 -- config/ompi_cxx_find_template_repository.m4 | 172 ----- config/ompi_cxx_have_exceptions.m4 | 44 -- config/ompi_deleted_options.m4 | 23 + config/ompi_setup_cxx.m4 | 396 +--------- config/opal_setup_cxx.m4 | 226 ------ config/opal_summary.m4 | 6 - configure.ac | 35 +- examples/Makefile | 13 +- examples/Makefile.include | 4 +- examples/hello_cxx.cc | 34 - examples/ring_cxx.cc | 85 --- ompi/Makefile.am | 14 +- ompi/include/mpi.h.in | 30 +- ompi/mpi/cxx/Makefile.am | 85 --- ompi/mpi/cxx/comm.cc | 135 ---- ompi/mpi/cxx/comm.h | 465 ------------ ompi/mpi/cxx/comm_inln.h | 689 ------------------ ompi/mpi/cxx/constants.h | 293 -------- ompi/mpi/cxx/cxx_glue.c | 152 ---- ompi/mpi/cxx/cxx_glue.h | 88 --- ompi/mpi/cxx/datatype.cc | 103 --- ompi/mpi/cxx/datatype.h | 258 ------- ompi/mpi/cxx/datatype_inln.h | 418 ----------- ompi/mpi/cxx/errhandler.h | 63 -- ompi/mpi/cxx/errhandler_inln.h | 49 -- ompi/mpi/cxx/exception.h | 74 -- ompi/mpi/cxx/file.cc | 185 ----- ompi/mpi/cxx/file.h | 317 -------- ompi/mpi/cxx/file_inln.h | 655 ----------------- ompi/mpi/cxx/functions.h | 156 ---- ompi/mpi/cxx/functions_inln.h | 295 -------- ompi/mpi/cxx/group.h | 124 ---- ompi/mpi/cxx/group_inln.h | 129 ---- ompi/mpi/cxx/info.h | 103 --- ompi/mpi/cxx/info_inln.h | 83 --- ompi/mpi/cxx/intercepts.cc | 511 ------------- ompi/mpi/cxx/intercomm.h | 87 --- ompi/mpi/cxx/intercomm_inln.h | 81 -- ompi/mpi/cxx/intracomm.h | 166 ----- ompi/mpi/cxx/intracomm_inln.h | 240 ------ ompi/mpi/cxx/mpicxx.cc | 172 ----- ompi/mpi/cxx/mpicxx.h | 286 -------- ompi/mpi/cxx/op.h | 65 -- ompi/mpi/cxx/op_inln.h | 149 ---- ompi/mpi/cxx/request.h | 235 ------ ompi/mpi/cxx/request_inln.h | 366 ---------- ompi/mpi/cxx/status.h | 115 --- ompi/mpi/cxx/status_inln.h | 105 --- ompi/mpi/cxx/topology.h | 167 ----- ompi/mpi/cxx/topology_inln.h | 220 ------ ompi/mpi/cxx/win.cc | 113 --- ompi/mpi/cxx/win.h | 212 ------ ompi/mpi/cxx/win_inln.h | 295 -------- ompi/mpi/man/man3/MPI_Abort.3in | 9 +- ompi/mpi/man/man3/MPI_Accumulate.3in | 12 +- ompi/mpi/man/man3/MPI_Add_error_class.3in | 12 +- ompi/mpi/man/man3/MPI_Add_error_code.3in | 12 +- ompi/mpi/man/man3/MPI_Add_error_string.3in | 12 +- ompi/mpi/man/man3/MPI_Address.3in | 5 +- ompi/mpi/man/man3/MPI_Allgather.3in | 11 +- ompi/mpi/man/man3/MPI_Allgatherv.3in | 12 +- ompi/mpi/man/man3/MPI_Alloc_mem.3in | 9 +- ompi/mpi/man/man3/MPI_Allreduce.3in | 11 +- ompi/mpi/man/man3/MPI_Alltoall.3in | 14 +- ompi/mpi/man/man3/MPI_Alltoallv.3in | 16 +- ompi/mpi/man/man3/MPI_Alltoallw.3in | 16 +- ompi/mpi/man/man3/MPI_Attr_delete.3in | 5 +- ompi/mpi/man/man3/MPI_Attr_get.3in | 5 +- ompi/mpi/man/man3/MPI_Attr_put.3in | 5 +- ompi/mpi/man/man3/MPI_Barrier.3in | 9 +- ompi/mpi/man/man3/MPI_Bcast.3in | 10 +- ompi/mpi/man/man3/MPI_Bsend.3in | 10 +- ompi/mpi/man/man3/MPI_Bsend_init.3in | 10 +- ompi/mpi/man/man3/MPI_Buffer_attach.3in | 9 +- ompi/mpi/man/man3/MPI_Buffer_detach.3in | 9 +- ompi/mpi/man/man3/MPI_Cancel.3in | 9 +- ompi/mpi/man/man3/MPI_Cart_coords.3in | 10 +- ompi/mpi/man/man3/MPI_Cart_create.3in | 10 +- ompi/mpi/man/man3/MPI_Cart_get.3in | 10 +- ompi/mpi/man/man3/MPI_Cart_map.3in | 10 +- ompi/mpi/man/man3/MPI_Cart_rank.3in | 9 +- ompi/mpi/man/man3/MPI_Cart_shift.3in | 10 +- ompi/mpi/man/man3/MPI_Cart_sub.3in | 9 +- ompi/mpi/man/man3/MPI_Cartdim_get.3in | 9 +- ompi/mpi/man/man3/MPI_Close_port.3in | 9 +- ompi/mpi/man/man3/MPI_Comm_accept.3in | 10 +- .../mpi/man/man3/MPI_Comm_call_errhandler.3in | 12 +- ompi/mpi/man/man3/MPI_Comm_compare.3in | 9 +- ompi/mpi/man/man3/MPI_Comm_connect.3in | 10 +- ompi/mpi/man/man3/MPI_Comm_create.3in | 11 +- .../man/man3/MPI_Comm_create_errhandler.3in | 17 +- ompi/mpi/man/man3/MPI_Comm_create_keyval.3in | 27 +- ompi/mpi/man/man3/MPI_Comm_delete_attr.3in | 9 +- ompi/mpi/man/man3/MPI_Comm_disconnect.3in | 9 +- ompi/mpi/man/man3/MPI_Comm_dup.3in | 11 +- ompi/mpi/man/man3/MPI_Comm_f2c.3in | 3 +- ompi/mpi/man/man3/MPI_Comm_free.3in | 9 +- ompi/mpi/man/man3/MPI_Comm_free_keyval.3in | 9 +- ompi/mpi/man/man3/MPI_Comm_get_attr.3in | 10 +- ompi/mpi/man/man3/MPI_Comm_get_errhandler.3in | 9 +- ompi/mpi/man/man3/MPI_Comm_get_name.3in | 11 +- ompi/mpi/man/man3/MPI_Comm_get_parent.3in | 10 +- ompi/mpi/man/man3/MPI_Comm_group.3in | 9 +- ompi/mpi/man/man3/MPI_Comm_join.3in | 12 +- ompi/mpi/man/man3/MPI_Comm_rank.3in | 9 +- ompi/mpi/man/man3/MPI_Comm_remote_group.3in | 9 +- ompi/mpi/man/man3/MPI_Comm_remote_size.3in | 9 +- ompi/mpi/man/man3/MPI_Comm_set_attr.3in | 9 +- ompi/mpi/man/man3/MPI_Comm_set_errhandler.3in | 9 +- ompi/mpi/man/man3/MPI_Comm_set_name.3in | 11 +- ompi/mpi/man/man3/MPI_Comm_size.3in | 9 +- ompi/mpi/man/man3/MPI_Comm_spawn.3in | 25 +- ompi/mpi/man/man3/MPI_Comm_spawn_multiple.3in | 17 +- ompi/mpi/man/man3/MPI_Comm_split.3in | 11 +- ompi/mpi/man/man3/MPI_Comm_test_inter.3in | 9 +- ompi/mpi/man/man3/MPI_Dims_create.3in | 9 +- ompi/mpi/man/man3/MPI_Errhandler_create.3in | 5 +- ompi/mpi/man/man3/MPI_Errhandler_free.3in | 9 +- ompi/mpi/man/man3/MPI_Errhandler_get.3in | 5 +- ompi/mpi/man/man3/MPI_Errhandler_set.3in | 5 +- ompi/mpi/man/man3/MPI_Error_class.3in | 9 +- ompi/mpi/man/man3/MPI_Error_string.3in | 9 +- ompi/mpi/man/man3/MPI_Exscan.3in | 14 +- .../mpi/man/man3/MPI_File_call_errhandler.3in | 12 +- ompi/mpi/man/man3/MPI_File_close.3in | 9 +- .../man/man3/MPI_File_create_errhandler.3in | 19 +- ompi/mpi/man/man3/MPI_File_delete.3in | 10 +- ompi/mpi/man/man3/MPI_File_get_amode.3in | 9 +- ompi/mpi/man/man3/MPI_File_get_atomicity.3in | 9 +- .../mpi/man/man3/MPI_File_get_byte_offset.3in | 10 +- ompi/mpi/man/man3/MPI_File_get_errhandler.3in | 9 +- ompi/mpi/man/man3/MPI_File_get_group.3in | 9 +- ompi/mpi/man/man3/MPI_File_get_info.3in | 9 +- ompi/mpi/man/man3/MPI_File_get_position.3in | 9 +- .../man/man3/MPI_File_get_position_shared.3in | 9 +- ompi/mpi/man/man3/MPI_File_get_size.3in | 9 +- .../mpi/man/man3/MPI_File_get_type_extent.3in | 10 +- ompi/mpi/man/man3/MPI_File_get_view.3in | 11 +- ompi/mpi/man/man3/MPI_File_iread.3in | 10 +- ompi/mpi/man/man3/MPI_File_iread_all.3in | 3 +- ompi/mpi/man/man3/MPI_File_iread_at.3in | 10 +- ompi/mpi/man/man3/MPI_File_iread_at_all.3in | 3 +- ompi/mpi/man/man3/MPI_File_iread_shared.3in | 10 +- ompi/mpi/man/man3/MPI_File_iwrite.3in | 10 +- ompi/mpi/man/man3/MPI_File_iwrite_all.3in | 3 +- ompi/mpi/man/man3/MPI_File_iwrite_at.3in | 10 +- ompi/mpi/man/man3/MPI_File_iwrite_at_all.3in | 3 +- ompi/mpi/man/man3/MPI_File_iwrite_shared.3in | 10 +- ompi/mpi/man/man3/MPI_File_open.3in | 10 +- ompi/mpi/man/man3/MPI_File_preallocate.3in | 9 +- ompi/mpi/man/man3/MPI_File_read.3in | 13 +- ompi/mpi/man/man3/MPI_File_read_all.3in | 13 +- ompi/mpi/man/man3/MPI_File_read_all_begin.3in | 10 +- ompi/mpi/man/man3/MPI_File_read_all_end.3in | 11 +- ompi/mpi/man/man3/MPI_File_read_at.3in | 14 +- ompi/mpi/man/man3/MPI_File_read_at_all.3in | 13 +- .../man/man3/MPI_File_read_at_all_begin.3in | 10 +- .../mpi/man/man3/MPI_File_read_at_all_end.3in | 11 +- ompi/mpi/man/man3/MPI_File_read_ordered.3in | 13 +- .../man/man3/MPI_File_read_ordered_begin.3in | 10 +- .../man/man3/MPI_File_read_ordered_end.3in | 11 +- ompi/mpi/man/man3/MPI_File_read_shared.3in | 13 +- ompi/mpi/man/man3/MPI_File_seek.3in | 9 +- ompi/mpi/man/man3/MPI_File_seek_shared.3in | 9 +- ompi/mpi/man/man3/MPI_File_set_atomicity.3in | 9 +- ompi/mpi/man/man3/MPI_File_set_errhandler.3in | 9 +- ompi/mpi/man/man3/MPI_File_set_info.3in | 9 +- ompi/mpi/man/man3/MPI_File_set_size.3in | 9 +- ompi/mpi/man/man3/MPI_File_set_view.3in | 12 +- ompi/mpi/man/man3/MPI_File_sync.3in | 9 +- ompi/mpi/man/man3/MPI_File_write.3in | 13 +- ompi/mpi/man/man3/MPI_File_write_all.3in | 13 +- .../mpi/man/man3/MPI_File_write_all_begin.3in | 10 +- ompi/mpi/man/man3/MPI_File_write_all_end.3in | 11 +- ompi/mpi/man/man3/MPI_File_write_at.3in | 13 +- ompi/mpi/man/man3/MPI_File_write_at_all.3in | 14 +- .../man/man3/MPI_File_write_at_all_begin.3in | 11 +- .../man/man3/MPI_File_write_at_all_end.3in | 11 +- ompi/mpi/man/man3/MPI_File_write_ordered.3in | 13 +- .../man/man3/MPI_File_write_ordered_begin.3in | 10 +- .../man/man3/MPI_File_write_ordered_end.3in | 11 +- ompi/mpi/man/man3/MPI_File_write_shared.3in | 13 +- ompi/mpi/man/man3/MPI_Finalize.3in | 9 +- ompi/mpi/man/man3/MPI_Finalized.3in | 9 +- ompi/mpi/man/man3/MPI_Free_mem.3in | 9 +- ompi/mpi/man/man3/MPI_Gather.3in | 12 +- ompi/mpi/man/man3/MPI_Gatherv.3in | 12 +- ompi/mpi/man/man3/MPI_Get.3in | 12 +- ompi/mpi/man/man3/MPI_Get_address.3in | 11 +- ompi/mpi/man/man3/MPI_Get_count.3in | 9 +- ompi/mpi/man/man3/MPI_Get_elements.3in | 9 +- ompi/mpi/man/man3/MPI_Get_library_version.3in | 8 +- ompi/mpi/man/man3/MPI_Get_processor_name.3in | 9 +- ompi/mpi/man/man3/MPI_Get_version.3in | 9 +- ompi/mpi/man/man3/MPI_Graph_create.3in | 10 +- ompi/mpi/man/man3/MPI_Graph_get.3in | 10 +- ompi/mpi/man/man3/MPI_Graph_map.3in | 10 +- ompi/mpi/man/man3/MPI_Graph_neighbors.3in | 10 +- .../man/man3/MPI_Graph_neighbors_count.3in | 9 +- ompi/mpi/man/man3/MPI_Graphdims_get.3in | 9 +- ompi/mpi/man/man3/MPI_Grequest_complete.3in | 9 +- ompi/mpi/man/man3/MPI_Grequest_start.3in | 35 +- ompi/mpi/man/man3/MPI_Group_compare.3in | 9 +- ompi/mpi/man/man3/MPI_Group_difference.3in | 9 +- ompi/mpi/man/man3/MPI_Group_excl.3in | 9 +- ompi/mpi/man/man3/MPI_Group_free.3in | 9 +- ompi/mpi/man/man3/MPI_Group_incl.3in | 9 +- ompi/mpi/man/man3/MPI_Group_intersection.3in | 9 +- ompi/mpi/man/man3/MPI_Group_range_excl.3in | 9 +- ompi/mpi/man/man3/MPI_Group_range_incl.3in | 9 +- ompi/mpi/man/man3/MPI_Group_rank.3in | 9 +- ompi/mpi/man/man3/MPI_Group_size.3in | 9 +- .../man/man3/MPI_Group_translate_ranks.3in | 10 +- ompi/mpi/man/man3/MPI_Group_union.3in | 9 +- ompi/mpi/man/man3/MPI_Ibsend.3in | 10 +- ompi/mpi/man/man3/MPI_Improbe.3in | 12 +- ompi/mpi/man/man3/MPI_Imrecv.3in | 12 +- ompi/mpi/man/man3/MPI_Info_create.3in | 9 +- ompi/mpi/man/man3/MPI_Info_delete.3in | 9 +- ompi/mpi/man/man3/MPI_Info_dup.3in | 9 +- ompi/mpi/man/man3/MPI_Info_free.3in | 9 +- ompi/mpi/man/man3/MPI_Info_get.3in | 10 +- ompi/mpi/man/man3/MPI_Info_get_nkeys.3in | 9 +- ompi/mpi/man/man3/MPI_Info_get_nthkey.3in | 9 +- ompi/mpi/man/man3/MPI_Info_get_valuelen.3in | 12 +- ompi/mpi/man/man3/MPI_Info_set.3in | 9 +- ompi/mpi/man/man3/MPI_Init.3in | 19 +- ompi/mpi/man/man3/MPI_Init_thread.3in | 22 +- ompi/mpi/man/man3/MPI_Initialized.3in | 9 +- ompi/mpi/man/man3/MPI_Intercomm_create.3in | 10 +- ompi/mpi/man/man3/MPI_Intercomm_merge.3in | 9 +- ompi/mpi/man/man3/MPI_Iprobe.3in | 11 +- ompi/mpi/man/man3/MPI_Irecv.3in | 10 +- ompi/mpi/man/man3/MPI_Irsend.3in | 10 +- ompi/mpi/man/man3/MPI_Is_thread_main.3in | 12 +- ompi/mpi/man/man3/MPI_Isend.3in | 10 +- ompi/mpi/man/man3/MPI_Issend.3in | 10 +- ompi/mpi/man/man3/MPI_Keyval_create.3in | 5 +- ompi/mpi/man/man3/MPI_Keyval_free.3in | 5 +- ompi/mpi/man/man3/MPI_Lookup_name.3in | 13 +- ompi/mpi/man/man3/MPI_Mprobe.3in | 12 +- ompi/mpi/man/man3/MPI_Mrecv.3in | 12 +- ompi/mpi/man/man3/MPI_Op_commutative.3in | 9 +- ompi/mpi/man/man3/MPI_Op_create.3in | 9 +- ompi/mpi/man/man3/MPI_Op_free.3in | 9 +- ompi/mpi/man/man3/MPI_Open_port.3in | 9 +- ompi/mpi/man/man3/MPI_Pack.3in | 10 +- ompi/mpi/man/man3/MPI_Pack_external.3in | 15 +- ompi/mpi/man/man3/MPI_Pack_external_size.3in | 13 +- ompi/mpi/man/man3/MPI_Pack_size.3in | 9 +- ompi/mpi/man/man3/MPI_Pcontrol.3in | 7 +- ompi/mpi/man/man3/MPI_Probe.3in | 11 +- ompi/mpi/man/man3/MPI_Publish_name.3in | 13 +- ompi/mpi/man/man3/MPI_Put.3in | 12 +- ompi/mpi/man/man3/MPI_Query_thread.3in | 12 +- ompi/mpi/man/man3/MPI_Recv.3in | 13 +- ompi/mpi/man/man3/MPI_Recv_init.3in | 10 +- ompi/mpi/man/man3/MPI_Reduce.3in | 11 +- ompi/mpi/man/man3/MPI_Reduce_local.3in | 10 +- ompi/mpi/man/man3/MPI_Reduce_scatter.3in | 11 +- ompi/mpi/man/man3/MPI_Register_datarep.3in | 15 +- ompi/mpi/man/man3/MPI_Request_free.3in | 9 +- ompi/mpi/man/man3/MPI_Request_get_status.3in | 11 +- ompi/mpi/man/man3/MPI_Rsend.3in | 10 +- ompi/mpi/man/man3/MPI_Rsend_init.3in | 10 +- ompi/mpi/man/man3/MPI_Scan.3in | 14 +- ompi/mpi/man/man3/MPI_Scatter.3in | 12 +- ompi/mpi/man/man3/MPI_Scatterv.3in | 12 +- ompi/mpi/man/man3/MPI_Send.3in | 10 +- ompi/mpi/man/man3/MPI_Send_init.3in | 10 +- ompi/mpi/man/man3/MPI_Sendrecv.3in | 17 +- ompi/mpi/man/man3/MPI_Sendrecv_replace.3in | 15 +- ompi/mpi/man/man3/MPI_Sizeof.3in | 10 +- ompi/mpi/man/man3/MPI_Ssend.3in | 10 +- ompi/mpi/man/man3/MPI_Ssend_init.3in | 10 +- ompi/mpi/man/man3/MPI_Start.3in | 9 +- ompi/mpi/man/man3/MPI_Startall.3in | 9 +- .../mpi/man/man3/MPI_Status_set_cancelled.3in | 9 +- ompi/mpi/man/man3/MPI_Status_set_elements.3in | 9 +- ompi/mpi/man/man3/MPI_Test.3in | 11 +- ompi/mpi/man/man3/MPI_Test_cancelled.3in | 9 +- ompi/mpi/man/man3/MPI_Testall.3in | 16 +- ompi/mpi/man/man3/MPI_Testany.3in | 13 +- ompi/mpi/man/man3/MPI_Testsome.3in | 18 +- ompi/mpi/man/man3/MPI_Topo_test.3in | 9 +- ompi/mpi/man/man3/MPI_Type_commit.3in | 9 +- ompi/mpi/man/man3/MPI_Type_contiguous.3in | 9 +- ompi/mpi/man/man3/MPI_Type_create_darray.3in | 12 +- .../man/man3/MPI_Type_create_f90_complex.3in | 12 +- .../man/man3/MPI_Type_create_f90_integer.3in | 12 +- .../mpi/man/man3/MPI_Type_create_f90_real.3in | 12 +- ompi/mpi/man/man3/MPI_Type_create_hvector.3in | 10 +- .../man3/MPI_Type_create_indexed_block.3in | 13 +- ompi/mpi/man/man3/MPI_Type_create_keyval.3in | 29 +- ompi/mpi/man/man3/MPI_Type_create_resized.3in | 10 +- ompi/mpi/man/man3/MPI_Type_create_struct.3in | 12 +- .../mpi/man/man3/MPI_Type_create_subarray.3in | 11 +- ompi/mpi/man/man3/MPI_Type_delete_attr.3in | 9 +- ompi/mpi/man/man3/MPI_Type_dup.3in | 9 +- ompi/mpi/man/man3/MPI_Type_extent.3in | 5 +- ompi/mpi/man/man3/MPI_Type_free.3in | 9 +- ompi/mpi/man/man3/MPI_Type_free_keyval.3in | 9 +- ompi/mpi/man/man3/MPI_Type_get_attr.3in | 9 +- ompi/mpi/man/man3/MPI_Type_get_contents.3in | 12 +- ompi/mpi/man/man3/MPI_Type_get_envelope.3in | 17 +- ompi/mpi/man/man3/MPI_Type_get_extent.3in | 10 +- ompi/mpi/man/man3/MPI_Type_get_name.3in | 10 +- .../mpi/man/man3/MPI_Type_get_true_extent.3in | 10 +- ompi/mpi/man/man3/MPI_Type_hindexed.3in | 5 +- ompi/mpi/man/man3/MPI_Type_hvector.3in | 5 +- ompi/mpi/man/man3/MPI_Type_indexed.3in | 15 +- ompi/mpi/man/man3/MPI_Type_lb.3in | 5 +- ompi/mpi/man/man3/MPI_Type_match_size.3in | 15 +- ompi/mpi/man/man3/MPI_Type_set_attr.3in | 9 +- ompi/mpi/man/man3/MPI_Type_set_name.3in | 9 +- ompi/mpi/man/man3/MPI_Type_size.3in | 9 +- ompi/mpi/man/man3/MPI_Type_struct.3in | 5 +- ompi/mpi/man/man3/MPI_Type_ub.3in | 5 +- ompi/mpi/man/man3/MPI_Type_vector.3in | 10 +- ompi/mpi/man/man3/MPI_Unpack.3in | 11 +- ompi/mpi/man/man3/MPI_Unpack_external.3in | 15 +- ompi/mpi/man/man3/MPI_Unpublish_name.3in | 13 +- ompi/mpi/man/man3/MPI_Wait.3in | 11 +- ompi/mpi/man/man3/MPI_Waitall.3in | 16 +- ompi/mpi/man/man3/MPI_Waitany.3in | 12 +- ompi/mpi/man/man3/MPI_Waitsome.3in | 17 +- ompi/mpi/man/man3/MPI_Win_call_errhandler.3in | 12 +- ompi/mpi/man/man3/MPI_Win_complete.3in | 9 +- ompi/mpi/man/man3/MPI_Win_create.3in | 11 +- .../man/man3/MPI_Win_create_errhandler.3in | 16 +- ompi/mpi/man/man3/MPI_Win_create_keyval.3in | 30 +- ompi/mpi/man/man3/MPI_Win_delete_attr.3in | 9 +- ompi/mpi/man/man3/MPI_Win_fence.3in | 9 +- ompi/mpi/man/man3/MPI_Win_free.3in | 9 +- ompi/mpi/man/man3/MPI_Win_free_keyval.3in | 9 +- ompi/mpi/man/man3/MPI_Win_get_attr.3in | 9 +- ompi/mpi/man/man3/MPI_Win_get_errhandler.3in | 9 +- ompi/mpi/man/man3/MPI_Win_get_group.3in | 9 +- ompi/mpi/man/man3/MPI_Win_get_name.3in | 9 +- ompi/mpi/man/man3/MPI_Win_lock.3in | 9 +- ompi/mpi/man/man3/MPI_Win_post.3in | 10 +- ompi/mpi/man/man3/MPI_Win_set_attr.3in | 9 +- ompi/mpi/man/man3/MPI_Win_set_errhandler.3in | 9 +- ompi/mpi/man/man3/MPI_Win_set_name.3in | 9 +- ompi/mpi/man/man3/MPI_Win_start.3in | 9 +- ompi/mpi/man/man3/MPI_Win_test.3in | 9 +- ompi/mpi/man/man3/MPI_Win_unlock.3in | 9 +- ompi/mpi/man/man3/MPI_Win_wait.3in | 9 +- ompi/mpi/man/man3/MPI_Wtick.3in | 7 +- ompi/mpi/man/man3/MPI_Wtime.3in | 7 +- ompi/tools/ompi_info/param.c | 17 - oshmem/tools/oshmem_info/param.c | 13 - 360 files changed, 682 insertions(+), 12274 deletions(-) delete mode 100644 config/ompi_cxx_find_exception_flags.m4 delete mode 100644 config/ompi_cxx_find_template_parameters.m4 delete mode 100644 config/ompi_cxx_find_template_repository.m4 delete mode 100644 config/ompi_cxx_have_exceptions.m4 delete mode 100644 config/opal_setup_cxx.m4 delete mode 100644 examples/hello_cxx.cc delete mode 100644 examples/ring_cxx.cc delete mode 100644 ompi/mpi/cxx/Makefile.am delete mode 100644 ompi/mpi/cxx/comm.cc delete mode 100644 ompi/mpi/cxx/comm.h delete mode 100644 ompi/mpi/cxx/comm_inln.h delete mode 100644 ompi/mpi/cxx/constants.h delete mode 100644 ompi/mpi/cxx/cxx_glue.c delete mode 100644 ompi/mpi/cxx/cxx_glue.h delete mode 100644 ompi/mpi/cxx/datatype.cc delete mode 100644 ompi/mpi/cxx/datatype.h delete mode 100644 ompi/mpi/cxx/datatype_inln.h delete mode 100644 ompi/mpi/cxx/errhandler.h delete mode 100644 ompi/mpi/cxx/errhandler_inln.h delete mode 100644 ompi/mpi/cxx/exception.h delete mode 100644 ompi/mpi/cxx/file.cc delete mode 100644 ompi/mpi/cxx/file.h delete mode 100644 ompi/mpi/cxx/file_inln.h delete mode 100644 ompi/mpi/cxx/functions.h delete mode 100644 ompi/mpi/cxx/functions_inln.h delete mode 100644 ompi/mpi/cxx/group.h delete mode 100644 ompi/mpi/cxx/group_inln.h delete mode 100644 ompi/mpi/cxx/info.h delete mode 100644 ompi/mpi/cxx/info_inln.h delete mode 100644 ompi/mpi/cxx/intercepts.cc delete mode 100644 ompi/mpi/cxx/intercomm.h delete mode 100644 ompi/mpi/cxx/intercomm_inln.h delete mode 100644 ompi/mpi/cxx/intracomm.h delete mode 100644 ompi/mpi/cxx/intracomm_inln.h delete mode 100644 ompi/mpi/cxx/mpicxx.cc delete mode 100644 ompi/mpi/cxx/mpicxx.h delete mode 100644 ompi/mpi/cxx/op.h delete mode 100644 ompi/mpi/cxx/op_inln.h delete mode 100644 ompi/mpi/cxx/request.h delete mode 100644 ompi/mpi/cxx/request_inln.h delete mode 100644 ompi/mpi/cxx/status.h delete mode 100644 ompi/mpi/cxx/status_inln.h delete mode 100644 ompi/mpi/cxx/topology.h delete mode 100644 ompi/mpi/cxx/topology_inln.h delete mode 100644 ompi/mpi/cxx/win.cc delete mode 100644 ompi/mpi/cxx/win.h delete mode 100644 ompi/mpi/cxx/win_inln.h diff --git a/Makefile.ompi-rules b/Makefile.ompi-rules index 1c63f0d5b0..d0950dc680 100644 --- a/Makefile.ompi-rules +++ b/Makefile.ompi-rules @@ -10,9 +10,6 @@ # TRIM_OPTIONS= -if ! MAN_PAGE_BUILD_MPI_CXX_BINDINGS - TRIM_OPTIONS += --nocxx -endif if ! MAN_PAGE_BUILD_MPIFH_BINDINGS TRIM_OPTIONS += --nofortran endif diff --git a/README b/README index 497a2b1ce3..d31bc5ca03 100644 --- a/README +++ b/README @@ -347,11 +347,6 @@ Compiler Notes version of the Intel 12.1 Linux compiler suite, the problem will go away. -- Early versions of the Portland Group 6.0 compiler have problems - creating the C++ MPI bindings as a shared library (e.g., v6.0-1). - Tests with later versions show that this has been fixed (e.g., - v6.0-5). - - The Portland Group compilers prior to version 7.0 require the "-Msignextend" compiler flag to extend the sign bit when converting from a shorter to longer integer. This is is different than other @@ -370,24 +365,6 @@ Compiler Notes - It has been reported that Pathscale 5.0.5 and 6.0.527 compilers give an internal compiler error when trying to Open MPI. -- Using the MPI C++ bindings with older versions of the Pathscale - compiler on some platforms is an old issue that seems to be a - problem when Pathscale uses a back-end GCC 3.x compiler. Here's a - proposed solution from the Pathscale support team (from July 2010): - - The proposed work-around is to install gcc-4.x on the system and - use the pathCC -gnu4 option. Newer versions of the compiler (4.x - and beyond) should have this fixed, but we'll have to test to - confirm it's actually fixed and working correctly. - - We don't anticipate that this will be much of a problem for Open MPI - users these days (our informal testing shows that not many users are - still using GCC 3.x). Contact Pathscale support if you continue to - have problems with Open MPI's C++ bindings. - - Note the MPI C++ bindings have been deprecated by the MPI Forum and - may not be supported in future releases. - - As of July 2017, the Pathscale compiler suite apparently has no further commercial support, and it does not look like there will be further releases. Any issues discovered regarding building / @@ -1340,12 +1317,6 @@ MPI FUNCTIONALITY Disable the MPI thread level MPI_THREAD_MULTIPLE (it is enabled by default). ---enable-mpi-cxx - Enable building the C++ MPI bindings (default: disabled). - - The MPI C++ bindings were deprecated in MPI-2.2, and removed from - the MPI standard in MPI-3.0. - --enable-mpi-java Enable building of an EXPERIMENTAL Java MPI interface (disabled by default). You may also need to specify --with-jdk-dir, @@ -1914,7 +1885,7 @@ each different wrapper compiler (language): ompi Synonym for "ompi-c"; Open MPI applications using the C MPI bindings ompi-c Open MPI applications using the C MPI bindings -ompi-cxx Open MPI applications using the C or C++ MPI bindings +ompi-cxx Open MPI applications using the C MPI bindings ompi-fort Open MPI applications using the Fortran MPI bindings ------------------------------------------------------------------------ diff --git a/VERSION b/VERSION index 479ae0952e..d645a8acc1 100644 --- a/VERSION +++ b/VERSION @@ -70,12 +70,7 @@ date="Unreleased developer copy" # functions over time; these technically did not change the interface # because Fortran 77 does not link by parameter type. -# 4. Similar to libmpi, libmpi_cxx's version number refers to the -# public MPI interfaces. Note that this version number may or may not -# be affected by changes to inlined functions in OMPI's -# header-file-based C++ bindings implementation. - -# 5. The ORTE and OPAL libraries will change versions when their +# 4. The ORTE and OPAL libraries will change versions when their # public interfaces change (as relative to the layer(s) above them). # None of the ORTE and OPAL interfaces are public to MPI applications, # but they are "public" within the OMPI code base and select 3rd party @@ -85,7 +80,6 @@ date="Unreleased developer copy" # format. libmpi_so_version=0:0:0 -libmpi_cxx_so_version=0:0:0 libmpi_mpifh_so_version=0:0:0 libmpi_usempi_tkr_so_version=0:0:0 libmpi_usempi_ignore_tkr_so_version=0:0:0 diff --git a/config/make_manpage.pl b/config/make_manpage.pl index 98e45977a2..28c01887e8 100755 --- a/config/make_manpage.pl +++ b/config/make_manpage.pl @@ -17,7 +17,6 @@ my $package_name; my $package_version; my $ompi_date; my $opal_date; -my $cxx = '1'; my $fortran = '1'; my $f08 = '1'; my $input; @@ -29,7 +28,6 @@ my $ok = Getopt::Long::GetOptions("package-name=s" => \$package_name, "package-version=s" => \$package_version, "ompi-date=s" => \$ompi_date, "opal-date=s" => \$opal_date, - "cxx!" => \$cxx, "fortran!" => \$fortran, "f08!" => \$f08, "input=s" => \$input, @@ -58,10 +56,6 @@ $file =~ s/#PACKAGE_VERSION#/$package_version/g; $file =~ s/#OMPI_DATE#/$ompi_date/g; $file =~ s/#OPAL_DATE#/$opal_date/g; -if ($cxx == 0) { - $file =~ s/\n\.SH C\+\+ Syntax.+?\n\.SH/\n\.SH/s; -} - if ($fortran == 0) { $file =~ s/\n\.SH Fortran Syntax.+?\n\.SH/\n\.SH/s; } diff --git a/config/ompi_config_files.m4 b/config/ompi_config_files.m4 index 7a4d6b2dd2..4b598595df 100644 --- a/config/ompi_config_files.m4 +++ b/config/ompi_config_files.m4 @@ -1,6 +1,6 @@ # -*- shell-script -*- # -# Copyright (c) 2009-2019 Cisco Systems, Inc. All rights reserved +# Copyright (c) 2009-2020 Cisco Systems, Inc. All rights reserved # Copyright (c) 2017-2018 Research Organization for Information Science # and Technology (RIST). All rights reserved. # Copyright (c) 2018 Los Alamos National Security, LLC. All rights @@ -26,7 +26,6 @@ AC_DEFUN([OMPI_CONFIG_FILES],[ ompi/mpi/c/Makefile ompi/mpi/c/profile/Makefile - ompi/mpi/cxx/Makefile ompi/mpi/fortran/base/Makefile ompi/mpi/fortran/mpif-h/Makefile ompi/mpi/fortran/mpif-h/profile/Makefile diff --git a/config/ompi_configure_options.m4 b/config/ompi_configure_options.m4 index ddee9a3277..29c67bbba7 100644 --- a/config/ompi_configure_options.m4 +++ b/config/ompi_configure_options.m4 @@ -166,36 +166,6 @@ case "x$enable_mpi_fortran" in ;; esac -# -# C++ -# - -AC_MSG_CHECKING([if want C++ bindings]) -AC_ARG_ENABLE(mpi-cxx, - AC_HELP_STRING([--enable-mpi-cxx], - [enable C++ MPI bindings (default: disabled)])) -if test "$enable_mpi_cxx" = "yes"; then - AC_MSG_RESULT([yes]) - WANT_MPI_CXX_SUPPORT=1 -else - AC_MSG_RESULT([no]) - WANT_MPI_CXX_SUPPORT=0 -fi - -AC_MSG_CHECKING([if want MPI::SEEK_SET support]) -AC_ARG_ENABLE([mpi-cxx-seek], - [AC_HELP_STRING([--enable-mpi-cxx-seek], - [enable support for MPI::SEEK_SET, MPI::SEEK_END, and MPI::SEEK_POS in C++ bindings (default: enabled)])]) -if test "$enable_mpi_cxx_seek" != "no" ; then - AC_MSG_RESULT([yes]) - OMPI_WANT_MPI_CXX_SEEK=1 -else - AC_MSG_RESULT([no]) - OMPI_WANT_MPI_CXX_SEEK=0 -fi -AC_DEFINE_UNQUOTED([OMPI_WANT_MPI_CXX_SEEK], [$OMPI_WANT_MPI_CXX_SEEK], - [do we want to try to work around C++ bindings SEEK_* issue?]) - # Remove these when we finally kill them once and for all AC_ARG_ENABLE([mpi1-compatibility], [AC_HELP_STRING([--enable-mpi1-compatibility], diff --git a/config/ompi_cxx_find_exception_flags.m4 b/config/ompi_cxx_find_exception_flags.m4 deleted file mode 100644 index d6c4585535..0000000000 --- a/config/ompi_cxx_find_exception_flags.m4 +++ /dev/null @@ -1,94 +0,0 @@ -dnl -*- shell-script -*- -dnl -dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -dnl University Research and Technology -dnl Corporation. All rights reserved. -dnl Copyright (c) 2004-2005 The University of Tennessee and The University -dnl of Tennessee Research Foundation. All rights -dnl reserved. -dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -dnl University of Stuttgart. All rights reserved. -dnl Copyright (c) 2004-2005 The Regents of the University of California. -dnl All rights reserved. -dnl Copyright (c) 2008 Cisco Systems, Inc. All rights reserved. -dnl $COPYRIGHT$ -dnl -dnl Additional copyrights may follow -dnl -dnl $HEADER$ -dnl - -AC_DEFUN([OMPI_CXX_FIND_EXCEPTION_FLAGS],[ -# -# Arguments: none -# -# Dependencies: none -# -# Get the exception handling flags for the C++ compiler. Leaves -# CXXFLAGS undisturbed. -# Provides --with-exflags command line argument for configure as well. -# -# Sets OMPI_CXX_EXCEPTION_CXXFLAGS and OMPI_CXX_EXCEPTION_LDFLAGS as -# appropriate. -# Must call AC_SUBST manually -# - -# Command line flags - -AC_ARG_WITH(exflags, - AC_HELP_STRING([--with-exflags], - [Specify flags necessary to enable C++ exceptions]), - ompi_force_exflags="$withval") - -ompi_CXXFLAGS_SAVE="$CXXFLAGS" -AC_MSG_CHECKING([for compiler exception flags]) - -# See which flags to use - -if test "$ompi_force_exflags" != ""; then - - # If the user supplied flags, use those - - ompi_exflags="$ompi_force_exflags" -elif test "$GXX" = "yes"; then - - # g++ has changed their flags a few times. Sigh. - - CXXFLAGS="$CXXFLAGS -fexceptions" - - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[try { int i = 0; } catch(...) { int j = 2; }]])], ompi_happy=1, ompi_happy=0) - - if test "$ompi_happy" = "1"; then - ompi_exflags="-fexceptions"; - else - CXXFLAGS="$CXXFLAGS_SAVE -fhandle-exceptions" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[try { int i = 0; } catch(...) { int j = 2; }]])], ompi_happy=1, ompi_happy=0) - if test "$ompi_happy" = "1"; then - ompi_exflags="-fhandle-exceptions"; - fi - fi - AC_LANG_RESTORE -elif test "`basename $CXX`" = "KCC"; then - - # KCC flags - - ompi_exflags="--exceptions" -fi -CXXFLAGS="$ompi_CXXFLAGS_SAVE" - -# Save the result - -OMPI_CXX_EXCEPTIONS_CXXFLAGS="$ompi_exflags" -OMPI_CXX_EXCEPTIONS_LDFLAGS="$ompi_exflags" -if test "$ompi_exflags" = ""; then - AC_MSG_RESULT([none necessary]) -else - AC_MSG_RESULT([$ompi_exflags]) -fi - -# Clean up - -unset ompi_force_exflags ompi_CXXFLAGS_SAVE ompi_exflags ompi_happy])dnl - diff --git a/config/ompi_cxx_find_template_parameters.m4 b/config/ompi_cxx_find_template_parameters.m4 deleted file mode 100644 index bfa4677a15..0000000000 --- a/config/ompi_cxx_find_template_parameters.m4 +++ /dev/null @@ -1,44 +0,0 @@ -dnl -*- shell-script -*- -dnl -dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -dnl University Research and Technology -dnl Corporation. All rights reserved. -dnl Copyright (c) 2004-2005 The University of Tennessee and The University -dnl of Tennessee Research Foundation. All rights -dnl reserved. -dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -dnl University of Stuttgart. All rights reserved. -dnl Copyright (c) 2004-2005 The Regents of the University of California. -dnl All rights reserved. -dnl Copyright (c) 2008 Cisco Systems, Inc. All rights reserved. -dnl $COPYRIGHT$ -dnl -dnl Additional copyrights may follow -dnl -dnl $HEADER$ -dnl - -AC_DEFUN([OMPI_CXX_FIND_TEMPLATE_PARAMETERS],[ -# -# Arguments: none -# -# Dependencies: None -# -# Get the C++ compiler template parameters. -# -# Adds to CXXFLAGS - -AC_MSG_CHECKING([for C++ compiler template parameters]) -if test "$BASECXX" = "KCC"; then - new_flags="--one_instantiation_per_object" - CXXFLAGS="$CXXFLAGS $new_flags" -else - new_flags="none needed" -fi -AC_MSG_RESULT([$new_flags]) - -# -# Clean up -# -unset new_flags -]) diff --git a/config/ompi_cxx_find_template_repository.m4 b/config/ompi_cxx_find_template_repository.m4 deleted file mode 100644 index 47d4cf2a26..0000000000 --- a/config/ompi_cxx_find_template_repository.m4 +++ /dev/null @@ -1,172 +0,0 @@ -dnl -*- shell-script -*- -dnl -dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -dnl University Research and Technology -dnl Corporation. All rights reserved. -dnl Copyright (c) 2004-2005 The University of Tennessee and The University -dnl of Tennessee Research Foundation. All rights -dnl reserved. -dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -dnl University of Stuttgart. All rights reserved. -dnl Copyright (c) 2004-2005 The Regents of the University of California. -dnl All rights reserved. -dnl Copyright (c) 2015 Research Organization for Information Science -dnl and Technology (RIST). All rights reserved. -dnl $COPYRIGHT$ -dnl -dnl Additional copyrights may follow -dnl -dnl $HEADER$ -dnl - -AC_DEFUN([OMPI_CXX_FIND_TEMPLATE_REPOSITORY],[ - AC_REQUIRE([AC_PROG_GREP]) - - # - # Arguments: None - # - # Dependencies: None - # - # See if the compiler makes template repository directories - # Warning: this is a really screwy example! -JMS - # - # Sets OMPI_CXX_TEMPLATE_REPOSITORY to the template repository, or blank. - # Must call AC_SUBST manually - # - AC_CACHE_CHECK([for C++ template_repository_directory], - [ompi_cv_cxx_template_repository], - [_OMPI_CXX_FIND_TEMPLATE_REPOSITORY]) - - if test "$ompi_cv_cxx_template_repository" = "not used" ; then - OMPI_CXX_TEMPLATE_REPOSITORY= - elif test "$ompi_cv_cxx_template_repository" = "templates not supported" ; then - OMPI_CXX_TEMPLATE_REPOSITORY= - else - OMPI_CXX_TEMPLATE_REPOSITORY="$ompi_cv_cxx_template_repository" - fi -]) - - -AC_DEFUN([_OMPI_CXX_FIND_TEMPLATE_REPOSITORY],[ -# Find the repository -mkdir conf_tmp_$$ -cd conf_tmp_$$ -cat > conftest.h < -class foo { -public: - foo(T yow) : data(yow) { yow.member(3); }; - void member(int i); -private: - T data; -}; - -class bar { -public: - bar(int i) { data = i; }; - void member(int j) { data = data * j; }; - -private: - int data; -}; -EOF - -cat > conftest2.C < var1(6); - foo< foo > var2(var1); -} -EOF - -cat > conftest1.C < -void -foo::member(int i) -{ - i += 2; -} - -int -main() -{ - foo var1(6); - foo< foo > var2(var1); - - some_other_function(); - return 0; -} -EOF - -ompi_template_failed= -echo configure:__oline__: $CXX $CXXFLAGS -c conftest1.C >&5 -$CXX $CXXFLAGS -c conftest1.C >&5 2>&5 -if test ! -f conftest1.o ; then - ompi_cv_cxx_template_repository="templates not supported" - echo configure:__oline__: here is the program that failed: >&5 - cat conftest1.C >&5 - echo configure:__oline__: here is conftest.h: >&5 - cat conftest.h >&5 - ompi_template_failed=1 -else - echo configure:__oline__: $CXX $CXXFLAGS -c conftest2.C >&5 - $CXX $CXXFLAGS -c conftest2.C >&5 2>&5 - if test ! -f conftest2.o ; then - ompi_cv_cxx_template_repository= - echo configure:__oline__: here is the program that failed: >&5 - cat conftest2.C >&5 - echo configure:__oline__: here is conftest.h: >&5 - cat conftest.h >&5 - else - rm -rf conftest* - - for ompi_file in `ls` - do - if test "$ompi_file" != "." && test "$ompi_file" != ".."; then - # Is it a directory? - if test -d "$ompi_file"; then - ompi_template_dir="$ompi_file $ompi_template_dir" - - # Or is it a file? - else - name="`echo $ompi_file | cut -d. -f1`" - - temp_mask= - if test "$name" = "main" || test "$name" = "other"; then - temp_mask="`echo $ompi_file | cut -d. -f2`" - if test "$ompi_template_filemask" = ""; then - ompi_template_filemask="$temp_mask"; - elif test "`echo $ompi_template_filemask | $GREP $temp_mask`" = ""; then - ompi_template_filemask="$ompi_template_filemask $temp_mask" - fi - fi - fi - fi - done - if test "$ompi_template_filemask" != ""; then - temp_mask= - for mask in $ompi_template_filemask - do - temp_mask="*.$mask $temp_mask" - done - ompi_template_filemask=$temp_mask - fi - fi -fi -ompi_cv_cxx_template_repository="$ompi_template_dir $ompi_template_filemask" - -if test "`echo $ompi_cv_cxx_template_repository`" = ""; then - ompi_cv_cxx_template_repository="not used" -fi -cd .. -rm -rf conf_tmp_$$ - -# Clean up -unset ompi_file ompi_template_failed ompi_template_dir]) diff --git a/config/ompi_cxx_have_exceptions.m4 b/config/ompi_cxx_have_exceptions.m4 deleted file mode 100644 index d102683a72..0000000000 --- a/config/ompi_cxx_have_exceptions.m4 +++ /dev/null @@ -1,44 +0,0 @@ -dnl -*- shell-script -*- -dnl -dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -dnl University Research and Technology -dnl Corporation. All rights reserved. -dnl Copyright (c) 2004-2005 The University of Tennessee and The University -dnl of Tennessee Research Foundation. All rights -dnl reserved. -dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -dnl University of Stuttgart. All rights reserved. -dnl Copyright (c) 2004-2005 The Regents of the University of California. -dnl All rights reserved. -dnl Copyright (c) 2008 Cisco Systems, Inc. All rights reserved. -dnl $COPYRIGHT$ -dnl -dnl Additional copyrights may follow -dnl -dnl $HEADER$ -dnl - -AC_DEFUN([OMPI_CXX_HAVE_EXCEPTIONS],[ -# -# Arguments: None -# -# Dependencies: None -# -# Check to see if the C++ compiler can handle exceptions -# -# Sets OMPI_CXX_EXCEPTIONS to 1 if compiler has exceptions, 0 if not -# - -AC_MSG_CHECKING([for throw/catch]) -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[int i=1; throw(i);]])], - OMPI_CXX_EXCEPTIONS=1, OMPI_CXX_EXCPTIONS=0) -if test "$OMPI_CXX_EXCEPTIONS" = "1"; then - AC_MSG_RESULT([yes]) -else - AC_MSG_RESULT([no]) -fi - -# Clean up -AC_LANG_RESTORE])dnl diff --git a/config/ompi_deleted_options.m4 b/config/ompi_deleted_options.m4 index b6e75a3765..42ccb8a178 100644 --- a/config/ompi_deleted_options.m4 +++ b/config/ompi_deleted_options.m4 @@ -1,6 +1,7 @@ # -*- shell-script -*- # # Copyright (c) 2020 Intel, Inc. All rights reserved. +# Copyright (c) 2020 Cisco Systems, Inc. All rights reserved # $COPYRIGHT$ # # Additional copyrights may follow @@ -34,5 +35,27 @@ AC_DEFUN([OMPI_CHECK_DELETED_OPTIONS],[ AC_MSG_ERROR([Build cannot continue.]) fi + # Open MPI C++ bindings were removed in v5.0 + cxx=0 + AC_ARG_ENABLE([mpi-cxx], + [AC_HELP_STRING([--enable-mpi-cxx], + [*DELETED* Build the MPI C++ bindings])], + [cxx=1]) + AC_ARG_ENABLE([mpi-cxx-seek], + [AC_HELP_STRING([--enable-mpi-cxx-seek], + [*DELETED* Build support for MPI::SEEK])], + [cxx=1]) + AC_ARG_ENABLE([cxx-exceptions], + [AC_HELP_STRING([--enable-cxx-exceptions], + [*DELETED* Build support for C++ exceptions in the MPI C++ bindings])], + [cxx=1]) + + AS_IF([test $cxx -eq 1], + [AC_MSG_WARN([The MPI C++ bindings have been removed from Open MPI.]) + AC_MSG_WARN([If you need support for the MPI C++ bindings, you]) + AC_MSG_WARN([will need to use an older version of Open MPI.]) + AC_MSG_ERROR([Build cannot continue.]) + ]) + OPAL_VAR_SCOPE_POP ]) diff --git a/config/ompi_setup_cxx.m4 b/config/ompi_setup_cxx.m4 index dc09d09d19..d1c05f0360 100644 --- a/config/ompi_setup_cxx.m4 +++ b/config/ompi_setup_cxx.m4 @@ -13,7 +13,7 @@ dnl All rights reserved. dnl Copyright (c) 2006 Los Alamos National Security, LLC. All rights dnl reserved. dnl Copyright (c) 2007-2009 Sun Microsystems, Inc. All rights reserved. -dnl Copyright (c) 2008-2013 Cisco Systems, Inc. All rights reserved. +dnl Copyright (c) 2008-2020 Cisco Systems, Inc. All rights reserved. dnl Copyright (c) 2015-2016 Research Organization for Information Science dnl and Technology (RIST). All rights reserved. dnl $COPYRIGHT$ @@ -23,13 +23,11 @@ dnl dnl $HEADER$ dnl -# This macro is necessary to get the title to be displayed first. :-) +dnl This macro is necessary to get the title to be displayed first. :-) AC_DEFUN([OMPI_SETUP_CXX_BANNER],[ opal_show_subtitle "C++ compiler and preprocessor" ]) -# This macro is necessary because PROG_CXX* is REQUIREd by multiple -# places in SETUP_CXX. AC_DEFUN([OMPI_PROG_CXX],[ OPAL_VAR_SCOPE_PUSH([ompi_cxxflags_save]) ompi_cxxflags_save="$CXXFLAGS" @@ -39,53 +37,23 @@ AC_DEFUN([OMPI_PROG_CXX],[ OPAL_VAR_SCOPE_POP ]) -# OMPI_SETUP_CXX() -# ---------------- -# Do everything required to setup the C++ compiler. Safe to AC_REQUIRE -# this macro. +dnl OMPI_SETUP_CXX() +dnl ---------------- +dnl Do everything required to setup the C++ compiler for the mpic++ +dnl wrapper compiler (there is no C++ code in Open MPI, so we do not +dnl need to setup for internal C++ compilations). Safe to AC_REQUIRE +dnl this macro. AC_DEFUN([OMPI_SETUP_CXX],[ + OPAL_VAR_SCOPE_PUSH([ompi_cxx_argv0]) + + # Do a little tomfoolery to get the subsection title printed first AC_REQUIRE([OMPI_SETUP_CXX_BANNER]) - _OMPI_SETUP_CXX_COMPILER - - _OMPI_CXX_CHECK_EXCEPTIONS - - AS_IF([test "$WANT_MPI_CXX_SUPPORT" = "1"], - [OMPI_CXX_FIND_TEMPLATE_REPOSITORY - OMPI_CXX_FIND_TEMPLATE_PARAMETERS - OPAL_CHECK_IDENT([CXX], [CXXFLAGS], [cc], [C++])]) - - _OMPI_CXX_CHECK_BUILTIN - - _OMPI_CXX_CHECK_2D_CONST_CAST - - AM_CONDITIONAL(OMPI_BUILD_MPI_CXX_BINDINGS, [test "$WANT_MPI_CXX_SUPPORT" = 1]) - AC_DEFINE_UNQUOTED(OMPI_BUILD_CXX_BINDINGS, $WANT_MPI_CXX_SUPPORT, - [Whether we want MPI C++ support or not]) -]) - -# _OMPI_SETUP_CXX_COMPILER() -# -------------------------- -# Setup the CXX compiler -AC_DEFUN([_OMPI_SETUP_CXX_COMPILER],[ - OPAL_VAR_SCOPE_PUSH(ompi_cxx_compiler_works) - - # There's a few cases here: - # - # 1. --enable-mpi-cxx was supplied: error if we don't find a C++ - # compiler - # 2. --disable-mpi-cxx was supplied: check for a C++ compiler anyway - # (so we can have a functional mpic++ wrapper compiler), but - # don't error if we don't find one. - # 3. neither was specified: same was #2 - # - # Then only proceed to do all the rest of the C++ checks if we - # both found a c++ compiler and want the C++ bindings (i.e., either - # case #1 or #3) - - # Must REQUIRE the PROG_CXX macro and not call it directly here for - # reasons well-described in the AC2.64 (and beyond) docs. + # Must REQUIRE the PROG_CXX macro and not call it directly here + # for reasons well-described in the AC2.64 (and beyond) docs -- + # see the docs for AC PROG_CC for details. AC_REQUIRE([OMPI_PROG_CXX]) + BASECXX="`basename $CXX`" AS_IF([test "x$CXX" = "x"], [CXX=none]) @@ -97,146 +65,8 @@ AC_DEFUN([_OMPI_SETUP_CXX_COMPILER],[ AC_DEFINE_UNQUOTED(OMPI_CXX, "$CXX", [OMPI underlying C++ compiler]) AC_SUBST(OMPI_CXX_ABSOLUTE) - # Make sure that the C++ compiler both works and is actually a C++ - # compiler (if not cross-compiling). Don't just use the AC macro - # so that we can have a pretty message. Do something here that - # should force the linking of C++-specific things (e.g., STL - # strings) so that we can force a hard check of compiling, - # linking, and running a C++ application. Note that some C - # compilers, such as at least some versions of the GNU and Intel - # compilers, will detect that the file extension is ".cc" and - # therefore switch into a pseudo-C++ personality which works for - # *compiling*, but does not work for *linking*. So in this test, - # we want to cover the entire spectrum (compiling, linking, - # running). Note that it is not a fatal error if the C++ compiler - # does not work unless the user specifically requested the C++ - # bindings. - AS_IF([test "$CXX" = "none"], - [ompi_cxx_compiler_works=no], - [AS_IF([test "$ompi_cv_cxx_compiler_vendor" = "microsoft" ], - [ompi_cxx_compiler_works=yes], - [OPAL_CHECK_COMPILER_WORKS([C++], [#include -], - [std::string foo = "Hello, world"], - [ompi_cxx_compiler_works=yes], - [ompi_cxx_compiler_works=no])])]) - - AS_IF([test "$ompi_cxx_compiler_works" = "yes"], - [_OMPI_SETUP_CXX_COMPILER_BACKEND], - [AS_IF([test "$enable_mpi_cxx" = "yes"], - [AC_MSG_WARN([Could not find functional C++ compiler, but]) - AC_MSG_WARN([support for the C++ MPI bindings was requested.]) - AC_MSG_ERROR([Cannot continue])], - [WANT_MPI_CXX_SUPPORT=0])]) - - AC_MSG_CHECKING([if able to build the MPI C++ bindings]) - AS_IF([test "$WANT_MPI_CXX_SUPPORT" = "1"], - [AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no]) - AS_IF([test "$enable_mpi_cxx" = "yes"], - [AC_MSG_WARN([MPI C++ binding support requested but not delivered]) - AC_MSG_ERROR([Cannot continue])])]) - - AS_IF([test "$WANT_MPI_CXX_SUPPORT" = "1"], - [OPAL_CXX_COMPILER_VENDOR([ompi_cxx_vendor])]) - OPAL_VAR_SCOPE_POP -]) - -# _OMPI_SETUP_CXX_COMPILER_BACKEND() -# ---------------------------------- -# Back end of _OMPI_SETUP_CXX_COMPILER_BACKEND() -AC_DEFUN([_OMPI_SETUP_CXX_COMPILER_BACKEND],[ - # Do we want code coverage - if test "$WANT_COVERAGE" = "1" && test "$WANT_MPI_CXX_SUPPORT" = "1"; then - if test "$ompi_cxx_vendor" = "gnu" ; then - AC_MSG_WARN([$OMPI_COVERAGE_FLAGS has been added to CFLAGS (--enable-coverage)]) - WANT_DEBUG=1 - CXXFLAGS="${CXXFLAGS} $OMPI_COVERAGE_FLAGS" - OPAL_WRAPPER_FLAGS_ADD([CXXFLAGS], [$OMPI_COVERAGE_FLAGS]) - else - AC_MSG_WARN([Code coverage functionality is currently available only with GCC suite]) - AC_MSG_ERROR([Configure: cannot continue]) - fi - fi - - # Do we want debugging? - if test "$WANT_DEBUG" = "1" && test "$enable_debug_symbols" != "no" ; then - CXXFLAGS="$CXXFLAGS -g" - OPAL_FLAGS_UNIQ(CXXFLAGS) - AC_MSG_WARN([-g has been added to CXXFLAGS (--enable-debug)]) - fi - - # These flags are generally g++-specific; even the g++-impersonating - # compilers won't accept them. - OMPI_CXXFLAGS_BEFORE_PICKY="$CXXFLAGS" - if test "$WANT_PICKY_COMPILER" = 1 && test "$ompi_cxx_vendor" = "gnu"; then - add="-Wall -Wundef -Wno-long-long" - - # see if -Wno-long-double works... - AC_LANG_PUSH(C++) - CXXFLAGS_orig="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS $add -Wno-long-double -fstrict-prototype" - AC_CACHE_CHECK([if $CXX supports -Wno-long-double], - [ompi_cv_cxx_wno_long_double], - [AC_TRY_COMPILE([], [], - [dnl Alright, the -Wno-long-double did not produce any errors... - dnl Well well, try to extract a warning regarding unrecognized or ignored options - AC_TRY_COMPILE([], [long double test;], - [ - ompi_cv_cxx_wno_long_double="yes" - if test -s conftest.err ; then - dnl Yes, it should be "ignor", in order to catch ignoring and ignore - for i in invalid ignor unrecognized ; do - $GREP -iq $i conftest.err - if test "$?" = "0" ; then - ompi_cv_cxx_wno_long_double="no", - break; - fi - done - fi - ], - [ompi_cv_cxx_wno_long_double="no"])], - [ompi_cv_cxx_wno_long_double="no"])]) - CXXFLAGS="$CXXFLAGS_orig" - AC_LANG_POP(C++) - if test "$ompi_cv_cxx_wno_long_double" = "yes" ; then - add="$add -Wno-long-double" - fi - - CXXFLAGS="$CXXFLAGS $add" - OPAL_FLAGS_UNIQ(CXXFLAGS) - if test "$add" != "" ; then - AC_MSG_WARN([$add has been added to CXXFLAGS (--enable-picky)]) - fi - unset add - fi - - # See if this version of g++ allows -finline-functions - if test "$GXX" = "yes"; then - CXXFLAGS_orig="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -finline-functions" - add= - AC_LANG_PUSH(C++) - AC_CACHE_CHECK([if $CXX supports -finline-functions], - [ompi_cv_cxx_finline_functions], - [AC_TRY_COMPILE([], [], - [ompi_cv_cxx_finline_functions="yes"], - [ompi_cv_cxx_finline_functions="no"])]) - AC_LANG_POP(C++) - if test "$ompi_cv_cxx_finline_functions" = "yes" ; then - add=" -finline-functions" - fi - CXXFLAGS="$CXXFLAGS_orig$add" - OPAL_FLAGS_UNIQ(CXXFLAGS) - if test "$add" != "" ; then - AC_MSG_WARN([$add has been added to CXXFLAGS]) - fi - unset add - fi - # Make sure we can link with the C compiler - if test "$ompi_cv_cxx_compiler_vendor" != "microsoft"; then - OPAL_LANG_LINK_WITH_C([C++], [], + OPAL_LANG_LINK_WITH_C([C++], [], [cat <&2 ********************************************************************** * It appears that your C++ compiler is unable to link against object @@ -249,206 +79,12 @@ AC_DEFUN([_OMPI_SETUP_CXX_COMPILER_BACKEND],[ ********************************************************************** EOF AC_MSG_ERROR([C and C++ compilers are not link compatible. Can not continue.])]) - fi - - # If we are on HP-UX, ensure that we're using aCC - case "$host" in - *hpux*) - if test "$BASECXX" = "CC"; then - AC_MSG_WARN([*** You will probably have problems compiling the MPI 2]) - AC_MSG_WARN([*** C++ bindings with the HP-UX CC compiler. You should]) - AC_MSG_WARN([*** probably be using the aCC compiler. Re-run configure]) - AC_MSG_WARN([*** with the environment variable "CXX=aCC".]) - fi - ;; - esac - - # Note: gcc-imperonating compilers accept -O3 - if test "$WANT_DEBUG" = "1"; then - OPTFLAGS= - else - if test "$GXX" = yes; then - OPTFLAGS="-O3" - else - OPTFLAGS="-O" - fi - fi - - # config/ompi_ensure_contains_optflags.m4 - OPAL_ENSURE_CONTAINS_OPTFLAGS(["$CXXFLAGS"]) - AC_MSG_CHECKING([for C++ optimization flags]) - AC_MSG_RESULT([$co_result]) - CXXFLAGS="$co_result" # bool type size and alignment AC_LANG_PUSH(C++) AC_CHECK_SIZEOF(bool) OPAL_C_GET_ALIGNMENT(bool, OPAL_ALIGNMENT_CXX_BOOL) AC_LANG_POP(C++) -]) - - -# _OMPI_CXX_CHECK_EXCEPTIONS() -# ---------------------------- -# Check for exceptions, skipping the test if we don't want the C++ -# bindings -AC_DEFUN([_OMPI_CXX_CHECK_EXCEPTIONS],[ - # Check for special things due to C++ exceptions - ENABLE_CXX_EXCEPTIONS=no - HAVE_CXX_EXCEPTIONS=0 - AC_ARG_ENABLE([cxx-exceptions], - [AC_HELP_STRING([--enable-cxx-exceptions], - [enable support for C++ exceptions (default: disabled)])], - [ENABLE_CXX_EXCEPTIONS="$enableval"]) - - AC_MSG_CHECKING([if want C++ exception handling]) - - AS_IF([test "$WANT_MPI_CXX_SUPPORT" = "0"], - [AS_IF([test "$$enable_cxx_exceptions" = "yes"], - [AC_MSG_RESULT([error]) - AC_MSG_WARN([--enable-cxx-exceptions was specified, but the MPI C++ bindings were disabled]) - AC_MSG_ERROR([Cannot continue])], - [AC_MSG_RESULT([skipped])])], - [_OMPI_CXX_CHECK_EXCEPTIONS_BACKEND]) - - AC_DEFINE_UNQUOTED(OMPI_HAVE_CXX_EXCEPTION_SUPPORT, $HAVE_CXX_EXCEPTIONS, - [Whether or not we have compiled with C++ exceptions support]) -]) - -# _OMPI_CXX_CHECK_EXCEPTIONS_BACKEND() -# ------------------------------------ -# Back end of _OMPI_CXX_CHECK_EXCEPTIONS -AC_DEFUN([_OMPI_CXX_CHECK_EXCEPTIONS_BACKEND],[ - AC_MSG_RESULT([$ENABLE_CXX_EXCEPTIONS]) - if test "$ENABLE_CXX_EXCEPTIONS" = "yes"; then - # config/cxx_have_exceptions.m4 - OMPI_CXX_HAVE_EXCEPTIONS - # config/cxx_find_exception_flags.m4 - OMPI_CXX_FIND_EXCEPTION_FLAGS - if test "$OMPI_CXX_EXCEPTIONS" = "1"; then - HAVE_CXX_EXCEPTIONS=1 - - # Test to see if the C compiler likes these flags - AC_MSG_CHECKING([to see if C compiler likes the exception flags]) - CFLAGS="$CFLAGS $OMPI_CXX_EXCEPTIONS_CXXFLAGS" - AC_LANG_SAVE - AC_LANG_C - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[int i = 0;]])], - [AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no]) - AC_MSG_WARN([C++ exception flags are different between the C and C++ compilers; this configure script cannot currently handle this scenario. Either disable C++ exception support or send mail to the Open MPI users list.]) - AC_MSG_ERROR([*** Cannot continue])]) - AC_LANG_RESTORE - - # We can't test the F77 and F90 compilers now because we - # haven't found/set the up yet. So just save the flags - # and test them later (in ompi_setup_f77.m4 and - # ompi_setup_f90.m4). - - CXXFLAGS="$CXXFLAGS $OMPI_CXX_EXCEPTIONS_CXXFLAGS" - LDFLAGS="$LDFLAGS $OMPI_CXX_EXCEPTIONS_LDFLAGS" - - OPAL_WRAPPER_FLAGS_ADD([CFLAGS], [$OMPI_CXX_EXCEPTIONS_CXXFLAGS]) - OPAL_WRAPPER_FLAGS_ADD([CXXFLAGS], [$OMPI_CXX_EXCEPTIONS_CXXFLAGS]) - OPAL_WRAPPER_FLAGS_ADD([FCFLAGS], [$OMPI_CXX_EXCEPTIONS_CXXFLAGS]) - fi - fi -]) - -# _OMPI_CXX_CHECK_BUILTIN -# ----------------------- -# Check for __builtin_* stuff -AC_DEFUN([_OMPI_CXX_CHECK_BUILTIN],[ - OPAL_VAR_SCOPE_PUSH([have_cxx_builtin_expect have_cxx_builtin_prefetch]) - have_cxx_builtin_expect=0 - have_cxx_builtin_prefetch=0 - - AS_IF([test "$WANT_MPI_CXX_SUPPORT" = "1"], - [_OMPI_CXX_CHECK_BUILTIN_BACKEND]) - - AC_DEFINE_UNQUOTED([OMPI_CXX_HAVE_BUILTIN_EXPECT], - [$have_cxx_builtin_expect], - [Whether C++ compiler supports __builtin_expect]) - AC_DEFINE_UNQUOTED([OMPI_CXX_HAVE_BUILTIN_PREFETCH], - [$have_cxx_builtin_prefetch], - [Whether C++ compiler supports __builtin_prefetch]) OPAL_VAR_SCOPE_POP ]) - -# _OMPI_CXX_CHECK_BUILTIN_BACKEND -# ------------------------------- -# Back end of _OMPI_CXX_CHECK_BUILTIN -AC_DEFUN([_OMPI_CXX_CHECK_BUILTIN_BACKEND],[ - - # see if the C++ compiler supports __builtin_expect - AC_LANG_PUSH(C++) - AC_CACHE_CHECK([if $CXX supports __builtin_expect], - [ompi_cv_cxx_supports___builtin_expect], - [AC_TRY_LINK([], - [void *ptr = (void*) 0; - if (__builtin_expect (ptr != (void*) 0, 1)) return 0;], - [ompi_cv_cxx_supports___builtin_expect="yes"], - [ompi_cv_cxx_supports___builtin_expect="no"])]) - if test "$ompi_cv_cxx_supports___builtin_expect" = "yes" ; then - have_cxx_builtin_expect=1 - else - have_cxx_builtin_expect=0 - fi - AC_LANG_POP(C++) - - # see if the C compiler supports __builtin_prefetch - AC_LANG_PUSH(C++) - AC_CACHE_CHECK([if $CXX supports __builtin_prefetch], - [ompi_cv_cxx_supports___builtin_prefetch], - [AC_TRY_LINK([], - [int ptr; - __builtin_prefetch(&ptr,0,0);], - [ompi_cv_cxx_supports___builtin_prefetch="yes"], - [ompi_cv_cxx_supports___builtin_prefetch="no"])]) - if test "$ompi_cv_cxx_supports___builtin_prefetch" = "yes" ; then - have_cxx_builtin_prefetch=1 - else - have_cxx_builtin_prefetch=0 - fi - AC_LANG_POP(C++) -]) - - -# _OMPI_CXX_CHECK_2D_CONST_CAST -# ----------------------------- -# Check for compiler support of 2D const casts -AC_DEFUN([_OMPI_CXX_CHECK_2D_CONST_CAST],[ - OPAL_VAR_SCOPE_PUSH([use_2d_const_cast]) - use_2d_const_cast=0 - - AS_IF([test "$WANT_MPI_CXX_SUPPORT" = "1"], - [_OMPI_CXX_CHECK_2D_CONST_CAST_BACKEND]) - - AC_DEFINE_UNQUOTED([OMPI_CXX_SUPPORTS_2D_CONST_CAST], - [$use_2d_const_cast], - [Whether a const_cast on a 2-d array will work with the C++ compiler]) - - OPAL_VAR_SCOPE_POP -]) - -# _OMPI_CXX_CHECK_2D_CONST_CAST_BACKEND -# --------------------------------- -# Back end of _OMPI_CHECK_2D_CONST_CAST -AC_DEFUN([_OMPI_CXX_CHECK_2D_CONST_CAST_BACKEND],[ - # see if the compiler supports const_cast of 2-dimensional arrays - AC_LANG_PUSH(C++) - AC_CACHE_CHECK([if $CXX supports const_cast<> properly], - [ompi_cv_cxx_supports_2d_const_cast], - [AC_TRY_COMPILE([int non_const_func(int ranges[][3]); -int cast_test(const int ranges[][3]) { - return non_const_func(const_cast(ranges)); -}], - [], - [ompi_cv_cxx_supports_2d_const_cast="yes"], - [ompi_cv_cxx_supports_2d_const_cast="no"])]) - if test "$ompi_cv_cxx_supports_2d_const_cast" = "yes" ; then - use_2d_const_cast=1 - fi - AC_LANG_POP(C++) -]) diff --git a/config/opal_setup_cxx.m4 b/config/opal_setup_cxx.m4 deleted file mode 100644 index 913e91cdd5..0000000000 --- a/config/opal_setup_cxx.m4 +++ /dev/null @@ -1,226 +0,0 @@ -dnl -*- shell-script -*- -dnl -dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -dnl University Research and Technology -dnl Corporation. All rights reserved. -dnl Copyright (c) 2004-2006 The University of Tennessee and The University -dnl of Tennessee Research Foundation. All rights -dnl reserved. -dnl Copyright (c) 2004-2008 High Performance Computing Center Stuttgart, -dnl University of Stuttgart. All rights reserved. -dnl Copyright (c) 2004-2006 The Regents of the University of California. -dnl All rights reserved. -dnl Copyright (c) 2006 Los Alamos National Security, LLC. All rights -dnl reserved. -dnl Copyright (c) 2007-2009 Sun Microsystems, Inc. All rights reserved. -dnl Copyright (c) 2008-2013 Cisco Systems, Inc. All rights reserved. -dnl Copyright (c) 2015-2016 Research Organization for Information Science -dnl and Technology (RIST). All rights reserved. -dnl $COPYRIGHT$ -dnl -dnl Additional copyrights may follow -dnl -dnl $HEADER$ -dnl - -# This macro is necessary to get the title to be displayed first. :-) -AC_DEFUN([OPAL_SETUP_CXX_BANNER],[ - opal_show_subtitle "C++ compiler and preprocessor" -]) - -# This macro is necessary because PROG_CXX* is REQUIREd by multiple -# places in SETUP_CXX. -AC_DEFUN([OPAL_PROG_CXX],[ - OPAL_VAR_SCOPE_PUSH([opal_cxxflags_save]) - opal_cxxflags_save="$CXXFLAGS" - AC_PROG_CXX - AC_PROG_CXXCPP - CXXFLAGS="$opal_cxxflags_save" - OPAL_VAR_SCOPE_POP -]) - -# OPAL_SETUP_CXX() -# ---------------- -# Do everything required to setup the C++ compiler. Safe to AC_REQUIRE -# this macro. -AC_DEFUN([OPAL_SETUP_CXX],[ - AC_REQUIRE([OPAL_SETUP_CXX_BANNER]) - - _OPAL_SETUP_CXX_COMPILER - - OPAL_CXX_COMPILER_VENDOR([opal_cxx_vendor]) - - _OPAL_SETUP_CXX_COMPILER_BACKEND -]) - -# _OPAL_SETUP_CXX_COMPILER() -# -------------------------- -# Setup the CXX compiler -AC_DEFUN([_OPAL_SETUP_CXX_COMPILER],[ - OPAL_VAR_SCOPE_PUSH(opal_cxx_compiler_works) - - # Must REQUIRE the PROG_CXX macro and not call it directly here for - # reasons well-described in the AC2.64 (and beyond) docs. - AC_REQUIRE([OPAL_PROG_CXX]) - BASECXX="`basename $CXX`" - - AS_IF([test "x$CXX" = "x"], [CXX=none]) - set dummy $CXX - opal_cxx_argv0=[$]2 - OPAL_WHICH([$opal_cxx_argv0], [OPAL_CXX_ABSOLUTE]) - AS_IF([test "x$OPAL_CXX_ABSOLUTE" = "x"], [OPAL_CXX_ABSOLUTE=none]) - - AC_DEFINE_UNQUOTED(OPAL_CXX, "$CXX", [OPAL underlying C++ compiler]) - AC_SUBST(OPAL_CXX_ABSOLUTE) - - OPAL_VAR_SCOPE_POP -]) - -# _OPAL_SETUP_CXX_COMPILER_BACKEND() -# ---------------------------------- -# Back end of _OPAL_SETUP_CXX_COMPILER_BACKEND() -AC_DEFUN([_OPAL_SETUP_CXX_COMPILER_BACKEND],[ - # Do we want code coverage - if test "$WANT_COVERAGE" = "1"; then - if test "$opal_cxx_vendor" = "gnu" ; then - AC_MSG_WARN([$OPAL_COVERAGE_FLAGS has been added to CFLAGS (--enable-coverage)]) - WANT_DEBUG=1 - CXXFLAGS="${CXXFLAGS} $OPAL_COVERAGE_FLAGS" - OPAL_WRAPPER_FLAGS_ADD([CXXFLAGS], [$OPAL_COVERAGE_FLAGS]) - else - AC_MSG_WARN([Code coverage functionality is currently available only with GCC suite]) - AC_MSG_ERROR([Configure: cannot continue]) - fi - fi - - # Do we want debugging? - if test "$WANT_DEBUG" = "1" && test "$enable_debug_symbols" != "no" ; then - CXXFLAGS="$CXXFLAGS -g" - OPAL_FLAGS_UNIQ(CXXFLAGS) - AC_MSG_WARN([-g has been added to CXXFLAGS (--enable-debug)]) - fi - - # These flags are generally g++-specific; even the g++-impersonating - # compilers won't accept them. - OPAL_CXXFLAGS_BEFORE_PICKY="$CXXFLAGS" - if test "$WANT_PICKY_COMPILER" = 1 && test "$opal_cxx_vendor" = "gnu"; then - add="-Wall -Wundef -Wno-long-long" - - # see if -Wno-long-double works... - AC_LANG_PUSH(C++) - CXXFLAGS_orig="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS $add -Wno-long-double -fstrict-prototype" - AC_CACHE_CHECK([if $CXX supports -Wno-long-double], - [opal_cv_cxx_wno_long_double], - [AC_TRY_COMPILE([], [], - [ - dnl So -Wno-long-double did not produce any errors... - dnl We will try to extract a warning regarding - dnl unrecognized or ignored options - AC_TRY_COMPILE([], [long double test;], - [ - opal_cv_cxx_wno_long_double="yes" - if test -s conftest.err ; then - dnl Yes, it should be "ignor", in order to catch ignoring and ignore - for i in unknown invalid ignor unrecognized ; do - $GREP -iq $i conftest.err - if test "$?" = "0" ; then - opal_cv_cxx_wno_long_double="no" - break; - fi - done - fi - ], - [opal_cv_cxx_wno_long_double="no"])], - [opal_cv_cxx_wno_long_double="no"]) - ]) - - CXXFLAGS="$CXXFLAGS_orig" - AC_LANG_POP(C++) - if test "$opal_cv_cxx_wno_long_double" = "yes" ; then - add="$add -Wno-long-double" - fi - - CXXFLAGS="$CXXFLAGS $add" - OPAL_FLAGS_UNIQ(CXXFLAGS) - if test "$add" != "" ; then - AC_MSG_WARN([$add has been added to CXXFLAGS (--enable-picky)]) - fi - unset add - fi - - # See if this version of g++ allows -finline-functions - if test "$GXX" = "yes"; then - CXXFLAGS_orig="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -finline-functions" - add= - AC_LANG_PUSH(C++) - AC_CACHE_CHECK([if $CXX supports -finline-functions], - [opal_cv_cxx_finline_functions], - [AC_TRY_COMPILE([], [], - [opal_cv_cxx_finline_functions="yes"], - [opal_cv_cxx_finline_functions="no"])]) - AC_LANG_POP(C++) - if test "$opal_cv_cxx_finline_functions" = "yes" ; then - add=" -finline-functions" - fi - CXXFLAGS="$CXXFLAGS_orig$add" - OPAL_FLAGS_UNIQ(CXXFLAGS) - if test "$add" != "" ; then - AC_MSG_WARN([$add has been added to CXXFLAGS]) - fi - unset add - fi - - # Make sure we can link with the C compiler - if test "$opal_cv_cxx_compiler_vendor" != "microsoft"; then - OPAL_LANG_LINK_WITH_C([C++], [], - [cat <&2 -********************************************************************** -* It appears that your C++ compiler is unable to link against object -* files created by your C compiler. This generally indicates either -* a conflict between the options specified in CFLAGS and CXXFLAGS -* or a problem with the local compiler installation. More -* information (including exactly what command was given to the -* compilers and what error resulted when the commands were executed) is -* available in the config.log file in this directory. -********************************************************************** -EOF - AC_MSG_ERROR([C and C++ compilers are not link compatible. Can not continue.])]) - fi - - # If we are on HP-UX, ensure that we're using aCC - case "$host" in - *hpux*) - if test "$BASECXX" = "CC"; then - AC_MSG_WARN([*** You will probably have problems compiling the MPI 2]) - AC_MSG_WARN([*** C++ bindings with the HP-UX CC compiler. You should]) - AC_MSG_WARN([*** probably be using the aCC compiler. Re-run configure]) - AC_MSG_WARN([*** with the environment variable "CXX=aCC".]) - fi - ;; - esac - - # Note: gcc-imperonating compilers accept -O3 - if test "$WANT_DEBUG" = "1"; then - OPTFLAGS= - else - if test "$GXX" = yes; then - OPTFLAGS="-O3" - else - OPTFLAGS="-O" - fi - fi - - # config/opal_ensure_contains_optflags.m4 - OPAL_ENSURE_CONTAINS_OPTFLAGS(["$CXXFLAGS"]) - AC_MSG_CHECKING([for C++ optimization flags]) - AC_MSG_RESULT([$co_result]) - CXXFLAGS="$co_result" - - # bool type size and alignment - AC_LANG_PUSH(C++) - AC_CHECK_SIZEOF(bool) - OPAL_C_GET_ALIGNMENT(bool, OPAL_ALIGNMENT_CXX_BOOL) - AC_LANG_POP(C++) -]) diff --git a/config/opal_summary.m4 b/config/opal_summary.m4 index c7dc1c02c4..a59ea0818d 100644 --- a/config/opal_summary.m4 +++ b/config/opal_summary.m4 @@ -51,12 +51,6 @@ EOF dnl Print out the bindings if we are building OMPI if test "$project_ompi_amc" = "true" ; then - if test x$enable_mpi_cxx = xyes ; then - echo "Build MPI C++ bindings (deprecated): yes" - else - echo "Build MPI C++ bindings (deprecated): no" - fi - if test $OMPI_BUILD_FORTRAN_BINDINGS = $OMPI_FORTRAN_MPIFH_BINDINGS ; then echo "Build MPI Fortran bindings: mpif.h" elif test $OMPI_BUILD_FORTRAN_BINDINGS = $OMPI_FORTRAN_USEMPI_BINDINGS ; then diff --git a/configure.ac b/configure.ac index 83e131d50b..f30338f0ef 100644 --- a/configure.ac +++ b/configure.ac @@ -10,7 +10,7 @@ # University of Stuttgart. All rights reserved. # Copyright (c) 2004-2005 The Regents of the University of California. # All rights reserved. -# Copyright (c) 2006-2019 Cisco Systems, Inc. All rights reserved +# Copyright (c) 2006-2020 Cisco Systems, Inc. All rights reserved # Copyright (c) 2006-2008 Sun Microsystems, Inc. All rights reserved. # Copyright (c) 2006-2017 Los Alamos National Security, LLC. All rights # reserved. @@ -133,7 +133,6 @@ OPAL_SAVE_VERSION([OPAL], [Open Portable Access Layer], [$srcdir/VERSION], . $srcdir/VERSION m4_ifdef([project_ompi], [AC_SUBST(libmpi_so_version) - AC_SUBST(libmpi_cxx_so_version) AC_SUBST(libmpi_mpifh_so_version) AC_SUBST(libmpi_usempi_tkr_so_version) AC_SUBST(libmpi_usempi_ignore_tkr_so_version) @@ -537,18 +536,11 @@ OPAL_CHECK_OFFSETOF # C++ compiler characteristics ################################## -# We don't need C++ unless we're building Open MPI and OPAL do -# not use C++ at all. The OPAL macro name appears to be a bit of a -# misnomer; I'm not sure why it was split into a second macro and put -# into OPAL...? All it does is setup the C++ compiler (the OMPI macro -# sets up the C++ MPI bindings, etc.). Perhaps it was moved to OPAL -# just on the rationale that all compiler setup should be done in -# OPAL...? Shrug. -m4_ifdef([project_ompi], [OPAL_SETUP_CXX - OMPI_SETUP_CXX]) -# Used in Makefile.ompi-rules -AM_CONDITIONAL(MAN_PAGE_BUILD_MPI_CXX_BINDINGS, - [test "$WANT_MPI_CXX_SUPPORT" = 1]) +# We don't need C++ unless we're building Open MPI, because Open MPI +# supports an "mpicxx" wrapper compiler (there is no C++ code in Open +# MPI -- the MPI C++ bindings were removed in Open MPI v5.0 -- so we +# don't need a C++ compiler for compiling Open MPI itself). +m4_ifdef([project_ompi], [OMPI_SETUP_CXX]) ################################## # Only after setting up both @@ -960,8 +952,6 @@ OPAL_CONFIG_THREADS CFLAGS="$CFLAGS $THREAD_CFLAGS" CPPFLAGS="$CPPFLAGS $THREAD_CPPFLAGS" -CXXFLAGS="$CXXFLAGS $THREAD_CXXFLAGS" -CXXCPPFLAGS="$CXXCPPFLAGS $THREAD_CXXCPPFLAGS" LDFLAGS="$LDFLAGS $THREAD_LDFLAGS" LIBS="$LIBS $THREAD_LIBS" @@ -1212,9 +1202,8 @@ fi # compilers to "no" that we don't want. Libtool's m4 configry will # interpret this as "I won't be using this language; don't bother # setting it up." Note that we do this only for Fortran; we *don't* -# do this for C++, because even if we're not building the MPI C++ -# bindings, we *do* still want to setup the mpicxx wrapper if we have -# a C++ compiler. +# do this for C++, because *do* still want to setup the mpicxx wrapper +# if we have a C++ compiler. AS_IF([test "$OMPI_TRY_FORTRAN_BINDINGS" = "$OMPI_FORTRAN_NO_BINDINGS"],[F77=no FC=no]) LT_INIT([dlopen win32-dll]) @@ -1278,23 +1267,17 @@ if test "$OMPI_TOP_BUILDDIR" != "$OMPI_TOP_SRCDIR"; then # variables, lest the $(foo) names try to get evaluated here. # Yuck! CPPFLAGS='-I$(top_srcdir) -I$(top_builddir) -I$(top_srcdir)/opal/include m4_ifdef([project_ompi], [-I$(top_srcdir)/ompi/include]) m4_ifdef([project_oshmem], [-I$(top_srcdir)/oshmem/include])'" $CPPFLAGS" - # C++ is only relevant if we're building OMPI - m4_ifdef([project_ompi], [CXXCPPFLAGS='-I$(top_srcdir) -I$(top_builddir) -I$(top_srcdir)/opal/include -I$(top_srcdir)/ompi/include'" $CXXCPPFLAGS"]) else CPPFLAGS='-I$(top_srcdir)'" $CPPFLAGS" - # C++ is only relevant if we're building OMPI - m4_ifdef([project_ompi], [CXXCPPFLAGS='-I$(top_srcdir)'" $CXXCPPFLAGS"]) fi # -# Delayed the substitution of CFLAGS and CXXFLAGS until now because +# Delayed the substitution of CFLAGS and friends until now because # they may have been modified throughout the course of this script. # AC_SUBST(CFLAGS) AC_SUBST(CPPFLAGS) -AC_SUBST(CXXFLAGS) -AC_SUBST(CXXCPPFLAGS) m4_ifdef([project_ompi], [AC_SUBST(FFLAGS) AC_SUBST(FCFLAGS) diff --git a/examples/Makefile b/examples/Makefile index af1d3196bc..5d32bb0097 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -10,7 +10,7 @@ # Copyright (c) 2004-2005 The Regents of the University of California. # All rights reserved. # Copyright (c) 2006-2007 Sun Microsystems, Inc. All rights reserved. -# Copyright (c) 2011-2016 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2011-2020 Cisco Systems, Inc. All rights reserved # Copyright (c) 2012 Los Alamos National Security, Inc. All rights reserved. # Copyright (c) 2013 Mellanox Technologies, Inc. All rights reserved. # Copyright (c) 2017-2018 Research Organization for Information Science @@ -25,7 +25,6 @@ # Use the Open MPI-provided wrapper compilers. MPICC = mpicc -MPICXX = mpic++ MPIFC = mpifort MPIJAVAC = mpijavac SHMEMCC = shmemcc @@ -46,7 +45,6 @@ FCFLAGS += -g EXAMPLES = \ hello_c \ - hello_cxx \ hello_mpifh \ hello_usempi \ hello_usempif08 \ @@ -55,7 +53,6 @@ EXAMPLES = \ hello_oshmemfh \ Hello.class \ ring_c \ - ring_cxx \ ring_mpifh \ ring_usempi \ ring_usempif08 \ @@ -86,9 +83,6 @@ all: hello_c ring_c connectivity_c spc_example # MPI examples mpi: - @ if ompi_info --parsable | grep -q bindings:cxx:yes >/dev/null; then \ - $(MAKE) hello_cxx ring_cxx; \ - fi @ if ompi_info --parsable | grep -q bindings:mpif.h:yes >/dev/null; then \ $(MAKE) hello_mpifh ring_mpifh; \ fi @@ -136,11 +130,6 @@ connectivity_c: connectivity_c.c spc_example: spc_example.c $(MPICC) $(CFLAGS) $(LDFLAGS) $? $(LDLIBS) -o $@ -hello_cxx: hello_cxx.cc - $(MPICXX) $(CXXFLAGS) $(LDFLAGS) $? $(LDLIBS) -o $@ -ring_cxx: ring_cxx.cc - $(MPICXX) $(CXXFLAGS) $(LDFLAGS) $? $(LDLIBS) -o $@ - hello_mpifh: hello_mpifh.f $(MPIFC) $(FCFLAGS) $(LDFLAGS) $? $(LDLIBS) -o $@ ring_mpifh: ring_mpifh.f diff --git a/examples/Makefile.include b/examples/Makefile.include index ed9ace1408..ef3616568e 100644 --- a/examples/Makefile.include +++ b/examples/Makefile.include @@ -10,7 +10,7 @@ # University of Stuttgart. All rights reserved. # Copyright (c) 2004-2005 The Regents of the University of California. # All rights reserved. -# Copyright (c) 2006-2012 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2006-2020 Cisco Systems, Inc. All rights reserved # Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. # Copyright (c) 2012 Los Alamos National Security, Inc. All rights reserved. # Copyright (c) 2013 Mellanox Technologies, Inc. All rights reserved. @@ -36,7 +36,6 @@ EXTRA_DIST += \ examples/README \ examples/Makefile \ examples/hello_c.c \ - examples/hello_cxx.cc \ examples/hello_mpifh.f \ examples/hello_usempi.f90 \ examples/hello_usempif08.f90 \ @@ -44,7 +43,6 @@ EXTRA_DIST += \ examples/hello_oshmem_cxx.cc \ examples/hello_oshmemfh.f90 \ examples/ring_c.c \ - examples/ring_cxx.cc \ examples/ring_mpifh.f \ examples/ring_usempi.f90 \ examples/ring_usempif08.f90 \ diff --git a/examples/hello_cxx.cc b/examples/hello_cxx.cc deleted file mode 100644 index b2253bfb8e..0000000000 --- a/examples/hello_cxx.cc +++ /dev/null @@ -1,34 +0,0 @@ -// -// Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2006 Cisco Systems, Inc. All rights reserved. -// -// Sample MPI "hello world" application in C++ -// -// NOTE: The MPI C++ bindings were deprecated in MPI-2.2 and removed -// from the standard in MPI-3. Open MPI still provides C++ MPI -// bindings, but they are no longer built by default (and may be -// removed in a future version of Open MPI). You must -// --enable-mpi-cxx when configuring Open MPI to enable the MPI C++ -// bindings. -// - -#include "mpi.h" -#include - -int main(int argc, char **argv) -{ - int rank, size, len; - char version[MPI_MAX_LIBRARY_VERSION_STRING]; - - MPI::Init(); - rank = MPI::COMM_WORLD.Get_rank(); - size = MPI::COMM_WORLD.Get_size(); - MPI_Get_library_version(version, &len); - std::cout << "Hello, world! I am " << rank << " of " << size - << "(" << version << ", " << len << ")" << std::endl; - MPI::Finalize(); - - return 0; -} diff --git a/examples/ring_cxx.cc b/examples/ring_cxx.cc deleted file mode 100644 index e783192431..0000000000 --- a/examples/ring_cxx.cc +++ /dev/null @@ -1,85 +0,0 @@ -// -// Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2006 Cisco Systems, Inc. All rights reserved. -// -// Simple ring test program in C++. -// -// NOTE: The MPI C++ bindings were deprecated in MPI-2.2 and removed -// from the standard in MPI-3. Open MPI still provides C++ MPI -// bindings, but they are no longer built by default (and may be -// removed in a future version of Open MPI). You must -// --enable-mpi-cxx when configuring Open MPI to enable the MPI C++ -// bindings. -// - -#include "mpi.h" -#include - -int main(int argc, char *argv[]) -{ - int rank, size, next, prev, message, tag = 201; - - // Start up MPI - - MPI::Init(); - rank = MPI::COMM_WORLD.Get_rank(); - size = MPI::COMM_WORLD.Get_size(); - - // Calculate the rank of the next process in the ring. Use the - // modulus operator so that the last process "wraps around" to - // rank zero. - - next = (rank + 1) % size; - prev = (rank + size - 1) % size; - - // If we are the "master" process (i.e., MPI_COMM_WORLD rank 0), - // put the number of times to go around the ring in the message. - - if (0 == rank) { - message = 10; - - std::cout << "Process 0 sending " << message << " to " << next - << ", tag " << tag << " (" << size << " processes in ring)" - << std::endl; - MPI::COMM_WORLD.Send(&message, 1, MPI::INT, next, tag); - std::cout << "Process 0 sent to " << next << std::endl; - } - - // Pass the message around the ring. The exit mechanism works as - // follows: the message (a positive integer) is passed around the - // ring. Each time it passes rank 0, it is decremented. When - // each processes receives a message containing a 0 value, it - // passes the message on to the next process and then quits. By - // passing the 0 message first, every process gets the 0 message - // and can quit normally. - - while (1) { - MPI::COMM_WORLD.Recv(&message, 1, MPI::INT, prev, tag); - - if (0 == rank) { - --message; - std::cout << "Process 0 decremented value: " << message - << std::endl; - } - - MPI::COMM_WORLD.Send(&message, 1, MPI::INT, next, tag); - if (0 == message) { - std::cout << "Process " << rank << " exiting" << std::endl; - break; - } - } - - // The last process does one extra send to process 0, which needs - // to be received before the program can exit */ - - if (0 == rank) { - MPI::COMM_WORLD.Recv(&message, 1, MPI::INT, prev, tag); - } - - // All done - - MPI::Finalize(); - return 0; -} diff --git a/ompi/Makefile.am b/ompi/Makefile.am index 6cc160ee58..a0f43ca71e 100644 --- a/ompi/Makefile.am +++ b/ompi/Makefile.am @@ -43,10 +43,10 @@ else mpi_fortran_base_lib = endif -# Note that the ordering of "." in SUBDIRS is important: the C++, -# Fortran mpif.h, and use mpi/use mpi_f08 bindings are all in -# standalone .la files that depend on libmpi.la. So we must fully -# build libmpi.la first. +# Note that the ordering of "." in SUBDIRS is important: the Fortran +# mpif.h, and use mpi/use mpi_f08 bindings are all in standalone .la +# files that depend on libmpi.la. So we must fully build libmpi.la +# first. # NOTE: A handful of files in mpi/fortran/base must be included in # libmpi.la. But we wanted to keep all the Fortran sources together @@ -66,8 +66,8 @@ endif # unfortunately). # The end of the result is that libmpi.la -- including a few sources -# from mpi/fortran/base -- is fully built before the C++, mpif.h, and -# use mpi/use mpi_f08 bindings are built. Therefore, the C++, mpif.h +# from mpi/fortran/base -- is fully built before the mpif.h, and +# use mpi/use mpi_f08 bindings are built. Therefore, the mpif.h # and use mpi/use mpi_f08 bindings libraries can all link against # libmpi.la. @@ -86,7 +86,6 @@ SUBDIRS = \ $(MCA_ompi_FRAMEWORKS_SUBDIRS) \ $(MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS) \ . \ - mpi/cxx \ $(OMPI_MPIEXT_MPIFH_DIRS) \ mpi/fortran/mpif-h \ $(OMPI_MPIEXT_USEMPI_DIR) \ @@ -118,7 +117,6 @@ DIST_SUBDIRS = \ etc \ mpi/c \ mpi/tool \ - mpi/cxx \ mpi/fortran/base \ mpi/fortran/mpif-h \ mpi/fortran/use-mpi-tkr \ diff --git a/ompi/include/mpi.h.in b/ompi/include/mpi.h.in index 1dbf3287d9..d4851dd8ea 100644 --- a/ompi/include/mpi.h.in +++ b/ompi/include/mpi.h.in @@ -167,15 +167,6 @@ /* type to use for ptrdiff_t, if it does not exist, set to ptrdiff_t if it does exist */ #undef ptrdiff_t -/* Whether we want MPI cxx support or not */ -#undef OMPI_BUILD_CXX_BINDINGS - -/* do we want to try to work around C++ bindings SEEK_* issue? */ -#undef OMPI_WANT_MPI_CXX_SEEK - -/* Whether a const_cast on a 2-d array will work with the C++ compiler */ -#undef OMPI_CXX_SUPPORTS_2D_CONST_CAST - /* Whether OMPI was built with parameter checking or not */ #undef OMPI_PARAM_CHECK @@ -184,9 +175,6 @@ #undef OMPI_WANT_MPI_INTERFACE_WARNING #endif -/* Whether or not we have compiled with C++ exceptions support */ -#undef OMPI_HAVE_CXX_EXCEPTION_SUPPORT - /* Major, minor, and release version of Open MPI */ #undef OMPI_MAJOR_VERSION #undef OMPI_MINOR_VERSION @@ -254,9 +242,7 @@ * only relevant if we're not building Open MPI (i.e., we're compiling an * MPI application). */ -#if !(OMPI_BUILDING || \ - (defined(OMPI_BUILDING_CXX_BINDINGS_LIBRARY) && \ - OMPI_BUILDING_CXX_BINDINGS_LIBRARY)) +#if !OMPI_BUILDING \ /* * Figure out which compiler is being invoked (in order to compare if @@ -2832,18 +2818,4 @@ OMPI_DECLSPEC int PMPI_Type_ub(MPI_Datatype mtype, MPI_Aint *ub) } #endif -/* - * Conditional MPI 2 C++ bindings support. Include if: - * - The user does not explicitly request us to skip it (when a C++ compiler - * is used to compile C code). - * - We want C++ bindings support - * - We are not building OMPI itself - * - We are using a C++ compiler - */ -#if !defined(OMPI_SKIP_MPICXX) && OMPI_BUILD_CXX_BINDINGS && !OMPI_BUILDING -#if defined(c_plusplus) || defined(__cplusplus) -#include "openmpi/ompi/mpi/cxx/mpicxx.h" -#endif -#endif - #endif /* OMPI_MPI_H */ diff --git a/ompi/mpi/cxx/Makefile.am b/ompi/mpi/cxx/Makefile.am deleted file mode 100644 index 9abb4e6c9a..0000000000 --- a/ompi/mpi/cxx/Makefile.am +++ /dev/null @@ -1,85 +0,0 @@ -# -*- makefile -*- -# -# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -# University Research and Technology -# Corporation. All rights reserved. -# Copyright (c) 2004-2005 The University of Tennessee and The University -# of Tennessee Research Foundation. All rights -# reserved. -# Copyright (c) 2004-2009 High Performance Computing Center Stuttgart, -# University of Stuttgart. All rights reserved. -# Copyright (c) 2004-2005 The Regents of the University of California. -# All rights reserved. -# Copyright (c) 2007-2012 Cisco Systems, Inc. All rights reserved. -# Copyright (c) 2016 IBM Corporation. All rights reserved. -# Copyright (c) 2017 Research Organization for Information Science -# and Technology (RIST). All rights reserved. -# $COPYRIGHT$ -# -# Additional copyrights may follow -# -# $HEADER$ -# - -# Need the first so that we can get the path names correct inside the -# MPI C++ library. The second is necessary so that mpi.h doesn't -# include mpicxx.h through the incorrect pathname in any of the C++ -# bindings .c files. Just use the define for this purpose from user -# code. -AM_CPPFLAGS = -DOMPI_BUILDING_CXX_BINDINGS_LIBRARY=1 -DOMPI_SKIP_MPICXX=1 - -if OMPI_BUILD_MPI_CXX_BINDINGS - -mpi_lib = lib@OMPI_LIBMPI_NAME@_cxx.la - -lib_LTLIBRARIES = lib@OMPI_LIBMPI_NAME@_cxx.la -lib@OMPI_LIBMPI_NAME@_cxx_la_SOURCES = \ - mpicxx.cc \ - intercepts.cc \ - comm.cc \ - datatype.cc \ - file.cc \ - win.cc \ - cxx_glue.c - -lib@OMPI_LIBMPI_NAME@_cxx_la_LIBADD = $(top_builddir)/ompi/lib@OMPI_LIBMPI_NAME@.la -lib@OMPI_LIBMPI_NAME@_cxx_la_LDFLAGS = -version-info $(libmpi_cxx_so_version) - -headers = \ - mpicxx.h \ - constants.h \ - file.h \ - functions.h \ - datatype.h \ - exception.h \ - op.h \ - status.h \ - request.h \ - group.h \ - comm.h \ - errhandler.h \ - intracomm.h \ - info.h \ - win.h \ - topology.h \ - intercomm.h \ - datatype_inln.h \ - file_inln.h \ - functions_inln.h \ - request_inln.h \ - comm_inln.h \ - intracomm_inln.h \ - info_inln.h \ - win_inln.h \ - topology_inln.h \ - intercomm_inln.h \ - group_inln.h \ - op_inln.h \ - errhandler_inln.h \ - status_inln.h \ - cxx_glue.h - -ompidir = $(ompiincludedir)/ompi/mpi/cxx -ompi_HEADERS = \ - $(headers) -endif diff --git a/ompi/mpi/cxx/comm.cc b/ompi/mpi/cxx/comm.cc deleted file mode 100644 index d5c58adf07..0000000000 --- a/ompi/mpi/cxx/comm.cc +++ /dev/null @@ -1,135 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2007-2008 Cisco Systems, Inc. All rights reserved. -// Copyright (c) 2016 Los Alamos National Security, LLC. All rights -// reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -// do not include ompi_config.h because it kills the free/malloc defines -#include "mpi.h" -#include "ompi/constants.h" -#include "ompi/mpi/cxx/mpicxx.h" -#include "cxx_glue.h" - - -// -// These functions are all not inlined because they need to use locks to -// protect the handle maps and it would be bad to have those in headers -// because that would require that we always install the lock headers. -// Instead we take the function call hit (we're locking - who cares about -// a function call. And these aren't exactly the performance critical -// functions) and make everyone's life easier. -// - - -// construction -MPI::Comm::Comm() -{ -} - -// copy -MPI::Comm::Comm(const Comm_Null& data) : Comm_Null(data) -{ -} - -// This function needs some internal OMPI types, so it's not inlined -MPI::Errhandler -MPI::Comm::Create_errhandler(MPI::Comm::_MPI2CPP_ERRHANDLERFN_* function) -{ - return ompi_cxx_errhandler_create_comm ((ompi_cxx_dummy_fn_t *) function); -} - - -//JGS I took the const out because it causes problems when trying to -//call this function with the predefined NULL_COPY_FN etc. -int -MPI::Comm::do_create_keyval(MPI_Comm_copy_attr_function* c_copy_fn, - MPI_Comm_delete_attr_function* c_delete_fn, - Copy_attr_function* cxx_copy_fn, - Delete_attr_function* cxx_delete_fn, - void* extra_state, int &keyval) -{ - int ret, count = 0; - keyval_intercept_data_t *cxx_extra_state; - - // If both the callbacks are C, then do the simple thing -- no - // need for all the C++ machinery. - if (NULL != c_copy_fn && NULL != c_delete_fn) { - ret = ompi_cxx_attr_create_keyval_comm (c_copy_fn, c_delete_fn, &keyval, - extra_state, 0, NULL); - if (MPI_SUCCESS != ret) { - return ompi_cxx_errhandler_invoke_comm(MPI_COMM_WORLD, ret, - "MPI::Comm::Create_keyval"); - } - } - - // If either callback is C++, then we have to use the C++ - // callbacks for both, because we have to generate a new - // extra_state. And since we only get one extra_state (i.e., we - // don't get one extra_state for the copy callback and another - // extra_state for the delete callback), we have to use the C++ - // callbacks for both (and therefore translate the C++-special - // extra_state into the user's original extra_state). Ensure to - // malloc() the struct here (vs new) so that it can be free()'ed - // by the C attribute base. - cxx_extra_state = (keyval_intercept_data_t*) - malloc(sizeof(keyval_intercept_data_t)); - if (NULL == cxx_extra_state) { - return ompi_cxx_errhandler_invoke_comm (MPI_COMM_WORLD, MPI_ERR_NO_MEM, - "MPI::Comm::Create_keyval"); - } - cxx_extra_state->c_copy_fn = c_copy_fn; - cxx_extra_state->cxx_copy_fn = cxx_copy_fn; - cxx_extra_state->c_delete_fn = c_delete_fn; - cxx_extra_state->cxx_delete_fn = cxx_delete_fn; - cxx_extra_state->extra_state = extra_state; - - // Error check. Must have exactly 2 non-NULL function pointers. - if (NULL != c_copy_fn) { - ++count; - } - if (NULL != c_delete_fn) { - ++count; - } - if (NULL != cxx_copy_fn) { - ++count; - } - if (NULL != cxx_delete_fn) { - ++count; - } - if (2 != count) { - free(cxx_extra_state); - return ompi_cxx_errhandler_invoke_comm (MPI_COMM_WORLD, MPI_ERR_ARG, - "MPI::Comm::Create_keyval"); - } - - // We do not call MPI_Comm_create_keyval() here because we need to - // pass in the cxx_extra_state to the backend keyval creation so - // that when the keyval is destroyed (i.e., when its refcount goes - // to 0), the cxx_extra_state is free()'ed. - ret = ompi_cxx_attr_create_keyval_comm ((MPI_Comm_copy_attr_function *) ompi_mpi_cxx_comm_copy_attr_intercept, - ompi_mpi_cxx_comm_delete_attr_intercept, - &keyval, cxx_extra_state, 0, cxx_extra_state); - if (OMPI_SUCCESS != ret) { - return ompi_cxx_errhandler_invoke_comm (MPI_COMM_WORLD, ret, - "MPI::Comm::Create_keyval"); - } - - return MPI_SUCCESS; -} - diff --git a/ompi/mpi/cxx/comm.h b/ompi/mpi/cxx/comm.h deleted file mode 100644 index bd50a6b1e0..0000000000 --- a/ompi/mpi/cxx/comm.h +++ /dev/null @@ -1,465 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2006-2009 Cisco Systems, Inc. All rights reserved. -// Copyright (c) 2011 FUJITSU LIMITED. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -class Comm_Null { -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - // friend class PMPI::Comm_Null; -#endif -public: - -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - - // construction - inline Comm_Null() { } - // copy - inline Comm_Null(const Comm_Null& data) : pmpi_comm(data.pmpi_comm) { } - // inter-language operability - inline Comm_Null(MPI_Comm data) : pmpi_comm(data) { } - - inline Comm_Null(const PMPI::Comm_Null& data) : pmpi_comm(data) { } - - // destruction - virtual inline ~Comm_Null() { } - - inline Comm_Null& operator=(const Comm_Null& data) { - pmpi_comm = data.pmpi_comm; - return *this; - } - - // comparison - inline bool operator==(const Comm_Null& data) const { - return (bool) (pmpi_comm == data.pmpi_comm); } - - inline bool operator!=(const Comm_Null& data) const { - return (bool) (pmpi_comm != data.pmpi_comm);} - - // inter-language operability (conversion operators) - inline operator MPI_Comm() const { return pmpi_comm; } - // inline operator MPI_Comm*() /*const JGS*/ { return pmpi_comm; } - inline operator const PMPI::Comm_Null&() const { return pmpi_comm; } - -#else - - // construction - inline Comm_Null() : mpi_comm(MPI_COMM_NULL) { } - // copy - inline Comm_Null(const Comm_Null& data) : mpi_comm(data.mpi_comm) { } - // inter-language operability - inline Comm_Null(MPI_Comm data) : mpi_comm(data) { } - - // destruction - virtual inline ~Comm_Null() { } - - // comparison - // JGS make sure this is right (in other classes too) - inline bool operator==(const Comm_Null& data) const { - return (bool) (mpi_comm == data.mpi_comm); } - - inline bool operator!=(const Comm_Null& data) const { - return (bool) !(*this == data);} - - // inter-language operability (conversion operators) - inline operator MPI_Comm() const { return mpi_comm; } - -#endif - - -protected: - -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - PMPI::Comm_Null pmpi_comm; -#else - MPI_Comm mpi_comm; -#endif - - -}; - - -class Comm : public Comm_Null { -public: - - typedef void Errhandler_function(Comm&, int*, ...); - typedef Errhandler_function Errhandler_fn - __mpi_interface_deprecated__("MPI::Comm::Errhandler_fn was deprecated in MPI-2.2; use MPI::Comm::Errhandler_function instead"); - typedef int Copy_attr_function(const Comm& oldcomm, int comm_keyval, - void* extra_state, void* attribute_val_in, - void* attribute_val_out, - bool& flag); - typedef int Delete_attr_function(Comm& comm, int comm_keyval, - void* attribute_val, - void* extra_state); -#if !0 /* OMPI_ENABLE_MPI_PROFILING */ -#define _MPI2CPP_ERRHANDLERFN_ Errhandler_function -#define _MPI2CPP_COPYATTRFN_ Copy_attr_function -#define _MPI2CPP_DELETEATTRFN_ Delete_attr_function -#endif - - // construction - Comm(); - - // copy - Comm(const Comm_Null& data); - -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - Comm(const Comm& data) : - Comm_Null(data), - pmpi_comm((const PMPI::Comm&) data) { } - - // inter-language operability - Comm(MPI_Comm data) : Comm_Null(data), pmpi_comm(data) { } - - Comm(const PMPI::Comm& data) : - Comm_Null((const PMPI::Comm_Null&)data), - pmpi_comm(data) { } - - operator const PMPI::Comm&() const { return pmpi_comm; } - - // assignment - Comm& operator=(const Comm& data) { - this->Comm_Null::operator=(data); - pmpi_comm = data.pmpi_comm; - return *this; - } - Comm& operator=(const Comm_Null& data) { - this->Comm_Null::operator=(data); - MPI_Comm tmp = data; - pmpi_comm = tmp; - return *this; - } - // inter-language operability - Comm& operator=(const MPI_Comm& data) { - this->Comm_Null::operator=(data); - pmpi_comm = data; - return *this; - } - -#else - Comm(const Comm& data) : Comm_Null(data.mpi_comm) { } - // inter-language operability - Comm(MPI_Comm data) : Comm_Null(data) { } -#endif - - - // - // Point-to-Point - // - - virtual void Send(const void *buf, int count, - const Datatype & datatype, int dest, int tag) const; - - virtual void Recv(void *buf, int count, const Datatype & datatype, - int source, int tag, Status & status) const; - - - virtual void Recv(void *buf, int count, const Datatype & datatype, - int source, int tag) const; - - virtual void Bsend(const void *buf, int count, - const Datatype & datatype, int dest, int tag) const; - - virtual void Ssend(const void *buf, int count, - const Datatype & datatype, int dest, int tag) const ; - - virtual void Rsend(const void *buf, int count, - const Datatype & datatype, int dest, int tag) const; - - virtual Request Isend(const void *buf, int count, - const Datatype & datatype, int dest, int tag) const; - - virtual Request Ibsend(const void *buf, int count, const - Datatype & datatype, int dest, int tag) const; - - virtual Request Issend(const void *buf, int count, - const Datatype & datatype, int dest, int tag) const; - - virtual Request Irsend(const void *buf, int count, - const Datatype & datatype, int dest, int tag) const; - - virtual Request Irecv(void *buf, int count, - const Datatype & datatype, int source, int tag) const; - - virtual bool Iprobe(int source, int tag, Status & status) const; - - virtual bool Iprobe(int source, int tag) const; - - virtual void Probe(int source, int tag, Status & status) const; - - virtual void Probe(int source, int tag) const; - - virtual Prequest Send_init(const void *buf, int count, - const Datatype & datatype, int dest, - int tag) const; - - virtual Prequest Bsend_init(const void *buf, int count, - const Datatype & datatype, int dest, - int tag) const; - - virtual Prequest Ssend_init(const void *buf, int count, - const Datatype & datatype, int dest, - int tag) const; - - virtual Prequest Rsend_init(const void *buf, int count, - const Datatype & datatype, int dest, - int tag) const; - - virtual Prequest Recv_init(void *buf, int count, - const Datatype & datatype, int source, - int tag) const; - - virtual void Sendrecv(const void *sendbuf, int sendcount, - const Datatype & sendtype, int dest, int sendtag, - void *recvbuf, int recvcount, - const Datatype & recvtype, int source, - int recvtag, Status & status) const; - - virtual void Sendrecv(const void *sendbuf, int sendcount, - const Datatype & sendtype, int dest, int sendtag, - void *recvbuf, int recvcount, - const Datatype & recvtype, int source, - int recvtag) const; - - virtual void Sendrecv_replace(void *buf, int count, - const Datatype & datatype, int dest, - int sendtag, int source, - int recvtag, Status & status) const; - - virtual void Sendrecv_replace(void *buf, int count, - const Datatype & datatype, int dest, - int sendtag, int source, - int recvtag) const; - - // - // Groups, Contexts, and Communicators - // - - virtual Group Get_group() const; - - virtual int Get_size() const; - - virtual int Get_rank() const; - - static int Compare(const Comm & comm1, const Comm & comm2); - - virtual Comm& Clone() const = 0; - - virtual void Free(void); - - virtual bool Is_inter() const; - - - // - // Collective Communication - // - // Up in Comm because as of MPI-2, they are common to intracomm and - // intercomm -- with the exception of Scan and Exscan, which are not - // defined on intercomms. - // - - virtual void - Barrier() const; - - virtual void - Bcast(void *buffer, int count, - const Datatype& datatype, int root) const; - - virtual void - Gather(const void *sendbuf, int sendcount, - const Datatype & sendtype, - void *recvbuf, int recvcount, - const Datatype & recvtype, int root) const; - - virtual void - Gatherv(const void *sendbuf, int sendcount, - const Datatype & sendtype, void *recvbuf, - const int recvcounts[], const int displs[], - const Datatype & recvtype, int root) const; - - virtual void - Scatter(const void *sendbuf, int sendcount, - const Datatype & sendtype, - void *recvbuf, int recvcount, - const Datatype & recvtype, int root) const; - - virtual void - Scatterv(const void *sendbuf, const int sendcounts[], - const int displs[], const Datatype & sendtype, - void *recvbuf, int recvcount, - const Datatype & recvtype, int root) const; - - virtual void - Allgather(const void *sendbuf, int sendcount, - const Datatype & sendtype, void *recvbuf, - int recvcount, const Datatype & recvtype) const; - - virtual void - Allgatherv(const void *sendbuf, int sendcount, - const Datatype & sendtype, void *recvbuf, - const int recvcounts[], const int displs[], - const Datatype & recvtype) const; - - virtual void - Alltoall(const void *sendbuf, int sendcount, - const Datatype & sendtype, void *recvbuf, - int recvcount, const Datatype & recvtype) const; - - virtual void - Alltoallv(const void *sendbuf, const int sendcounts[], - const int sdispls[], const Datatype & sendtype, - void *recvbuf, const int recvcounts[], - const int rdispls[], const Datatype & recvtype) const; - - virtual void - Alltoallw(const void *sendbuf, const int sendcounts[], - const int sdispls[], const Datatype sendtypes[], - void *recvbuf, const int recvcounts[], - const int rdispls[], const Datatype recvtypes[]) const; - - virtual void - Reduce(const void *sendbuf, void *recvbuf, int count, - const Datatype & datatype, const Op & op, - int root) const; - - - virtual void - Allreduce(const void *sendbuf, void *recvbuf, int count, - const Datatype & datatype, const Op & op) const; - - virtual void - Reduce_scatter(const void *sendbuf, void *recvbuf, - int recvcounts[], - const Datatype & datatype, - const Op & op) const; - - // - // Process Creation - // - - virtual void Disconnect(); - - static Intercomm Get_parent(); - - static Intercomm Join(const int fd); - - // - // External Interfaces - // - - virtual void Get_name(char * comm_name, int& resultlen) const; - - virtual void Set_name(const char* comm_name); - - // - // Process Topologies - // - - virtual int Get_topology() const; - - // - // Environmental Inquiry - // - - virtual void Abort(int errorcode); - - // - // Errhandler - // - - static Errhandler Create_errhandler(Comm::Errhandler_function* function); - - virtual void Set_errhandler(const Errhandler& errhandler); - - virtual Errhandler Get_errhandler() const; - - void Call_errhandler(int errorcode) const; - - // - // Keys and Attributes - // - - // Need 4 overloaded versions of this function because per the - // MPI-2 spec, you can mix-n-match the C predefined functions with - // C++ functions. - static int Create_keyval(Copy_attr_function* comm_copy_attr_fn, - Delete_attr_function* comm_delete_attr_fn, - void* extra_state); - static int Create_keyval(MPI_Comm_copy_attr_function* comm_copy_attr_fn, - MPI_Comm_delete_attr_function* comm_delete_attr_fn, - void* extra_state); - static int Create_keyval(Copy_attr_function* comm_copy_attr_fn, - MPI_Comm_delete_attr_function* comm_delete_attr_fn, - void* extra_state); - static int Create_keyval(MPI_Comm_copy_attr_function* comm_copy_attr_fn, - Delete_attr_function* comm_delete_attr_fn, - void* extra_state); - -protected: - static int do_create_keyval(MPI_Comm_copy_attr_function* c_copy_fn, - MPI_Comm_delete_attr_function* c_delete_fn, - Copy_attr_function* cxx_copy_fn, - Delete_attr_function* cxx_delete_fn, - void* extra_state, int &keyval); - -public: - - static void Free_keyval(int& comm_keyval); - - virtual void Set_attr(int comm_keyval, const void* attribute_val) const; - - virtual bool Get_attr(int comm_keyval, void* attribute_val) const; - - virtual void Delete_attr(int comm_keyval); - - static int NULL_COPY_FN(const Comm& oldcomm, int comm_keyval, - void* extra_state, void* attribute_val_in, - void* attribute_val_out, bool& flag); - - static int DUP_FN(const Comm& oldcomm, int comm_keyval, - void* extra_state, void* attribute_val_in, - void* attribute_val_out, bool& flag); - - static int NULL_DELETE_FN(Comm& comm, int comm_keyval, void* attribute_val, - void* extra_state); - - -private: -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - PMPI::Comm pmpi_comm; -#endif - -#if ! 0 /* OMPI_ENABLE_MPI_PROFILING */ -public: - - // Data that is passed through keyval create when C++ callback - // functions are used - struct keyval_intercept_data_t { - MPI_Comm_copy_attr_function *c_copy_fn; - MPI_Comm_delete_attr_function *c_delete_fn; - Copy_attr_function* cxx_copy_fn; - Delete_attr_function* cxx_delete_fn; - void *extra_state; - }; - - // Protect the global list from multiple thread access - static opal_mutex_t cxx_extra_states_lock; -#endif - -}; diff --git a/ompi/mpi/cxx/comm_inln.h b/ompi/mpi/cxx/comm_inln.h deleted file mode 100644 index f5ae1b8eb2..0000000000 --- a/ompi/mpi/cxx/comm_inln.h +++ /dev/null @@ -1,689 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2007-2016 Cisco Systems, Inc. All rights reserved. -// Copyright (c) 2011 FUJITSU LIMITED. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -// -// Point-to-Point -// - -inline void -MPI::Comm::Send(const void *buf, int count, - const MPI::Datatype & datatype, int dest, int tag) const -{ - (void)MPI_Send(const_cast(buf), count, datatype, dest, tag, mpi_comm); -} - -inline void -MPI::Comm::Recv(void *buf, int count, const MPI::Datatype & datatype, - int source, int tag, MPI::Status & status) const -{ - (void)MPI_Recv(buf, count, datatype, source, tag, mpi_comm, &status.mpi_status); -} - -inline void -MPI::Comm::Recv(void *buf, int count, const MPI::Datatype & datatype, - int source, int tag) const -{ - (void)MPI_Recv(buf, count, datatype, source, - tag, mpi_comm, MPI_STATUS_IGNORE); -} - -inline void -MPI::Comm::Bsend(const void *buf, int count, - const MPI::Datatype & datatype, int dest, int tag) const -{ - (void)MPI_Bsend(const_cast(buf), count, datatype, - dest, tag, mpi_comm); -} - -inline void -MPI::Comm::Ssend(const void *buf, int count, - const MPI::Datatype & datatype, int dest, int tag) const -{ - (void)MPI_Ssend(const_cast(buf), count, datatype, dest, - tag, mpi_comm); -} - -inline void -MPI::Comm::Rsend(const void *buf, int count, - const MPI::Datatype & datatype, int dest, int tag) const -{ - (void)MPI_Rsend(const_cast(buf), count, datatype, - dest, tag, mpi_comm); -} - -inline MPI::Request -MPI::Comm::Isend(const void *buf, int count, - const MPI::Datatype & datatype, int dest, int tag) const -{ - MPI_Request request; - (void)MPI_Isend(const_cast(buf), count, datatype, - dest, tag, mpi_comm, &request); - return request; -} - -inline MPI::Request -MPI::Comm::Ibsend(const void *buf, int count, - const MPI::Datatype & datatype, int dest, int tag) const -{ - MPI_Request request; - (void)MPI_Ibsend(const_cast(buf), count, datatype, - dest, tag, mpi_comm, &request); - return request; -} - -inline MPI::Request -MPI::Comm::Issend(const void *buf, int count, - const MPI::Datatype & datatype, int dest, int tag) const -{ - MPI_Request request; - (void)MPI_Issend(const_cast(buf), count, datatype, - dest, tag, mpi_comm, &request); - return request; -} - -inline MPI::Request -MPI::Comm::Irsend(const void *buf, int count, - const MPI::Datatype & datatype, int dest, int tag) const -{ - MPI_Request request; - (void)MPI_Irsend(const_cast(buf), count, datatype, - dest, tag, mpi_comm, &request); - return request; -} - -inline MPI::Request -MPI::Comm::Irecv(void *buf, int count, - const MPI::Datatype & datatype, int source, int tag) const -{ - MPI_Request request; - (void)MPI_Irecv(buf, count, datatype, source, - tag, mpi_comm, &request); - return request; -} - - -inline bool -MPI::Comm::Iprobe(int source, int tag, MPI::Status & status) const -{ - int t; - (void)MPI_Iprobe(source, tag, mpi_comm, &t, &status.mpi_status); - return OPAL_INT_TO_BOOL(t); -} - -inline bool -MPI::Comm::Iprobe(int source, int tag) const -{ - int t; - (void)MPI_Iprobe(source, tag, mpi_comm, &t, MPI_STATUS_IGNORE); - return OPAL_INT_TO_BOOL(t); -} - -inline void -MPI::Comm::Probe(int source, int tag, MPI::Status & status) const -{ - (void)MPI_Probe(source, tag, mpi_comm, &status.mpi_status); -} - -inline void -MPI::Comm::Probe(int source, int tag) const -{ - (void)MPI_Probe(source, tag, mpi_comm, MPI_STATUS_IGNORE); -} - -inline MPI::Prequest -MPI::Comm::Send_init(const void *buf, int count, - const MPI::Datatype & datatype, int dest, int tag) const -{ - MPI_Request request; - (void)MPI_Send_init(const_cast(buf), count, datatype, - dest, tag, mpi_comm, &request); - return request; -} - -inline MPI::Prequest -MPI::Comm::Bsend_init(const void *buf, int count, - const MPI::Datatype & datatype, int dest, int tag) const -{ - MPI_Request request; - (void)MPI_Bsend_init(const_cast(buf), count, datatype, - dest, tag, mpi_comm, &request); - return request; -} - -inline MPI::Prequest -MPI::Comm::Ssend_init(const void *buf, int count, - const MPI::Datatype & datatype, int dest, int tag) const -{ - MPI_Request request; - (void)MPI_Ssend_init(const_cast(buf), count, datatype, - dest, tag, mpi_comm, &request); - return request; -} - -inline MPI::Prequest -MPI::Comm::Rsend_init(const void *buf, int count, - const MPI::Datatype & datatype, int dest, int tag) const -{ - MPI_Request request; - (void)MPI_Rsend_init(const_cast(buf), count, datatype, - dest, tag, mpi_comm, &request); - return request; -} - -inline MPI::Prequest -MPI::Comm::Recv_init(void *buf, int count, - const MPI::Datatype & datatype, int source, int tag) const -{ - MPI_Request request; - (void)MPI_Recv_init(buf, count, datatype, source, - tag, mpi_comm, &request); - return request; -} - -inline void -MPI::Comm::Sendrecv(const void *sendbuf, int sendcount, - const MPI::Datatype & sendtype, int dest, int sendtag, - void *recvbuf, int recvcount, - const MPI::Datatype & recvtype, int source, - int recvtag, MPI::Status & status) const -{ - (void)MPI_Sendrecv(const_cast(sendbuf), sendcount, - sendtype, - dest, sendtag, recvbuf, recvcount, - recvtype, - source, recvtag, mpi_comm, &status.mpi_status); -} - -inline void -MPI::Comm::Sendrecv(const void *sendbuf, int sendcount, - const MPI::Datatype & sendtype, int dest, int sendtag, - void *recvbuf, int recvcount, - const MPI::Datatype & recvtype, int source, - int recvtag) const -{ - (void)MPI_Sendrecv(const_cast(sendbuf), sendcount, - sendtype, - dest, sendtag, recvbuf, recvcount, - recvtype, - source, recvtag, mpi_comm, MPI_STATUS_IGNORE); -} - -inline void -MPI::Comm::Sendrecv_replace(void *buf, int count, - const MPI::Datatype & datatype, int dest, - int sendtag, int source, - int recvtag, MPI::Status & status) const -{ - (void)MPI_Sendrecv_replace(buf, count, datatype, dest, - sendtag, source, recvtag, mpi_comm, - &status.mpi_status); -} - -inline void -MPI::Comm::Sendrecv_replace(void *buf, int count, - const MPI::Datatype & datatype, int dest, - int sendtag, int source, - int recvtag) const -{ - (void)MPI_Sendrecv_replace(buf, count, datatype, dest, - sendtag, source, recvtag, mpi_comm, - MPI_STATUS_IGNORE); -} - -// -// Groups, Contexts, and Communicators -// - -inline MPI::Group -MPI::Comm::Get_group() const -{ - MPI_Group group; - (void)MPI_Comm_group(mpi_comm, &group); - return group; -} - -inline int -MPI::Comm::Get_size() const -{ - int size; - (void)MPI_Comm_size (mpi_comm, &size); - return size; -} - -inline int -MPI::Comm::Get_rank() const -{ - int myrank; - (void)MPI_Comm_rank (mpi_comm, &myrank); - return myrank; -} - -inline int -MPI::Comm::Compare(const MPI::Comm & comm1, - const MPI::Comm & comm2) -{ - int result; - (void)MPI_Comm_compare(comm1, comm2, &result); - return result; -} - -inline void -MPI::Comm::Free(void) -{ - (void)MPI_Comm_free(&mpi_comm); -} - -inline bool -MPI::Comm::Is_inter() const -{ - int t; - (void)MPI_Comm_test_inter(mpi_comm, &t); - return OPAL_INT_TO_BOOL(t); -} - - -// -// Collective Communication -// - -inline void -MPI::Comm::Barrier() const -{ - (void)MPI_Barrier(mpi_comm); -} - -inline void -MPI::Comm::Bcast(void *buffer, int count, - const MPI::Datatype& datatype, int root) const -{ - (void)MPI_Bcast(buffer, count, datatype, root, mpi_comm); -} - -inline void -MPI::Comm::Gather(const void *sendbuf, int sendcount, - const MPI::Datatype & sendtype, - void *recvbuf, int recvcount, - const MPI::Datatype & recvtype, int root) const -{ - (void)MPI_Gather(const_cast(sendbuf), sendcount, sendtype, - recvbuf, recvcount, recvtype, root, mpi_comm); -} - -inline void -MPI::Comm::Gatherv(const void *sendbuf, int sendcount, - const MPI::Datatype & sendtype, void *recvbuf, - const int recvcounts[], const int displs[], - const MPI::Datatype & recvtype, int root) const -{ - (void)MPI_Gatherv(const_cast(sendbuf), sendcount, sendtype, - recvbuf, const_cast(recvcounts), - const_cast(displs), - recvtype, root, mpi_comm); -} - -inline void -MPI::Comm::Scatter(const void *sendbuf, int sendcount, - const MPI::Datatype & sendtype, - void *recvbuf, int recvcount, - const MPI::Datatype & recvtype, int root) const -{ - (void)MPI_Scatter(const_cast(sendbuf), sendcount, sendtype, - recvbuf, recvcount, recvtype, root, mpi_comm); -} - -inline void -MPI::Comm::Scatterv(const void *sendbuf, const int sendcounts[], - const int displs[], const MPI::Datatype & sendtype, - void *recvbuf, int recvcount, - const MPI::Datatype & recvtype, int root) const -{ - (void)MPI_Scatterv(const_cast(sendbuf), - const_cast(sendcounts), - const_cast(displs), sendtype, - recvbuf, recvcount, recvtype, - root, mpi_comm); -} - -inline void -MPI::Comm::Allgather(const void *sendbuf, int sendcount, - const MPI::Datatype & sendtype, void *recvbuf, - int recvcount, const MPI::Datatype & recvtype) const -{ - (void)MPI_Allgather(const_cast(sendbuf), sendcount, - sendtype, recvbuf, recvcount, - recvtype, mpi_comm); -} - -inline void -MPI::Comm::Allgatherv(const void *sendbuf, int sendcount, - const MPI::Datatype & sendtype, void *recvbuf, - const int recvcounts[], const int displs[], - const MPI::Datatype & recvtype) const -{ - (void)MPI_Allgatherv(const_cast(sendbuf), sendcount, - sendtype, recvbuf, - const_cast(recvcounts), - const_cast(displs), - recvtype, mpi_comm); -} - -inline void -MPI::Comm::Alltoall(const void *sendbuf, int sendcount, - const MPI::Datatype & sendtype, void *recvbuf, - int recvcount, const MPI::Datatype & recvtype) const -{ - (void)MPI_Alltoall(const_cast(sendbuf), sendcount, - sendtype, recvbuf, recvcount, - recvtype, mpi_comm); -} - -inline void -MPI::Comm::Alltoallv(const void *sendbuf, const int sendcounts[], - const int sdispls[], const MPI::Datatype & sendtype, - void *recvbuf, const int recvcounts[], - const int rdispls[], - const MPI::Datatype & recvtype) const -{ - (void)MPI_Alltoallv(const_cast(sendbuf), - const_cast(sendcounts), - const_cast(sdispls), sendtype, recvbuf, - const_cast(recvcounts), - const_cast(rdispls), - recvtype,mpi_comm); -} - -inline void -MPI::Comm::Alltoallw(const void *sendbuf, const int sendcounts[], - const int sdispls[], const MPI::Datatype sendtypes[], - void *recvbuf, const int recvcounts[], - const int rdispls[], - const MPI::Datatype recvtypes[]) const -{ - const int comm_size = Get_size(); - MPI_Datatype *const data_type_tbl = new MPI_Datatype [2*comm_size]; - - // This must be done because MPI::Datatype arrays cannot be - // converted directly into MPI_Datatype arrays. - for (int i_rank=0; i_rank < comm_size; i_rank++) { - data_type_tbl[i_rank] = sendtypes[i_rank]; - data_type_tbl[i_rank + comm_size] = recvtypes[i_rank]; - } - - (void)MPI_Alltoallw(const_cast(sendbuf), - const_cast(sendcounts), - const_cast(sdispls), - data_type_tbl, recvbuf, - const_cast(recvcounts), - const_cast(rdispls), - &data_type_tbl[comm_size], mpi_comm); - - delete[] data_type_tbl; -} - -inline void -MPI::Comm::Reduce(const void *sendbuf, void *recvbuf, int count, - const MPI::Datatype & datatype, const MPI::Op& op, - int root) const -{ - (void)MPI_Reduce(const_cast(sendbuf), recvbuf, count, datatype, op, root, mpi_comm); -} - -inline void -MPI::Comm::Allreduce(const void *sendbuf, void *recvbuf, int count, - const MPI::Datatype & datatype, const MPI::Op& op) const -{ - (void)MPI_Allreduce (const_cast(sendbuf), recvbuf, count, datatype, op, mpi_comm); -} - -inline void -MPI::Comm::Reduce_scatter(const void *sendbuf, void *recvbuf, - int recvcounts[], - const MPI::Datatype & datatype, - const MPI::Op& op) const -{ - (void)MPI_Reduce_scatter(const_cast(sendbuf), recvbuf, recvcounts, - datatype, op, mpi_comm); -} - -// -// Process Creation and Managemnt -// - -inline void -MPI::Comm::Disconnect() -{ - (void) MPI_Comm_disconnect(&mpi_comm); -} - - -inline MPI::Intercomm -MPI::Comm::Get_parent() -{ - MPI_Comm parent; - MPI_Comm_get_parent(&parent); - return parent; -} - - -inline MPI::Intercomm -MPI::Comm::Join(const int fd) -{ - MPI_Comm newcomm; - (void) MPI_Comm_join((int) fd, &newcomm); - return newcomm; -} - -// -// External Interfaces -// - -inline void -MPI::Comm::Get_name(char* comm_name, int& resultlen) const -{ - (void) MPI_Comm_get_name(mpi_comm, comm_name, &resultlen); -} - -inline void -MPI::Comm::Set_name(const char* comm_name) -{ - (void) MPI_Comm_set_name(mpi_comm, const_cast(comm_name)); -} - -// -//Process Topologies -// - -inline int -MPI::Comm::Get_topology() const -{ - int status; - (void)MPI_Topo_test(mpi_comm, &status); - return status; -} - -// -// Environmental Inquiry -// - -inline void -MPI::Comm::Abort(int errorcode) -{ - (void)MPI_Abort(mpi_comm, errorcode); -} - -// -// These C++ bindings are for MPI-2. -// The MPI-1.2 functions called below are all -// going to be deprecated and replaced in MPI-2. -// - -inline MPI::Errhandler -MPI::Comm::Get_errhandler() const -{ - MPI_Errhandler errhandler; - MPI_Comm_get_errhandler(mpi_comm, &errhandler); - return errhandler; -} - -inline void -MPI::Comm::Set_errhandler(const MPI::Errhandler& errhandler) -{ - (void)MPI_Comm_set_errhandler(mpi_comm, errhandler); -} - -inline void -MPI::Comm::Call_errhandler(int errorcode) const -{ - (void) MPI_Comm_call_errhandler(mpi_comm, errorcode); -} - -// 1) original Create_keyval that takes the first 2 arguments as C++ -// functions -inline int -MPI::Comm::Create_keyval(MPI::Comm::Copy_attr_function* comm_copy_attr_fn, - MPI::Comm::Delete_attr_function* comm_delete_attr_fn, - void* extra_state) -{ - // Back-end function does the heavy lifting - int ret, keyval; - ret = do_create_keyval(NULL, NULL, - comm_copy_attr_fn, comm_delete_attr_fn, - extra_state, keyval); - return (MPI_SUCCESS == ret) ? keyval : ret; -} - -// 2) overload Create_keyval to take the first 2 arguments as C -// functions -inline int -MPI::Comm::Create_keyval(MPI_Comm_copy_attr_function* comm_copy_attr_fn, - MPI_Comm_delete_attr_function* comm_delete_attr_fn, - void* extra_state) -{ - // Back-end function does the heavy lifting - int ret, keyval; - ret = do_create_keyval(comm_copy_attr_fn, comm_delete_attr_fn, - NULL, NULL, - extra_state, keyval); - return (MPI_SUCCESS == ret) ? keyval : ret; -} - -// 3) overload Create_keyval to take the first 2 arguments as C++ & C -// functions -inline int -MPI::Comm::Create_keyval(MPI::Comm::Copy_attr_function* comm_copy_attr_fn, - MPI_Comm_delete_attr_function* comm_delete_attr_fn, - void* extra_state) -{ - // Back-end function does the heavy lifting - int ret, keyval; - ret = do_create_keyval(NULL, comm_delete_attr_fn, - comm_copy_attr_fn, NULL, - extra_state, keyval); - return (MPI_SUCCESS == ret) ? keyval : ret; -} - -// 4) overload Create_keyval to take the first 2 arguments as C & C++ -// functions -inline int -MPI::Comm::Create_keyval(MPI_Comm_copy_attr_function* comm_copy_attr_fn, - MPI::Comm::Delete_attr_function* comm_delete_attr_fn, - void* extra_state) -{ - // Back-end function does the heavy lifting - int ret, keyval; - ret = do_create_keyval(comm_copy_attr_fn, NULL, - NULL, comm_delete_attr_fn, - extra_state, keyval); - return (MPI_SUCCESS == ret) ? keyval : ret; -} - -inline void -MPI::Comm::Free_keyval(int& comm_keyval) -{ - (void) MPI_Comm_free_keyval(&comm_keyval); -} - -inline void -MPI::Comm::Set_attr(int comm_keyval, const void* attribute_val) const -{ - (void)MPI_Comm_set_attr(mpi_comm, comm_keyval, const_cast(attribute_val)); -} - -inline bool -MPI::Comm::Get_attr(int comm_keyval, void* attribute_val) const -{ - int flag; - (void)MPI_Comm_get_attr(mpi_comm, comm_keyval, attribute_val, &flag); - return OPAL_INT_TO_BOOL(flag); -} - -inline void -MPI::Comm::Delete_attr(int comm_keyval) -{ - (void)MPI_Comm_delete_attr(mpi_comm, comm_keyval); -} - -// Comment out the unused parameters so that compilers don't warn -// about them. Use comments instead of just deleting the param names -// outright so that we know/remember what they are. -inline int -MPI::Comm::NULL_COPY_FN(const MPI::Comm& /* oldcomm */, - int /* comm_keyval */, - void* /* extra_state */, - void* /* attribute_val_in */, - void* /* attribute_val_out */, - bool& flag) -{ - flag = false; - return MPI_SUCCESS; -} - -inline int -MPI::Comm::DUP_FN(const MPI::Comm& oldcomm, int comm_keyval, - void* extra_state, void* attribute_val_in, - void* attribute_val_out, bool& flag) -{ - if (sizeof(bool) != sizeof(int)) { - int f = (int)flag; - int ret; - ret = MPI_COMM_DUP_FN(oldcomm, comm_keyval, extra_state, - attribute_val_in, attribute_val_out, &f); - flag = OPAL_INT_TO_BOOL(f); - return ret; - } else { - return MPI_COMM_DUP_FN(oldcomm, comm_keyval, extra_state, - attribute_val_in, attribute_val_out, - (int*)&flag); - } -} - -// Comment out the unused parameters so that compilers don't warn -// about them. Use comments instead of just deleting the param names -// outright so that we know/remember what they are. -inline int -MPI::Comm::NULL_DELETE_FN(MPI::Comm& /* comm */, - int /* comm_keyval */, - void* /* attribute_val */, - void* /* extra_state */) -{ - return MPI_SUCCESS; -} - diff --git a/ompi/mpi/cxx/constants.h b/ompi/mpi/cxx/constants.h deleted file mode 100644 index 255853e7d2..0000000000 --- a/ompi/mpi/cxx/constants.h +++ /dev/null @@ -1,293 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2008-2009 Cisco Systems, Inc. All rights reserved. -// Copyright (c) 2011 FUJITSU LIMITED. All rights reserved. -// Copyright (c) 2017 Research Organization for Information Science -// and Technology (RIST). All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -// return codes -static const int SUCCESS = MPI_SUCCESS; -static const int ERR_BUFFER = MPI_ERR_BUFFER; -static const int ERR_COUNT = MPI_ERR_COUNT; -static const int ERR_TYPE = MPI_ERR_TYPE; -static const int ERR_TAG = MPI_ERR_TAG ; -static const int ERR_COMM = MPI_ERR_COMM; -static const int ERR_RANK = MPI_ERR_RANK; -static const int ERR_REQUEST = MPI_ERR_REQUEST; -static const int ERR_ROOT = MPI_ERR_ROOT; -static const int ERR_GROUP = MPI_ERR_GROUP; -static const int ERR_OP = MPI_ERR_OP; -static const int ERR_TOPOLOGY = MPI_ERR_TOPOLOGY; -static const int ERR_DIMS = MPI_ERR_DIMS; -static const int ERR_ARG = MPI_ERR_ARG; -static const int ERR_UNKNOWN = MPI_ERR_UNKNOWN; -static const int ERR_TRUNCATE = MPI_ERR_TRUNCATE; -static const int ERR_OTHER = MPI_ERR_OTHER; -static const int ERR_INTERN = MPI_ERR_INTERN; -static const int ERR_PENDING = MPI_ERR_PENDING; -static const int ERR_IN_STATUS = MPI_ERR_IN_STATUS; -static const int ERR_ACCESS = MPI_ERR_ACCESS; -static const int ERR_AMODE = MPI_ERR_AMODE; -static const int ERR_ASSERT = MPI_ERR_ASSERT; -static const int ERR_BAD_FILE = MPI_ERR_BAD_FILE; -static const int ERR_BASE = MPI_ERR_BASE; -static const int ERR_CONVERSION = MPI_ERR_CONVERSION; -static const int ERR_DISP = MPI_ERR_DISP; -static const int ERR_DUP_DATAREP = MPI_ERR_DUP_DATAREP; -static const int ERR_FILE_EXISTS = MPI_ERR_FILE_EXISTS; -static const int ERR_FILE_IN_USE = MPI_ERR_FILE_IN_USE; -static const int ERR_FILE = MPI_ERR_FILE; -static const int ERR_INFO_KEY = MPI_ERR_INFO_KEY; -static const int ERR_INFO_NOKEY = MPI_ERR_INFO_NOKEY; -static const int ERR_INFO_VALUE = MPI_ERR_INFO_VALUE; -static const int ERR_INFO = MPI_ERR_INFO; -static const int ERR_IO = MPI_ERR_IO; -static const int ERR_KEYVAL = MPI_ERR_KEYVAL; -static const int ERR_LOCKTYPE = MPI_ERR_LOCKTYPE; -static const int ERR_NAME = MPI_ERR_NAME; -static const int ERR_NO_MEM = MPI_ERR_NO_MEM; -static const int ERR_NOT_SAME = MPI_ERR_NOT_SAME; -static const int ERR_NO_SPACE = MPI_ERR_NO_SPACE; -static const int ERR_NO_SUCH_FILE = MPI_ERR_NO_SUCH_FILE; -static const int ERR_PORT = MPI_ERR_PORT; -static const int ERR_QUOTA = MPI_ERR_QUOTA; -static const int ERR_READ_ONLY = MPI_ERR_READ_ONLY; -static const int ERR_RMA_CONFLICT = MPI_ERR_RMA_CONFLICT; -static const int ERR_RMA_SYNC = MPI_ERR_RMA_SYNC; -static const int ERR_SERVICE = MPI_ERR_SERVICE; -static const int ERR_SIZE = MPI_ERR_SIZE; -static const int ERR_SPAWN = MPI_ERR_SPAWN; -static const int ERR_UNSUPPORTED_DATAREP = MPI_ERR_UNSUPPORTED_DATAREP; -static const int ERR_UNSUPPORTED_OPERATION = MPI_ERR_UNSUPPORTED_OPERATION; -static const int ERR_WIN = MPI_ERR_WIN; -static const int ERR_LASTCODE = MPI_ERR_LASTCODE; - -// assorted constants -OMPI_DECLSPEC extern void* const BOTTOM; -OMPI_DECLSPEC extern void* const IN_PLACE; -static const int PROC_NULL = MPI_PROC_NULL; -static const int ANY_SOURCE = MPI_ANY_SOURCE; -static const int ROOT = MPI_ROOT; -static const int ANY_TAG = MPI_ANY_TAG; -static const int UNDEFINED = MPI_UNDEFINED; -static const int BSEND_OVERHEAD = MPI_BSEND_OVERHEAD; -static const int KEYVAL_INVALID = MPI_KEYVAL_INVALID; -static const int ORDER_C = MPI_ORDER_C; -static const int ORDER_FORTRAN = MPI_ORDER_FORTRAN; -static const int DISTRIBUTE_BLOCK = MPI_DISTRIBUTE_BLOCK; -static const int DISTRIBUTE_CYCLIC = MPI_DISTRIBUTE_CYCLIC; -static const int DISTRIBUTE_NONE = MPI_DISTRIBUTE_NONE; -static const int DISTRIBUTE_DFLT_DARG = MPI_DISTRIBUTE_DFLT_DARG; - -// error-handling specifiers -OMPI_DECLSPEC extern const Errhandler ERRORS_ARE_FATAL; -OMPI_DECLSPEC extern const Errhandler ERRORS_RETURN; -OMPI_DECLSPEC extern const Errhandler ERRORS_THROW_EXCEPTIONS; - -// typeclass definitions for MPI_Type_match_size -static const int TYPECLASS_INTEGER = MPI_TYPECLASS_INTEGER; -static const int TYPECLASS_REAL = MPI_TYPECLASS_REAL; -static const int TYPECLASS_COMPLEX = MPI_TYPECLASS_COMPLEX; - -// maximum sizes for strings -static const int MAX_PROCESSOR_NAME = MPI_MAX_PROCESSOR_NAME; -static const int MAX_ERROR_STRING = MPI_MAX_ERROR_STRING; -static const int MAX_INFO_KEY = MPI_MAX_INFO_KEY; -static const int MAX_INFO_VAL = MPI_MAX_INFO_VAL; -static const int MAX_PORT_NAME = MPI_MAX_PORT_NAME; -static const int MAX_OBJECT_NAME = MPI_MAX_OBJECT_NAME; - -// elementary datatypes (C / C++) -OMPI_DECLSPEC extern const Datatype CHAR; -OMPI_DECLSPEC extern const Datatype SHORT; -OMPI_DECLSPEC extern const Datatype INT; -OMPI_DECLSPEC extern const Datatype LONG; -OMPI_DECLSPEC extern const Datatype SIGNED_CHAR; -OMPI_DECLSPEC extern const Datatype UNSIGNED_CHAR; -OMPI_DECLSPEC extern const Datatype UNSIGNED_SHORT; -OMPI_DECLSPEC extern const Datatype UNSIGNED; -OMPI_DECLSPEC extern const Datatype UNSIGNED_LONG; -OMPI_DECLSPEC extern const Datatype FLOAT; -OMPI_DECLSPEC extern const Datatype DOUBLE; -OMPI_DECLSPEC extern const Datatype LONG_DOUBLE; -OMPI_DECLSPEC extern const Datatype BYTE; -OMPI_DECLSPEC extern const Datatype PACKED; -OMPI_DECLSPEC extern const Datatype WCHAR; - -// datatypes for reductions functions (C / C++) -OMPI_DECLSPEC extern const Datatype FLOAT_INT; -OMPI_DECLSPEC extern const Datatype DOUBLE_INT; -OMPI_DECLSPEC extern const Datatype LONG_INT; -OMPI_DECLSPEC extern const Datatype TWOINT; -OMPI_DECLSPEC extern const Datatype SHORT_INT; -OMPI_DECLSPEC extern const Datatype LONG_DOUBLE_INT; - -// elementary datatype (Fortran) -OMPI_DECLSPEC extern const Datatype INTEGER; -OMPI_DECLSPEC extern const Datatype REAL; -OMPI_DECLSPEC extern const Datatype DOUBLE_PRECISION; -OMPI_DECLSPEC extern const Datatype F_COMPLEX; -OMPI_DECLSPEC extern const Datatype LOGICAL; -OMPI_DECLSPEC extern const Datatype CHARACTER; - -// datatype for reduction functions (Fortran) -OMPI_DECLSPEC extern const Datatype TWOREAL; -OMPI_DECLSPEC extern const Datatype TWODOUBLE_PRECISION; -OMPI_DECLSPEC extern const Datatype TWOINTEGER; - -// optional datatypes (Fortran) -OMPI_DECLSPEC extern const Datatype INTEGER1; -OMPI_DECLSPEC extern const Datatype INTEGER2; -OMPI_DECLSPEC extern const Datatype INTEGER4; -OMPI_DECLSPEC extern const Datatype REAL2; -OMPI_DECLSPEC extern const Datatype REAL4; -OMPI_DECLSPEC extern const Datatype REAL8; - -// optional datatype (C / C++) -OMPI_DECLSPEC extern const Datatype LONG_LONG; -OMPI_DECLSPEC extern const Datatype LONG_LONG_INT; -OMPI_DECLSPEC extern const Datatype UNSIGNED_LONG_LONG; - -// c++ types -OMPI_DECLSPEC extern const Datatype BOOL; -OMPI_DECLSPEC extern const Datatype COMPLEX; -OMPI_DECLSPEC extern const Datatype DOUBLE_COMPLEX; -OMPI_DECLSPEC extern const Datatype F_DOUBLE_COMPLEX; -OMPI_DECLSPEC extern const Datatype LONG_DOUBLE_COMPLEX; - -// special datatypes for contstruction of derived datatypes -OMPI_DECLSPEC extern const Datatype UB; -OMPI_DECLSPEC extern const Datatype LB; - -// datatype decoding constants -static const int COMBINER_NAMED = MPI_COMBINER_NAMED; -static const int COMBINER_DUP = MPI_COMBINER_DUP; -static const int COMBINER_CONTIGUOUS = MPI_COMBINER_CONTIGUOUS; -static const int COMBINER_VECTOR = MPI_COMBINER_VECTOR; -static const int COMBINER_HVECTOR_INTEGER = MPI_COMBINER_HVECTOR_INTEGER; -static const int COMBINER_HVECTOR = MPI_COMBINER_HVECTOR; -static const int COMBINER_INDEXED = MPI_COMBINER_INDEXED; -static const int COMBINER_HINDEXED_INTEGER = MPI_COMBINER_HINDEXED_INTEGER; -static const int COMBINER_HINDEXED = MPI_COMBINER_HINDEXED; -static const int COMBINER_INDEXED_BLOCK = MPI_COMBINER_INDEXED_BLOCK; -static const int COMBINER_STRUCT_INTEGER = MPI_COMBINER_STRUCT_INTEGER; -static const int COMBINER_STRUCT = MPI_COMBINER_STRUCT; -static const int COMBINER_SUBARRAY = MPI_COMBINER_SUBARRAY; -static const int COMBINER_DARRAY = MPI_COMBINER_DARRAY; -static const int COMBINER_F90_REAL = MPI_COMBINER_F90_REAL; -static const int COMBINER_F90_COMPLEX = MPI_COMBINER_F90_COMPLEX; -static const int COMBINER_F90_INTEGER = MPI_COMBINER_F90_INTEGER; -static const int COMBINER_RESIZED = MPI_COMBINER_RESIZED; - -// thread constants -static const int THREAD_SINGLE = MPI_THREAD_SINGLE; -static const int THREAD_FUNNELED = MPI_THREAD_FUNNELED; -static const int THREAD_SERIALIZED = MPI_THREAD_SERIALIZED; -static const int THREAD_MULTIPLE = MPI_THREAD_MULTIPLE; - -// reserved communicators -// JGS these can not be const because Set_errhandler is not const -OMPI_DECLSPEC extern Intracomm COMM_WORLD; -OMPI_DECLSPEC extern Intracomm COMM_SELF; - -// results of communicator and group comparisons -static const int IDENT = MPI_IDENT; -static const int CONGRUENT = MPI_CONGRUENT; -static const int SIMILAR = MPI_SIMILAR; -static const int UNEQUAL = MPI_UNEQUAL; - -// environmental inquiry keys -static const int TAG_UB = MPI_TAG_UB; -static const int HOST = MPI_HOST; -static const int IO = MPI_IO; -static const int WTIME_IS_GLOBAL = MPI_WTIME_IS_GLOBAL; -static const int APPNUM = MPI_APPNUM; -static const int LASTUSEDCODE = MPI_LASTUSEDCODE; -static const int UNIVERSE_SIZE = MPI_UNIVERSE_SIZE; -static const int WIN_BASE = MPI_WIN_BASE; -static const int WIN_SIZE = MPI_WIN_SIZE; -static const int WIN_DISP_UNIT = MPI_WIN_DISP_UNIT; - -// collective operations -OMPI_DECLSPEC extern const Op MAX; -OMPI_DECLSPEC extern const Op MIN; -OMPI_DECLSPEC extern const Op SUM; -OMPI_DECLSPEC extern const Op PROD; -OMPI_DECLSPEC extern const Op MAXLOC; -OMPI_DECLSPEC extern const Op MINLOC; -OMPI_DECLSPEC extern const Op BAND; -OMPI_DECLSPEC extern const Op BOR; -OMPI_DECLSPEC extern const Op BXOR; -OMPI_DECLSPEC extern const Op LAND; -OMPI_DECLSPEC extern const Op LOR; -OMPI_DECLSPEC extern const Op LXOR; -OMPI_DECLSPEC extern const Op REPLACE; - -// null handles -OMPI_DECLSPEC extern const Group GROUP_NULL; -OMPI_DECLSPEC extern const Win WIN_NULL; -OMPI_DECLSPEC extern const Info INFO_NULL; -OMPI_DECLSPEC extern Comm_Null COMM_NULL; -OMPI_DECLSPEC extern const Datatype DATATYPE_NULL; -OMPI_DECLSPEC extern Request REQUEST_NULL; -OMPI_DECLSPEC extern const Op OP_NULL; -OMPI_DECLSPEC extern const Errhandler ERRHANDLER_NULL; -OMPI_DECLSPEC extern const File FILE_NULL; - -// constants specifying empty or ignored input -OMPI_DECLSPEC extern const char** ARGV_NULL; -OMPI_DECLSPEC extern const char*** ARGVS_NULL; - -// empty group -OMPI_DECLSPEC extern const Group GROUP_EMPTY; - -// topologies -static const int GRAPH = MPI_GRAPH; -static const int CART = MPI_CART; - -// MPI-2 IO -static const int MODE_CREATE = MPI_MODE_CREATE; -static const int MODE_RDONLY = MPI_MODE_RDONLY; -static const int MODE_WRONLY = MPI_MODE_WRONLY; -static const int MODE_RDWR = MPI_MODE_RDWR; -static const int MODE_DELETE_ON_CLOSE = MPI_MODE_DELETE_ON_CLOSE; -static const int MODE_UNIQUE_OPEN = MPI_MODE_UNIQUE_OPEN; -static const int MODE_EXCL = MPI_MODE_EXCL; -static const int MODE_APPEND = MPI_MODE_APPEND; -static const int MODE_SEQUENTIAL = MPI_MODE_SEQUENTIAL; - -static const int DISPLACEMENT_CURRENT = MPI_DISPLACEMENT_CURRENT; - -#if !defined(OMPI_IGNORE_CXX_SEEK) && OMPI_WANT_MPI_CXX_SEEK -static const int SEEK_SET = ::SEEK_SET; -static const int SEEK_CUR = ::SEEK_CUR; -static const int SEEK_END = ::SEEK_END; -#endif - -static const int MAX_DATAREP_STRING = MPI_MAX_DATAREP_STRING; - -// one-sided constants -static const int MODE_NOCHECK = MPI_MODE_NOCHECK; -static const int MODE_NOPRECEDE = MPI_MODE_NOPRECEDE; -static const int MODE_NOPUT = MPI_MODE_NOPUT; -static const int MODE_NOSTORE = MPI_MODE_NOSTORE; -static const int MODE_NOSUCCEED = MPI_MODE_NOSUCCEED; - -static const int LOCK_EXCLUSIVE = MPI_LOCK_EXCLUSIVE; -static const int LOCK_SHARED = MPI_LOCK_SHARED; diff --git a/ompi/mpi/cxx/cxx_glue.c b/ompi/mpi/cxx/cxx_glue.c deleted file mode 100644 index 87c00d40d1..0000000000 --- a/ompi/mpi/cxx/cxx_glue.c +++ /dev/null @@ -1,152 +0,0 @@ -/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */ -/* - * Copyright (c) 2016 Los Alamos National Security, LLC. All rights - * reserved. - * Copyright (c) 2016-2017 Research Organization for Information Science - * and Technology (RIST). All rights reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ - -#include "ompi_config.h" - -#include "ompi/communicator/communicator.h" -#include "ompi/attribute/attribute.h" -#include "ompi/errhandler/errhandler.h" -#include "ompi/file/file.h" -#include "opal/class/opal_list.h" -#include "cxx_glue.h" - -typedef struct ompi_cxx_intercept_file_extra_state_item_t { - opal_list_item_t super; - ompi_cxx_intercept_file_extra_state_t state; -} ompi_cxx_intercept_file_extra_state_item_t; - -OBJ_CLASS_DECLARATION(ompi_cxx_intercept_file_extra_state_item_t); -OBJ_CLASS_INSTANCE(ompi_cxx_intercept_file_extra_state_item_t, opal_list_item_t, - NULL, NULL); - -ompi_cxx_communicator_type_t ompi_cxx_comm_get_type (MPI_Comm comm) -{ - if (OMPI_COMM_IS_GRAPH(comm)) { - return OMPI_CXX_COMM_TYPE_GRAPH; - } else if (OMPI_COMM_IS_CART(comm)) { - return OMPI_CXX_COMM_TYPE_CART; - } else if (OMPI_COMM_IS_INTRA(comm)) { - return OMPI_CXX_COMM_TYPE_INTRACOMM; - } else if (OMPI_COMM_IS_INTER(comm)) { - return OMPI_CXX_COMM_TYPE_INTERCOMM; - } - - return OMPI_CXX_COMM_TYPE_UNKNOWN; -} - -int ompi_cxx_errhandler_invoke_comm (MPI_Comm comm, int ret, const char *message) -{ - return OMPI_ERRHANDLER_INVOKE (comm, ret, message); -} - -int ompi_cxx_errhandler_invoke_file (MPI_File file, int ret, const char *message) -{ - return OMPI_ERRHANDLER_INVOKE (file, ret, message); -} - -int ompi_cxx_attr_create_keyval_comm (MPI_Comm_copy_attr_function *copy_fn, - MPI_Comm_delete_attr_function* delete_fn, int *keyval, void *extra_state, - int flags, void *bindings_extra_state) -{ - ompi_attribute_fn_ptr_union_t copy_fn_u = {.attr_communicator_copy_fn = - (MPI_Comm_internal_copy_attr_function *) copy_fn}; - ompi_attribute_fn_ptr_union_t delete_fn_u = {.attr_communicator_delete_fn = - (MPI_Comm_delete_attr_function *) delete_fn}; - - return ompi_attr_create_keyval (COMM_ATTR, copy_fn_u, delete_fn_u, keyval, extra_state, 0, bindings_extra_state); -} - -int ompi_cxx_attr_create_keyval_win (MPI_Win_copy_attr_function *copy_fn, - MPI_Win_delete_attr_function* delete_fn, int *keyval, void *extra_state, - int flags, void *bindings_extra_state) -{ - ompi_attribute_fn_ptr_union_t copy_fn_u = {.attr_win_copy_fn = - (MPI_Win_internal_copy_attr_function *) copy_fn}; - ompi_attribute_fn_ptr_union_t delete_fn_u = {.attr_win_delete_fn = - (MPI_Win_delete_attr_function *) delete_fn}; - - return ompi_attr_create_keyval (WIN_ATTR, copy_fn_u, delete_fn_u, keyval, extra_state, 0, NULL); -} - -int ompi_cxx_attr_create_keyval_type (MPI_Type_copy_attr_function *copy_fn, - MPI_Type_delete_attr_function* delete_fn, int *keyval, void *extra_state, - int flags, void *bindings_extra_state) -{ - ompi_attribute_fn_ptr_union_t copy_fn_u = {.attr_datatype_copy_fn = - (MPI_Type_internal_copy_attr_function *) copy_fn}; - ompi_attribute_fn_ptr_union_t delete_fn_u = {.attr_datatype_delete_fn = - (MPI_Type_delete_attr_function *) delete_fn}; - - return ompi_attr_create_keyval (TYPE_ATTR, copy_fn_u, delete_fn_u, keyval, extra_state, 0, NULL); -} - -MPI_Errhandler ompi_cxx_errhandler_create_comm (ompi_cxx_dummy_fn_t *fn) -{ - ompi_errhandler_t *errhandler; - errhandler = ompi_errhandler_create(OMPI_ERRHANDLER_TYPE_COMM, - (ompi_errhandler_generic_handler_fn_t *) fn, - OMPI_ERRHANDLER_LANG_CXX); - errhandler->eh_cxx_dispatch_fn = - (ompi_errhandler_cxx_dispatch_fn_t *) ompi_mpi_cxx_comm_errhandler_invoke; - return errhandler; -} - -MPI_Errhandler ompi_cxx_errhandler_create_win (ompi_cxx_dummy_fn_t *fn) -{ - ompi_errhandler_t *errhandler; - errhandler = ompi_errhandler_create(OMPI_ERRHANDLER_TYPE_WIN, - (ompi_errhandler_generic_handler_fn_t *) fn, - OMPI_ERRHANDLER_LANG_CXX); - errhandler->eh_cxx_dispatch_fn = - (ompi_errhandler_cxx_dispatch_fn_t *) ompi_mpi_cxx_win_errhandler_invoke; - return errhandler; -} - -MPI_Errhandler ompi_cxx_errhandler_create_file (ompi_cxx_dummy_fn_t *fn) -{ - ompi_errhandler_t *errhandler; - errhandler = ompi_errhandler_create(OMPI_ERRHANDLER_TYPE_FILE, - (ompi_errhandler_generic_handler_fn_t *) fn, - OMPI_ERRHANDLER_LANG_CXX); - errhandler->eh_cxx_dispatch_fn = - (ompi_errhandler_cxx_dispatch_fn_t *) ompi_mpi_cxx_file_errhandler_invoke; - return errhandler; -} - -ompi_cxx_intercept_file_extra_state_t -*ompi_cxx_new_intercept_state (void *read_fn_cxx, void *write_fn_cxx, void *extent_fn_cxx, - void *extra_state_cxx) -{ - ompi_cxx_intercept_file_extra_state_item_t *intercept; - - intercept = OBJ_NEW(ompi_cxx_intercept_file_extra_state_item_t); - if (NULL == intercept) { - return NULL; - } - - opal_list_append(&ompi_registered_datareps, &intercept->super); - intercept->state.read_fn_cxx = read_fn_cxx; - intercept->state.write_fn_cxx = write_fn_cxx; - intercept->state.extent_fn_cxx = extent_fn_cxx; - intercept->state.extra_state_cxx = extra_state_cxx; - - return &intercept->state; -} - -void ompi_cxx_errhandler_set_callbacks (struct ompi_errhandler_t *errhandler, MPI_Comm_errhandler_function *eh_comm_fn, - ompi_file_errhandler_function *eh_file_fn, MPI_Win_errhandler_function *eh_win_fn) -{ - errhandler->eh_comm_fn = eh_comm_fn; - errhandler->eh_file_fn = eh_file_fn; - errhandler->eh_win_fn = eh_win_fn; -} diff --git a/ompi/mpi/cxx/cxx_glue.h b/ompi/mpi/cxx/cxx_glue.h deleted file mode 100644 index 3c0b7deefc..0000000000 --- a/ompi/mpi/cxx/cxx_glue.h +++ /dev/null @@ -1,88 +0,0 @@ -/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */ -/* - * Copyright (c) 2016-2017 Los Alamos National Security, LLC. All rights - * reserved. - * Copyright (c) 2016-2017 Research Organization for Information Science - * and Technology (RIST). All rights reserved. - * $COPYRIGHT$ - * - * Additional copyrights may follow - * - * $HEADER$ - */ - -#if !defined(OMPI_CXX_COMM_GLUE_H) -#define OMPI_CXX_COMM_GLUE_H - -#include "ompi_config.h" -#include - -#include "mpi.h" - -#if defined(c_plusplus) || defined(__cplusplus) -extern "C" { -#endif - -typedef struct ompi_cxx_intercept_file_extra_state_t { - void *read_fn_cxx; - void *write_fn_cxx; - void *extent_fn_cxx; - void *extra_state_cxx; -} ompi_cxx_intercept_file_extra_state_t; - -enum ompi_cxx_communicator_type_t { - OMPI_CXX_COMM_TYPE_UNKNOWN, - OMPI_CXX_COMM_TYPE_INTRACOMM, - OMPI_CXX_COMM_TYPE_INTERCOMM, - OMPI_CXX_COMM_TYPE_CART, - OMPI_CXX_COMM_TYPE_GRAPH, -}; -typedef enum ompi_cxx_communicator_type_t ompi_cxx_communicator_type_t; - -/* need to declare this error handler here */ -struct ompi_predefined_errhandler_t; -extern struct ompi_predefined_errhandler_t ompi_mpi_errors_throw_exceptions; - -/** - * C++ invocation function signature - */ -typedef void (ompi_cxx_dummy_fn_t) (void); - -ompi_cxx_communicator_type_t ompi_cxx_comm_get_type (MPI_Comm comm); - -int ompi_cxx_errhandler_invoke_comm (MPI_Comm comm, int ret, const char *message); - -int ompi_cxx_attr_create_keyval_comm (MPI_Comm_copy_attr_function *copy_fn, - MPI_Comm_delete_attr_function* delete_fn, int *keyval, void *extra_state, - int flags, void *bindings_extra_state); -int ompi_cxx_attr_create_keyval_win (MPI_Win_copy_attr_function *copy_fn, - MPI_Win_delete_attr_function* delete_fn, int *keyval, void *extra_state, - int flags, void *bindings_extra_state); -int ompi_cxx_attr_create_keyval_type (MPI_Type_copy_attr_function *copy_fn, - MPI_Type_delete_attr_function* delete_fn, int *keyval, void *extra_state, - int flags, void *bindings_extra_state); - -void ompi_mpi_cxx_comm_errhandler_invoke (MPI_Comm *mpi_comm, int *err, - const char *message, void *comm_fn); -void ompi_mpi_cxx_win_errhandler_invoke (MPI_Win *mpi_comm, int *err, - const char *message, void *win_fn); -int ompi_cxx_errhandler_invoke_file (MPI_File file, int ret, const char *message); -void ompi_mpi_cxx_file_errhandler_invoke (MPI_File *mpi_comm, int *err, - const char *message, void *file_fn); - -MPI_Errhandler ompi_cxx_errhandler_create_comm (ompi_cxx_dummy_fn_t *fn); -MPI_Errhandler ompi_cxx_errhandler_create_win (ompi_cxx_dummy_fn_t *fn); -MPI_Errhandler ompi_cxx_errhandler_create_file (ompi_cxx_dummy_fn_t *fn); - -ompi_cxx_intercept_file_extra_state_t -*ompi_cxx_new_intercept_state (void *read_fn_cxx, void *write_fn_cxx, void *extent_fn_cxx, - void *extra_state_cxx); - -void ompi_cxx_errhandler_set_callbacks (struct ompi_errhandler_t *errhandler, MPI_Comm_errhandler_function *eh_comm_fn, - ompi_file_errhandler_function *eh_file_fn, MPI_Win_errhandler_function *eh_win_fn); - -#if defined(c_plusplus) || defined(__cplusplus) -} -#endif - -#endif /* OMPI_CXX_COMM_GLUE_H */ diff --git a/ompi/mpi/cxx/datatype.cc b/ompi/mpi/cxx/datatype.cc deleted file mode 100644 index 343f0ea731..0000000000 --- a/ompi/mpi/cxx/datatype.cc +++ /dev/null @@ -1,103 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2006-2016 Los Alamos National Security, LLC. All rights -// reserved. -// Copyright (c) 2007-2008 Sun Microsystems, Inc. All rights reserved. -// Copyright (c) 2007-2008 Cisco Systems, Inc. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -// do not include ompi_config.h because it kills the free/malloc defines -#include "mpi.h" -#include "ompi/mpi/cxx/mpicxx.h" -#include "ompi/constants.h" -#include "cxx_glue.h" - -void -MPI::Datatype::Free() -{ - (void)MPI_Type_free(&mpi_datatype); -} - -int -MPI::Datatype::do_create_keyval(MPI_Type_copy_attr_function* c_copy_fn, - MPI_Type_delete_attr_function* c_delete_fn, - Copy_attr_function* cxx_copy_fn, - Delete_attr_function* cxx_delete_fn, - void* extra_state, int &keyval) -{ - int ret, count = 0; - keyval_intercept_data_t *cxx_extra_state; - - // If both the callbacks are C, then do the simple thing -- no - // need for all the C++ machinery. - if (NULL != c_copy_fn && NULL != c_delete_fn) { - ret = ompi_cxx_attr_create_keyval_type (c_copy_fn, c_delete_fn, &keyval, - extra_state, 0, NULL); - if (MPI_SUCCESS != ret) { - return ompi_cxx_errhandler_invoke_comm (MPI_COMM_WORLD, ret, - "MPI::Datatype::Create_keyval"); - } - } - - // If either callback is C++, then we have to use the C++ - // callbacks for both, because we have to generate a new - // extra_state. And since we only get one extra_state (i.e., we - // don't get one extra_state for the copy callback and another - // extra_state for the delete callback), we have to use the C++ - // callbacks for both (and therefore translate the C++-special - // extra_state into the user's original extra_state). - cxx_extra_state = (keyval_intercept_data_t *) malloc(sizeof(*cxx_extra_state)); - if (NULL == cxx_extra_state) { - return ompi_cxx_errhandler_invoke_comm (MPI_COMM_WORLD, MPI_ERR_NO_MEM, - "MPI::Datatype::Create_keyval"); - } - - cxx_extra_state->c_copy_fn = c_copy_fn; - cxx_extra_state->cxx_copy_fn = cxx_copy_fn; - cxx_extra_state->c_delete_fn = c_delete_fn; - cxx_extra_state->cxx_delete_fn = cxx_delete_fn; - cxx_extra_state->extra_state = extra_state; - - // Error check. Must have exactly 2 non-NULL function pointers. - if (NULL != c_copy_fn) { - ++count; - } - if (NULL != c_delete_fn) { - ++count; - } - if (NULL != cxx_copy_fn) { - ++count; - } - if (NULL != cxx_delete_fn) { - ++count; - } - if (2 != count) { - free(cxx_extra_state); - return ompi_cxx_errhandler_invoke_comm (MPI_COMM_WORLD, MPI_ERR_ARG, - "MPI::Datatype::Create_keyval"); - } - - // We do not call MPI_Datatype_create_keyval() here because we need to - // pass in a special destructor to the backend keyval creation - // that gets invoked when the keyval's reference count goes to 0 - // and is finally destroyed (i.e., clean up some caching/lookup - // data here in the C++ bindings layer). This destructor is - // *only* used in the C++ bindings, so it's not set by the C - // MPI_Comm_create_keyval(). Hence, we do all the work here (and - // ensure to set the destructor atomicly when the keyval is - // created). - ret = ompi_cxx_attr_create_keyval_type ((MPI_Type_copy_attr_function *) ompi_mpi_cxx_type_copy_attr_intercept, - ompi_mpi_cxx_type_delete_attr_intercept, &keyval, - cxx_extra_state, 0, NULL); - if (OMPI_SUCCESS != ret) { - return ompi_cxx_errhandler_invoke_comm (MPI_COMM_WORLD, ret, - "MPI::Datatype::Create_keyval"); - } - - return MPI_SUCCESS; -} diff --git a/ompi/mpi/cxx/datatype.h b/ompi/mpi/cxx/datatype.h deleted file mode 100644 index b013a1d110..0000000000 --- a/ompi/mpi/cxx/datatype.h +++ /dev/null @@ -1,258 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2006-2008 Sun Microsystems, Inc. All rights reserved. -// Copyright (c) 2006-2007 Cisco Systems, Inc. All rights reserved. -// Copyright (c) 2011 FUJITSU LIMITED. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - - -class Datatype { -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - // friend class PMPI::Datatype; -#endif -public: - -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - - // construction - inline Datatype() { } - - // inter-language operability - inline Datatype(MPI_Datatype i) : pmpi_datatype(i) { } - - // copy / assignment - inline Datatype(const Datatype& dt) : pmpi_datatype(dt.pmpi_datatype) { } - - inline Datatype(const PMPI::Datatype& dt) : pmpi_datatype(dt) { } - - inline virtual ~Datatype() {} - - inline Datatype& operator=(const Datatype& dt) { - pmpi_datatype = dt.pmpi_datatype; return *this; } - - // comparison - inline bool operator== (const Datatype &a) const - { return (bool) (pmpi_datatype == a.pmpi_datatype); } - - inline bool operator!= (const Datatype &a) const - { return (bool) !(*this == a); } - - // inter-language operability - inline Datatype& operator= (const MPI_Datatype &i) - { pmpi_datatype = i; return *this; } - - inline operator MPI_Datatype() const { return (MPI_Datatype)pmpi_datatype; } - // inline operator MPI_Datatype* ()/* JGS const */ { return pmpi_datatype; } - - inline operator const PMPI::Datatype&() const { return pmpi_datatype; } - - inline const PMPI::Datatype& pmpi() const { return pmpi_datatype; } - -#else - - // construction / destruction - inline Datatype() : mpi_datatype(MPI_DATATYPE_NULL) { } - inline virtual ~Datatype() {} - // inter-language operability - inline Datatype(MPI_Datatype i) : mpi_datatype(i) { } - - // copy / assignment - inline Datatype(const Datatype& dt) : mpi_datatype(dt.mpi_datatype) { } - inline Datatype& operator=(const Datatype& dt) { - mpi_datatype = dt.mpi_datatype; return *this; } - - // comparison - inline bool operator== (const Datatype &a) const - { return (bool) (mpi_datatype == a.mpi_datatype); } - - inline bool operator!= (const Datatype &a) const - { return (bool) !(*this == a); } - - // inter-language operability - inline Datatype& operator= (const MPI_Datatype &i) - { mpi_datatype = i; return *this; } - - inline operator MPI_Datatype () const { return mpi_datatype; } - // inline operator MPI_Datatype* ()/* JGS const */ { return &mpi_datatype; } - -#endif - - // - // User Defined Functions - // - typedef int Copy_attr_function(const Datatype& oldtype, - int type_keyval, - void* extra_state, - const void* attribute_val_in, - void* attribute_val_out, - bool& flag); - - typedef int Delete_attr_function(Datatype& type, int type_keyval, - void* attribute_val, void* extra_state); - - // - // Point-to-Point Communication - // - - virtual Datatype Create_contiguous(int count) const; - - virtual Datatype Create_vector(int count, int blocklength, - int stride) const; - - virtual Datatype Create_indexed(int count, - const int array_of_blocklengths[], - const int array_of_displacements[]) const; - - static Datatype Create_struct(int count, const int array_of_blocklengths[], - const Aint array_of_displacements[], - const Datatype array_if_types[]); - - virtual Datatype Create_hindexed(int count, const int array_of_blocklengths[], - const Aint array_of_displacements[]) const; - - virtual Datatype Create_hvector(int count, int blocklength, Aint stride) const; - - virtual Datatype Create_indexed_block(int count, int blocklength, - const int array_of_blocklengths[]) const; - virtual Datatype Create_resized(const Aint lb, const Aint extent) const; - - virtual int Get_size() const; - - virtual void Get_extent(Aint& lb, Aint& extent) const; - - virtual void Get_true_extent(Aint&, Aint&) const; - - virtual void Commit(); - - virtual void Free(); - - virtual void Pack(const void* inbuf, int incount, void *outbuf, - int outsize, int& position, const Comm &comm) const; - - virtual void Unpack(const void* inbuf, int insize, void *outbuf, int outcount, - int& position, const Comm& comm) const; - - virtual int Pack_size(int incount, const Comm& comm) const; - - virtual void Pack_external(const char* datarep, const void* inbuf, int incount, - void* outbuf, Aint outsize, Aint& position) const; - - virtual Aint Pack_external_size(const char* datarep, int incount) const; - - virtual void Unpack_external(const char* datarep, const void* inbuf, - Aint insize, Aint& position, void* outbuf, int outcount) const; - - // - // Miscellany - // - virtual Datatype Create_subarray(int ndims, const int array_of_sizes[], - const int array_of_subsizes[], - const int array_of_starts[], int order) - const; - - virtual Datatype Create_darray(int size, int rank, int ndims, - const int array_of_gsizes[], const int array_of_distribs[], - const int array_of_dargs[], const int array_of_psizes[], - int order) const; - - // Language Binding - static Datatype Create_f90_complex(int p, int r); - - static Datatype Create_f90_integer(int r); - - static Datatype Create_f90_real(int p, int r); - - static Datatype Match_size(int typeclass, int size); - - // - // External Interfaces - // - - virtual Datatype Dup() const; - - // Need 4 overloaded versions of this function because per the - // MPI-2 spec, you can mix-n-match the C predefined functions with - // C++ functions. - static int Create_keyval(Copy_attr_function* type_copy_attr_fn, - Delete_attr_function* type_delete_attr_fn, - void* extra_state); - static int Create_keyval(MPI_Type_copy_attr_function* type_copy_attr_fn, - MPI_Type_delete_attr_function* type_delete_attr_fn, - void* extra_state); - static int Create_keyval(Copy_attr_function* type_copy_attr_fn, - MPI_Type_delete_attr_function* type_delete_attr_fn, - void* extra_state); - static int Create_keyval(MPI_Type_copy_attr_function* type_copy_attr_fn, - Delete_attr_function* type_delete_attr_fn, - void* extra_state); - -protected: - // Back-end function to do the heavy lifting for creating the - // keyval - static int do_create_keyval(MPI_Type_copy_attr_function* c_copy_fn, - MPI_Type_delete_attr_function* c_delete_fn, - Copy_attr_function* cxx_copy_fn, - Delete_attr_function* cxx_delete_fn, - void* extra_state, int &keyval); - -public: - - virtual void Delete_attr(int type_keyval); - - static void Free_keyval(int& type_keyval); - - virtual bool Get_attr(int type_keyval, void* attribute_val) const; - - virtual void Get_contents(int max_integers, int max_addresses, - int max_datatypes, int array_of_integers[], - Aint array_of_addresses[], - Datatype array_of_datatypes[]) const; - - virtual void Get_envelope(int& num_integers, int& num_addresses, - int& num_datatypes, int& combiner) const; - - virtual void Get_name(char* type_name, int& resultlen) const; - - virtual void Set_attr(int type_keyval, const void* attribute_val); - - virtual void Set_name(const char* type_name); - - - -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ -private: - PMPI::Datatype pmpi_datatype; -#else -protected: - MPI_Datatype mpi_datatype; -#endif - -public: - // Data that is passed through keyval create when C++ callback - // functions are used - struct keyval_intercept_data_t { - MPI_Type_copy_attr_function *c_copy_fn; - MPI_Type_delete_attr_function *c_delete_fn; - Copy_attr_function* cxx_copy_fn; - Delete_attr_function* cxx_delete_fn; - void *extra_state; - }; - - // Protect the global list from multiple thread access - static opal_mutex_t cxx_extra_states_lock; -}; diff --git a/ompi/mpi/cxx/datatype_inln.h b/ompi/mpi/cxx/datatype_inln.h deleted file mode 100644 index af02e56d1b..0000000000 --- a/ompi/mpi/cxx/datatype_inln.h +++ /dev/null @@ -1,418 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2006-2008 Sun Microsystems, Inc. All rights reserved. -// Copyright (c) 2011 FUJITSU LIMITED. All rights reserved. - -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - - -// -// Point-to-Point Communication -// - -inline MPI::Datatype -MPI::Datatype::Create_contiguous(int count) const -{ - MPI_Datatype newtype; - (void)MPI_Type_contiguous(count, mpi_datatype, &newtype); - return newtype; -} - -inline MPI::Datatype -MPI::Datatype::Create_vector(int count, int blocklength, - int stride) const -{ - MPI_Datatype newtype; - (void)MPI_Type_vector(count, blocklength, stride, mpi_datatype, &newtype); - return newtype; -} - -inline MPI::Datatype -MPI::Datatype::Create_indexed(int count, - const int array_of_blocklengths[], - const int array_of_displacements[]) const -{ - MPI_Datatype newtype; - (void)MPI_Type_indexed(count, const_cast(array_of_blocklengths), - const_cast(array_of_displacements), mpi_datatype, &newtype); - return newtype; -} - -inline MPI::Datatype -MPI::Datatype::Create_struct(int count, const int array_of_blocklengths[], - const MPI::Aint array_of_displacements[], - const MPI::Datatype array_of_types[]) -{ - MPI_Datatype newtype; - int i; - MPI_Datatype* type_array = new MPI_Datatype[count]; - for (i=0; i < count; i++) - type_array[i] = array_of_types[i]; - - (void)MPI_Type_create_struct(count, const_cast(array_of_blocklengths), - const_cast(array_of_displacements), - type_array, &newtype); - delete[] type_array; - return newtype; -} - -inline MPI::Datatype -MPI::Datatype::Create_hindexed(int count, const int array_of_blocklengths[], - const MPI::Aint array_of_displacements[]) const -{ - MPI_Datatype newtype; - (void)MPI_Type_create_hindexed(count, const_cast(array_of_blocklengths), - const_cast(array_of_displacements), - mpi_datatype, &newtype) ; - return newtype; -} - -inline MPI::Datatype -MPI::Datatype::Create_hvector(int count, int blocklength, - MPI::Aint stride) const -{ - MPI_Datatype newtype; - (void)MPI_Type_create_hvector(count, blocklength, (MPI_Aint)stride, - mpi_datatype, &newtype); - - return newtype; -} - -inline MPI::Datatype -MPI::Datatype::Create_indexed_block(int count, int blocklength, - const int array_of_displacements[]) const -{ - MPI_Datatype newtype; - (void)MPI_Type_create_indexed_block(count, blocklength, const_cast(array_of_displacements), - mpi_datatype, &newtype); - return newtype; -} - -inline MPI::Datatype -MPI::Datatype::Create_resized(const MPI::Aint lb, const MPI::Aint extent) const -{ - MPI_Datatype newtype; - - (void) MPI_Type_create_resized(mpi_datatype, lb, extent, &newtype); - return(newtype); -} - -inline int -MPI::Datatype::Get_size() const -{ - int size; - (void)MPI_Type_size(mpi_datatype, &size); - return size; -} - -inline void -MPI::Datatype::Get_extent(MPI::Aint& lb, MPI::Aint& extent) const -{ - (void)MPI_Type_get_extent(mpi_datatype, &lb, &extent); -} - -inline void -MPI::Datatype::Get_true_extent(MPI::Aint& lb, MPI::Aint& extent) const -{ - (void) MPI_Type_get_true_extent(mpi_datatype, &lb, &extent); -} - -inline void -MPI::Datatype::Commit() -{ - (void)MPI_Type_commit(&mpi_datatype); -} - -inline void -MPI::Datatype::Pack(const void* inbuf, int incount, - void *outbuf, int outsize, - int& position, const MPI::Comm &comm) const -{ - (void)MPI_Pack(const_cast(inbuf), incount, mpi_datatype, outbuf, - outsize, &position, comm); -} - -inline void -MPI::Datatype::Unpack(const void* inbuf, int insize, - void *outbuf, int outcount, int& position, - const MPI::Comm& comm) const -{ - (void)MPI_Unpack(const_cast(inbuf), insize, &position, - outbuf, outcount, mpi_datatype, comm); -} - -inline int -MPI::Datatype::Pack_size(int incount, const MPI::Comm& comm) const -{ - int size; - (void)MPI_Pack_size(incount, mpi_datatype, comm, &size); - return size; -} - -inline void -MPI::Datatype::Pack_external(const char* datarep, const void* inbuf, int incount, - void* outbuf, MPI::Aint outsize, MPI::Aint& position) const -{ - (void)MPI_Pack_external(const_cast(datarep), const_cast(inbuf), - incount, mpi_datatype, outbuf, outsize, &position); -} - -inline MPI::Aint -MPI::Datatype::Pack_external_size(const char* datarep, int incount) const -{ - MPI_Aint addr; - (void)MPI_Pack_external_size(const_cast(datarep), incount, mpi_datatype, &addr); - return addr; -} - -inline void -MPI::Datatype::Unpack_external(const char* datarep, const void* inbuf, - MPI::Aint insize, MPI::Aint& position, void* outbuf, int outcount) const -{ - (void)MPI_Unpack_external(const_cast(datarep), const_cast(inbuf), - insize, &position, outbuf, outcount, mpi_datatype); -} - -// -// Miscellany -// - -inline MPI::Datatype -MPI::Datatype::Create_subarray(int ndims, const int array_of_sizes[], - const int array_of_subsizes[], - const int array_of_starts[], int order) - const -{ - MPI_Datatype type; - (void) MPI_Type_create_subarray(ndims, const_cast(array_of_sizes), - const_cast(array_of_subsizes), - const_cast(array_of_starts), - order, mpi_datatype, &type); - return type; -} - -inline MPI::Datatype -MPI::Datatype::Create_darray(int size, int rank, int ndims, - const int array_of_gsizes[], const int array_of_distribs[], - const int array_of_dargs[], const int array_of_psizes[], - int order) const -{ - MPI_Datatype type; - (void) MPI_Type_create_darray(size, rank, ndims, - const_cast(array_of_gsizes), - const_cast(array_of_distribs), - const_cast(array_of_dargs), - const_cast(array_of_psizes), - order, mpi_datatype, &type); - return type; -} - -inline MPI::Datatype -MPI::Datatype::Create_f90_complex(int p, int r) -{ - MPI_Datatype type; - (void) MPI_Type_create_f90_complex(p, r, &type); - return type; -} - -inline MPI::Datatype -MPI::Datatype::Create_f90_integer(int r) -{ - MPI_Datatype type; - (void) MPI_Type_create_f90_integer(r, &type); - return type; -} - -inline MPI::Datatype -MPI::Datatype::Create_f90_real(int p, int r) -{ - MPI_Datatype type; - (void) MPI_Type_create_f90_real(p, r, &type); - return type; -} - -inline MPI::Datatype -MPI::Datatype::Match_size(int typeclass, int size) -{ - MPI_Datatype type; - (void) MPI_Type_match_size(typeclass, size, &type); - return type; -} - -// -// External Interfaces -// - - -inline MPI::Datatype -MPI::Datatype::Dup() const -{ - MPI_Datatype type; - (void) MPI_Type_dup(mpi_datatype, &type); - return type; -} - - -// 1) original Create_keyval that takes the first 2 arguments as C++ -// functions -inline int -MPI::Datatype::Create_keyval(MPI::Datatype::Copy_attr_function* type_copy_attr_fn, - MPI::Datatype::Delete_attr_function* type_delete_attr_fn, - void* extra_state) -{ - // Back-end function does the heavy lifting - int ret, keyval; - ret = do_create_keyval(NULL, NULL, - type_copy_attr_fn, type_delete_attr_fn, - extra_state, keyval); - return (MPI_SUCCESS == ret) ? keyval : ret; -} - -// 2) overload Create_keyval to take the first 2 arguments as C -// functions -inline int -MPI::Datatype::Create_keyval(MPI_Type_copy_attr_function* type_copy_attr_fn, - MPI_Type_delete_attr_function* type_delete_attr_fn, - void* extra_state) -{ - // Back-end function does the heavy lifting - int ret, keyval; - ret = do_create_keyval(type_copy_attr_fn, type_delete_attr_fn, - NULL, NULL, - extra_state, keyval); - return (MPI_SUCCESS == ret) ? keyval : ret; -} - -// 3) overload Create_keyval to take the first 2 arguments as C++ & C -// functions -inline int -MPI::Datatype::Create_keyval(MPI::Datatype::Copy_attr_function* type_copy_attr_fn, - MPI_Type_delete_attr_function* type_delete_attr_fn, - void* extra_state) -{ - // Back-end function does the heavy lifting - int ret, keyval; - ret = do_create_keyval(NULL, type_delete_attr_fn, - type_copy_attr_fn, NULL, - extra_state, keyval); - return (MPI_SUCCESS == ret) ? keyval : ret; -} - -// 4) overload Create_keyval to take the first 2 arguments as C & C++ -// functions -inline int -MPI::Datatype::Create_keyval(MPI_Type_copy_attr_function* type_copy_attr_fn, - MPI::Datatype::Delete_attr_function* type_delete_attr_fn, - void* extra_state) -{ - // Back-end function does the heavy lifting - int ret, keyval; - ret = do_create_keyval(type_copy_attr_fn, NULL, - NULL, type_delete_attr_fn, - extra_state, keyval); - return (MPI_SUCCESS == ret) ? keyval : ret; -} - -inline void -MPI::Datatype::Delete_attr(int type_keyval) -{ - (void) MPI_Type_delete_attr(mpi_datatype, type_keyval); -} - -inline void -MPI::Datatype::Free_keyval(int& type_keyval) -{ - (void) MPI_Type_free_keyval(&type_keyval); -} - -inline bool -MPI::Datatype::Get_attr(int type_keyval, - void* attribute_val) const -{ - int ret; - (void) MPI_Type_get_attr(mpi_datatype, type_keyval, attribute_val, &ret); - return OPAL_INT_TO_BOOL(ret); -} - - -inline void -MPI::Datatype::Get_contents(int max_integers, int max_addresses, - int max_datatypes, int array_of_integers[], - MPI::Aint array_of_addresses[], - MPI::Datatype array_of_datatypes[]) const -{ - int i; - MPI_Datatype *c_datatypes = new MPI_Datatype[max_datatypes]; - - (void) MPI_Type_get_contents(mpi_datatype, max_integers, max_addresses, - max_datatypes, - const_cast(array_of_integers), - const_cast(array_of_addresses), - c_datatypes); - // Convert the C MPI_Datatypes to the user's OUT MPI::Datatype - // array parameter - for (i = 0; i < max_datatypes; ++i) { - array_of_datatypes[i] = c_datatypes[i]; - } - delete[] c_datatypes; -} - -inline void -MPI::Datatype::Get_envelope(int& num_integers, int& num_addresses, - int& num_datatypes, int& combiner) const -{ - (void) MPI_Type_get_envelope(mpi_datatype, &num_integers, &num_addresses, - &num_datatypes, &combiner); -} - -inline void -MPI::Datatype::Get_name(char* type_name, int& resultlen) const -{ - (void) MPI_Type_get_name(mpi_datatype, type_name, &resultlen); -} - -inline void -MPI::Datatype::Set_attr(int type_keyval, const void* attribute_val) -{ - (void) MPI_Type_set_attr(mpi_datatype, type_keyval, const_cast(attribute_val)); -} - -inline void -MPI::Datatype::Set_name(const char* type_name) -{ - (void) MPI_Type_set_name(mpi_datatype, const_cast(type_name)); -} - - -#if 0 -// -// User Defined Functions -// - -typedef int MPI::Datatype::Copy_attr_function(const Datatype& oldtype, - int type_keyval, - void* extra_state, - void* attribute_val_in, - void* attribute_val_out, - bool& flag); - -typedef int MPI::Datatype::Delete_attr_function(Datatype& type, - int type_keyval, - void* attribute_val, - void* extra_state); -#endif diff --git a/ompi/mpi/cxx/errhandler.h b/ompi/mpi/cxx/errhandler.h deleted file mode 100644 index 2253087c0e..0000000000 --- a/ompi/mpi/cxx/errhandler.h +++ /dev/null @@ -1,63 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2006-2008 Cisco Systems, Inc. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -class Errhandler { -public: - // construction / destruction - inline Errhandler() - : mpi_errhandler(MPI_ERRHANDLER_NULL) {} - - inline virtual ~Errhandler() { } - - inline Errhandler(MPI_Errhandler i) - : mpi_errhandler(i) {} - - // copy / assignment - inline Errhandler(const Errhandler& e) : mpi_errhandler(e.mpi_errhandler) { } - - inline Errhandler& operator=(const Errhandler& e) { - mpi_errhandler = e.mpi_errhandler; - return *this; - } - - // comparison - inline bool operator==(const Errhandler &a) { - return (bool)(mpi_errhandler == a.mpi_errhandler); } - - inline bool operator!=(const Errhandler &a) { - return (bool)!(*this == a); } - - // inter-language operability - inline Errhandler& operator= (const MPI_Errhandler &i) { - mpi_errhandler = i; return *this; } - - inline operator MPI_Errhandler() const { return mpi_errhandler; } - - // inline operator MPI_Errhandler*() { return &mpi_errhandler; } - - // - // Errhandler access functions - // - - virtual void Free(); - -private: - MPI_Errhandler mpi_errhandler; -}; diff --git a/ompi/mpi/cxx/errhandler_inln.h b/ompi/mpi/cxx/errhandler_inln.h deleted file mode 100644 index 46d2430fb3..0000000000 --- a/ompi/mpi/cxx/errhandler_inln.h +++ /dev/null @@ -1,49 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - -inline PMPI::Errhandler::Errhandler(const PMPI::Errhandler& e) - : handler_fn(e.handler_fn), mpi_errhandler(e.mpi_errhandler) { } - -inline PMPI::Errhandler& -PMPI::Errhandler::operator=(const PMPI::Errhandler& e) -{ - handler_fn = e.handler_fn; - mpi_errhandler = e.mpi_errhandler; - return *this; -} - -inline bool -PMPI::Errhandler::operator==(const PMPI::Errhandler &a) -{ - return (MPI2CPP_BOOL_T)(mpi_errhandler == a.mpi_errhandler); -} - -#endif - -inline void -MPI::Errhandler::Free() -{ - (void)MPI_Errhandler_free(&mpi_errhandler); -} - - - - diff --git a/ompi/mpi/cxx/exception.h b/ompi/mpi/cxx/exception.h deleted file mode 100644 index df15a52c97..0000000000 --- a/ompi/mpi/cxx/exception.h +++ /dev/null @@ -1,74 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -class Exception { -public: - -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - - inline Exception(int ec) : pmpi_exception(ec) { } - - int Get_error_code() const; - - int Get_error_class() const; - - const char* Get_error_string() const; - -#else - - inline Exception(int ec) : error_code(ec), error_string(0), error_class(-1) { - (void)MPI_Error_class(error_code, &error_class); - int resultlen; - error_string = new char[MAX_ERROR_STRING]; - (void)MPI_Error_string(error_code, error_string, &resultlen); - } - inline ~Exception() { - delete[] error_string; - } - // Better put in a copy constructor here since we have a string; - // copy by value (from the default copy constructor) would be - // disasterous. - inline Exception(const Exception& a) - : error_code(a.error_code), error_class(a.error_class) - { - error_string = new char[MAX_ERROR_STRING]; - // Rather that force an include of , especially this - // late in the game (recall that this file is included deep in - // other .h files), we'll just do the copy ourselves. - for (int i = 0; i < MAX_ERROR_STRING; i++) - error_string[i] = a.error_string[i]; - } - - inline int Get_error_code() const { return error_code; } - - inline int Get_error_class() const { return error_class; } - - inline const char* Get_error_string() const { return error_string; } - -#endif - -protected: -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - PMPI::Exception pmpi_exception; -#else - int error_code; - char* error_string; - int error_class; -#endif -}; diff --git a/ompi/mpi/cxx/file.cc b/ompi/mpi/cxx/file.cc deleted file mode 100644 index fd4ebb0512..0000000000 --- a/ompi/mpi/cxx/file.cc +++ /dev/null @@ -1,185 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2006-2016 Los Alamos National Security, LLC. All rights -// reserved. -// Copyright (c) 2007-2009 Cisco Systems, Inc. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -// Do not include ompi_config.h before mpi.h because it causes -// malloc/free problems due to setting OMPI_BUILDING to 1 -#include "mpi.h" - -#include "ompi/constants.h" -#include "ompi/mpi/cxx/mpicxx.h" -#include "cxx_glue.h" - -void -MPI::File::Close() -{ - (void) MPI_File_close(&mpi_file); -} - - -MPI::Errhandler -MPI::File::Create_errhandler(MPI::File::Errhandler_function* function) -{ - return ompi_cxx_errhandler_create_file ((ompi_cxx_dummy_fn_t *) function); -} - - -// -// Infrastructure for MPI_REGISTER_DATAREP -// -// Similar to what we have to do in the F77 bindings: call the C -// MPI_Register_datarep function with "intercept" callback functions -// that conform to the C bindings. In these intercepts, convert the -// arguments to C++ calling convertions, and then invoke the actual -// C++ callbacks. - -// Data structure passed to the intercepts (see below). It is an OPAL -// list_item_t so that we can clean this memory up during -// MPI_FINALIZE. - -// Intercept function for read conversions -static int read_intercept_fn(void *userbuf, MPI_Datatype type_c, int count_c, - void *filebuf, MPI_Offset position_c, - void *extra_state) -{ - MPI::Datatype type_cxx(type_c); - MPI::Offset position_cxx(position_c); - ompi_cxx_intercept_file_extra_state_t *intercept_data = - (ompi_cxx_intercept_file_extra_state_t*) extra_state; - MPI::Datarep_conversion_function *read_fn_cxx = - (MPI::Datarep_conversion_function *) intercept_data->read_fn_cxx; - - read_fn_cxx (userbuf, type_cxx, count_c, filebuf, position_cxx, - intercept_data->extra_state_cxx); - return MPI_SUCCESS; -} - -// Intercept function for write conversions -static int write_intercept_fn(void *userbuf, MPI_Datatype type_c, int count_c, - void *filebuf, MPI_Offset position_c, - void *extra_state) -{ - MPI::Datatype type_cxx(type_c); - MPI::Offset position_cxx(position_c); - ompi_cxx_intercept_file_extra_state_t *intercept_data = - (ompi_cxx_intercept_file_extra_state_t*) extra_state; - MPI::Datarep_conversion_function *write_fn_cxx = - (MPI::Datarep_conversion_function *) intercept_data->write_fn_cxx; - - write_fn_cxx (userbuf, type_cxx, count_c, filebuf, position_cxx, - intercept_data->extra_state_cxx); - return MPI_SUCCESS; -} - -// Intercept function for extent calculations -static int extent_intercept_fn(MPI_Datatype type_c, MPI_Aint *file_extent_c, - void *extra_state) -{ - MPI::Datatype type_cxx(type_c); - MPI::Aint file_extent_cxx(*file_extent_c); - ompi_cxx_intercept_file_extra_state_t *intercept_data = - (ompi_cxx_intercept_file_extra_state_t*) extra_state; - MPI::Datarep_extent_function *extent_fn_cxx = - (MPI::Datarep_extent_function *) intercept_data->extent_fn_cxx; - - extent_fn_cxx (type_cxx, file_extent_cxx, intercept_data->extra_state_cxx); - *file_extent_c = file_extent_cxx; - return MPI_SUCCESS; -} - -// C++ bindings for MPI::Register_datarep -void -MPI::Register_datarep(const char* datarep, - Datarep_conversion_function* read_fn_cxx, - Datarep_conversion_function* write_fn_cxx, - Datarep_extent_function* extent_fn_cxx, - void* extra_state_cxx) -{ - ompi_cxx_intercept_file_extra_state_t *intercept; - - intercept = ompi_cxx_new_intercept_state ((void *) read_fn_cxx, (void *) write_fn_cxx, - (void *) extent_fn_cxx, extra_state_cxx); - if (NULL == intercept) { - ompi_cxx_errhandler_invoke_file (MPI_FILE_NULL, OMPI_ERR_OUT_OF_RESOURCE, - "MPI::Register_datarep"); - return; - } - - (void)MPI_Register_datarep (const_cast(datarep), read_intercept_fn, - write_intercept_fn, extent_intercept_fn, intercept); -} - - -void -MPI::Register_datarep(const char* datarep, - MPI_Datarep_conversion_function* read_fn_c, - Datarep_conversion_function* write_fn_cxx, - Datarep_extent_function* extent_fn_cxx, - void* extra_state_cxx) -{ - ompi_cxx_intercept_file_extra_state_t *intercept; - - intercept = ompi_cxx_new_intercept_state (NULL, (void *) write_fn_cxx, (void *) extent_fn_cxx, - extra_state_cxx); - if (NULL == intercept) { - ompi_cxx_errhandler_invoke_file (MPI_FILE_NULL, OMPI_ERR_OUT_OF_RESOURCE, - "MPI::Register_datarep"); - return; - } - - (void)MPI_Register_datarep (const_cast(datarep), read_fn_c, write_intercept_fn, - extent_intercept_fn, intercept); -} - - -void -MPI::Register_datarep(const char* datarep, - Datarep_conversion_function* read_fn_cxx, - MPI_Datarep_conversion_function* write_fn_c, - Datarep_extent_function* extent_fn_cxx, - void* extra_state_cxx) -{ - ompi_cxx_intercept_file_extra_state_t *intercept; - - intercept = ompi_cxx_new_intercept_state ((void *) read_fn_cxx, NULL, (void *) extent_fn_cxx, - extra_state_cxx); - if (NULL == intercept) { - ompi_cxx_errhandler_invoke_file (MPI_FILE_NULL, OMPI_ERR_OUT_OF_RESOURCE, - "MPI::Register_datarep"); - return; - } - - (void)MPI_Register_datarep (const_cast(datarep), read_intercept_fn, write_fn_c, - extent_intercept_fn, intercept); -} - - -void -MPI::Register_datarep(const char* datarep, - MPI_Datarep_conversion_function* read_fn_c, - MPI_Datarep_conversion_function* write_fn_c, - Datarep_extent_function* extent_fn_cxx, - void* extra_state_cxx) -{ - ompi_cxx_intercept_file_extra_state_t *intercept; - - intercept = ompi_cxx_new_intercept_state (NULL, NULL, (void *) extent_fn_cxx, extra_state_cxx); - if (NULL == intercept) { - ompi_cxx_errhandler_invoke_file (MPI_FILE_NULL, OMPI_ERR_OUT_OF_RESOURCE, - "MPI::Register_datarep"); - return; - } - - (void)MPI_Register_datarep (const_cast(datarep), read_fn_c, write_fn_c, - extent_intercept_fn, intercept); -} - - diff --git a/ompi/mpi/cxx/file.h b/ompi/mpi/cxx/file.h deleted file mode 100644 index 1cef5aff8f..0000000000 --- a/ompi/mpi/cxx/file.h +++ /dev/null @@ -1,317 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2006-2009 Cisco Systems, Inc. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -// Typedefs for C++ callbacks registered via MPI::Register_datarep -typedef void Datarep_extent_function(const Datatype& datatype, - Aint& file_extent, void* extra_state); -typedef void Datarep_conversion_function(void* userbuf, Datatype& datatype, - int count, void* filebuf, - Offset position, void* extra_state); - -// Both callback functions in C++ -void Register_datarep(const char* datarep, - Datarep_conversion_function* read_conversion_fn, - Datarep_conversion_function* write_conversion_fn, - Datarep_extent_function* dtype_file_extent_fn, - void* extra_state); - -// Overload for C read callback function (MPI_CONVERSION_FN_NULL) -void Register_datarep(const char* datarep, - MPI_Datarep_conversion_function* read_conversion_fn, - Datarep_conversion_function* write_conversion_fn, - Datarep_extent_function* dtype_file_extent_fn, - void* extra_state); - -// Overload for C write callback function (MPI_CONVERSION_FN_NULL) -void Register_datarep(const char* datarep, - Datarep_conversion_function* read_conversion_fn, - MPI_Datarep_conversion_function* write_conversion_fn, - Datarep_extent_function* dtype_file_extent_fn, - void* extra_state); - -// Overload for C read and write callback functions (MPI_CONVERSION_FN_NULL) -void Register_datarep(const char* datarep, - MPI_Datarep_conversion_function* read_conversion_fn, - MPI_Datarep_conversion_function* write_conversion_fn, - Datarep_extent_function* dtype_file_extent_fn, - void* extra_state); - -class File { -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - // friend class P; - -#endif - friend class MPI::Comm; //so I can access pmpi_file data member in comm.cc - friend class MPI::Request; //and also from request.cc - -public: -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - - // construction / destruction - File() { } - virtual ~File() { } - - - // copy / assignment - File(const File& data) : pmpi_file(data.pmpi_file) { } - - File(MPI_File i) : pmpi_file(i) { } - - File& operator=(const File& data) { - pmpi_file = data.pmpi_file; return *this; } - - // comparison, don't need for file - - // inter-language operability - File& operator= (const MPI_File &i) { - pmpi_file = i; return *this; } - operator MPI_File () const { return pmpi_file; } - // operator MPI_File* () const { return pmpi_file; } - operator const PMPI::File&() const { return pmpi_file; } - -#else - - File() : mpi_file(MPI_FILE_NULL) { } - // copy - File(const File& data) : mpi_file(data.mpi_file) { } - - File(MPI_File i) : mpi_file(i) { } - - virtual ~File() { } - - File& operator=(const File& data) { - mpi_file = data.mpi_file; return *this; } - - // comparison, don't need for file - - // inter-language operability - File& operator= (const MPI_File &i) { - mpi_file = i; return *this; } - operator MPI_File () const { return mpi_file; } - // operator MPI_File* () const { return (MPI_File*)&mpi_file; } - -#endif - - // from the I/o chapter of MPI - 2 - - void Close(); - - static void Delete(const char* filename, const MPI::Info& info); - - int Get_amode() const; - - bool Get_atomicity() const; - - MPI::Offset Get_byte_offset(const MPI::Offset disp) const; - - MPI::Group Get_group() const; - - MPI::Info Get_info() const; - - MPI::Offset Get_position() const; - - MPI::Offset Get_position_shared() const; - - MPI::Offset Get_size() const; - - MPI::Aint Get_type_extent(const MPI::Datatype& datatype) const; - - void Get_view(MPI::Offset& disp, MPI::Datatype& etype, - MPI::Datatype& filetype, char* datarep) const; - - MPI::Request Iread(void* buf, int count, - const MPI::Datatype& datatype); - - MPI::Request Iread_at(MPI::Offset offset, void* buf, int count, - const MPI::Datatype& datatype); - - MPI::Request Iread_shared(void* buf, int count, - const MPI::Datatype& datatype); - - MPI::Request Iwrite(const void* buf, int count, - const MPI::Datatype& datatype); - - MPI::Request Iwrite_at(MPI::Offset offset, const void* buf, - int count, const MPI::Datatype& datatype); - - MPI::Request Iwrite_shared(const void* buf, int count, - const MPI::Datatype& datatype); - - static MPI::File Open(const MPI::Intracomm& comm, - const char* filename, int amode, - const MPI::Info& info); - - void Preallocate(MPI::Offset size); - - void Read(void* buf, int count, const MPI::Datatype& datatype); - - void Read(void* buf, int count, const MPI::Datatype& datatype, - MPI::Status& status); - - void Read_all(void* buf, int count, const MPI::Datatype& datatype); - - void Read_all(void* buf, int count, const MPI::Datatype& datatype, - MPI::Status& status); - - void Read_all_begin(void* buf, int count, - const MPI::Datatype& datatype); - - void Read_all_end(void* buf); - - void Read_all_end(void* buf, MPI::Status& status); - - void Read_at(MPI::Offset offset, - void* buf, int count, const MPI::Datatype& datatype); - - void Read_at(MPI::Offset offset, void* buf, int count, - const MPI::Datatype& datatype, MPI::Status& status); - - void Read_at_all(MPI::Offset offset, void* buf, int count, - const MPI::Datatype& datatype); - - void Read_at_all(MPI::Offset offset, void* buf, int count, - const MPI::Datatype& datatype, MPI::Status& status); - - void Read_at_all_begin(MPI::Offset offset, void* buf, int count, - const MPI::Datatype& datatype); - - void Read_at_all_end(void* buf); - - void Read_at_all_end(void* buf, MPI::Status& status); - - void Read_ordered(void* buf, int count, - const MPI::Datatype& datatype); - - void Read_ordered(void* buf, int count, - const MPI::Datatype& datatype, - MPI::Status& status); - - void Read_ordered_begin(void* buf, int count, - const MPI::Datatype& datatype); - - void Read_ordered_end(void* buf); - - void Read_ordered_end(void* buf, MPI::Status& status); - - void Read_shared(void* buf, int count, - const MPI::Datatype& datatype); - - void Read_shared(void* buf, int count, - const MPI::Datatype& datatype, MPI::Status& status); - - void Seek(MPI::Offset offset, int whence); - - void Seek_shared(MPI::Offset offset, int whence); - - void Set_atomicity(bool flag); - - void Set_info(const MPI::Info& info); - - void Set_size(MPI::Offset size); - - void Set_view(MPI::Offset disp, const MPI::Datatype& etype, - const MPI::Datatype& filetype, const char* datarep, - const MPI::Info& info); - - void Sync(); - - void Write(const void* buf, int count, - const MPI::Datatype& datatype); - - void Write(const void* buf, int count, - const MPI::Datatype& datatype, MPI::Status& status); - - void Write_all(const void* buf, int count, - const MPI::Datatype& datatype); - - void Write_all(const void* buf, int count, - const MPI::Datatype& datatype, MPI::Status& status); - - void Write_all_begin(const void* buf, int count, - const MPI::Datatype& datatype); - - void Write_all_end(const void* buf); - - void Write_all_end(const void* buf, MPI::Status& status); - - void Write_at(MPI::Offset offset, const void* buf, int count, - const MPI::Datatype& datatype); - - void Write_at(MPI::Offset offset, const void* buf, int count, - const MPI::Datatype& datatype, MPI::Status& status); - - void Write_at_all(MPI::Offset offset, const void* buf, int count, - const MPI::Datatype& datatype); - - void Write_at_all(MPI::Offset offset, const void* buf, int count, - const MPI::Datatype& datatype, - MPI::Status& status); - - void Write_at_all_begin(MPI::Offset offset, const void* buf, - int count, const MPI::Datatype& datatype); - - void Write_at_all_end(const void* buf); - - void Write_at_all_end(const void* buf, MPI::Status& status); - - void Write_ordered(const void* buf, int count, - const MPI::Datatype& datatype); - - void Write_ordered(const void* buf, int count, - const MPI::Datatype& datatype, MPI::Status& status); - - void Write_ordered_begin(const void* buf, int count, - const MPI::Datatype& datatype); - - void Write_ordered_end(const void* buf); - - void Write_ordered_end(const void* buf, MPI::Status& status); - - void Write_shared(const void* buf, int count, - const MPI::Datatype& datatype); - - void Write_shared(const void* buf, int count, - const MPI::Datatype& datatype, MPI::Status& status); - - // - // Errhandler - // - typedef void Errhandler_function(MPI::File &, int *, ... ); - typedef Errhandler_function Errhandler_fn - __mpi_interface_deprecated__("MPI::File::Errhandler_fn was deprecated in MPI-2.2; use MPI::File::Errhandler_function instead"); - - static MPI::Errhandler Create_errhandler(Errhandler_function* function); - - MPI::Errhandler Get_errhandler() const; - - void Set_errhandler(const MPI::Errhandler& errhandler) const; - - void Call_errhandler(int errorcode) const; - -protected: -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - PMPI::File pmpi_file; - -#else - MPI_File mpi_file; - -#endif -}; - diff --git a/ompi/mpi/cxx/file_inln.h b/ompi/mpi/cxx/file_inln.h deleted file mode 100644 index 9930f69056..0000000000 --- a/ompi/mpi/cxx/file_inln.h +++ /dev/null @@ -1,655 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2008 Cisco Systems, Inc. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - - -inline void -MPI::File::Delete(const char* filename, const MPI::Info& info) -{ - (void) MPI_File_delete(const_cast(filename), info); -} - - -inline int -MPI::File::Get_amode() const -{ - int amode; - (void) MPI_File_get_amode(mpi_file, &amode); - return amode; -} - - -inline bool -MPI::File::Get_atomicity() const -{ - int flag; - (void) MPI_File_get_atomicity(mpi_file, &flag); - return OPAL_INT_TO_BOOL(flag); -} - -inline MPI::Offset -MPI::File::Get_byte_offset(const MPI::Offset disp) const -{ - MPI_Offset offset, ldisp; - ldisp = disp; - (void) MPI_File_get_byte_offset(mpi_file, ldisp, &offset); - return offset; -} - -inline MPI::Group -MPI::File::Get_group() const -{ - MPI_Group group; - (void) MPI_File_get_group(mpi_file, &group); - return group; -} - - -inline MPI::Info -MPI::File::Get_info() const -{ - MPI_Info info_used; - (void) MPI_File_get_info(mpi_file, &info_used); - return info_used; -} - - -inline MPI::Offset -MPI::File::Get_position() const -{ - MPI_Offset offset; - (void) MPI_File_get_position(mpi_file, &offset); - return offset; -} - - -inline MPI::Offset -MPI::File::Get_position_shared() const -{ - MPI_Offset offset; - (void) MPI_File_get_position_shared(mpi_file, &offset); - return offset; -} - - -inline MPI::Offset -MPI::File::Get_size() const -{ - MPI_Offset offset; - (void) MPI_File_get_size(mpi_file, &offset); - return offset; - -} - - -inline MPI::Aint -MPI::File::Get_type_extent(const MPI::Datatype& datatype) const -{ - MPI_Aint extent; - (void) MPI_File_get_type_extent(mpi_file, datatype, &extent); - return extent; -} - - -inline void -MPI::File::Get_view(MPI::Offset& disp, - MPI::Datatype& etype, - MPI::Datatype& filetype, - char* datarep) const -{ - MPI_Datatype type, ftype; - type = etype; - ftype = filetype; - MPI::Offset odisp = disp; - - (void) MPI_File_get_view(mpi_file, &odisp, &type, &ftype, - datarep); -} - - -inline MPI::Request -MPI::File::Iread(void* buf, int count, - const MPI::Datatype& datatype) -{ - MPI_Request req; - (void) MPI_File_iread(mpi_file, buf, count, datatype, &req); - return req; -} - - -inline MPI::Request -MPI::File::Iread_at(MPI::Offset offset, void* buf, int count, - const MPI::Datatype& datatype) -{ - MPI_Request req; - (void) MPI_File_iread_at(mpi_file, offset, buf, count, datatype, &req); - return req; -} - - -inline MPI::Request -MPI::File::Iread_shared(void* buf, int count, - const MPI::Datatype& datatype) -{ - MPI_Request req; - (void) MPI_File_iread_shared(mpi_file, buf, count, datatype, &req); - return req; -} - - -inline MPI::Request -MPI::File::Iwrite(const void* buf, int count, - const MPI::Datatype& datatype) -{ - MPI_Request req; - (void) MPI_File_iwrite(mpi_file, const_cast(buf), count, datatype, &req); - return req; -} - - -inline MPI::Request -MPI::File::Iwrite_at(MPI::Offset offset, const void* buf, - int count, const MPI::Datatype& datatype) -{ - MPI_Request req; - (void) MPI_File_iwrite_at(mpi_file, offset, const_cast(buf), count, datatype, - &req); - return req; -} - - -inline MPI::Request -MPI::File::Iwrite_shared(const void* buf, int count, - const MPI::Datatype& datatype) -{ - MPI_Request req; - (void) MPI_File_iwrite_shared(mpi_file, const_cast(buf), count, datatype, &req); - return req; -} - - -inline MPI::File -MPI::File::Open(const MPI::Intracomm& comm, - const char* filename, int amode, - const MPI::Info& info) -{ - MPI_File fh; - (void) MPI_File_open(comm, const_cast(filename), amode, info, &fh); - return fh; -} - - -inline void -MPI::File::Preallocate(MPI::Offset size) -{ - (void) MPI_File_preallocate(mpi_file, size); -} - - -inline void -MPI::File::Read(void* buf, int count, - const MPI::Datatype& datatype) -{ - MPI_Status status; - (void) MPI_File_read(mpi_file, buf, count, datatype, &status); -} - - -inline void -MPI::File::Read(void* buf, int count, - const MPI::Datatype& datatype, - MPI::Status& status) -{ - (void) MPI_File_read(mpi_file, buf, count, datatype, &status.mpi_status); -} - - -inline void -MPI::File::Read_all(void* buf, int count, - const MPI::Datatype& datatype) -{ - MPI_Status status; - (void) MPI_File_read_all(mpi_file, buf, count, datatype, &status); -} - - -inline void -MPI::File::Read_all(void* buf, int count, - const MPI::Datatype& datatype, - MPI::Status& status) -{ - (void) MPI_File_read_all(mpi_file, buf, count, datatype, &status.mpi_status); -} - - -inline void -MPI::File::Read_all_begin(void* buf, int count, - const MPI::Datatype& datatype) -{ - (void) MPI_File_read_all_begin(mpi_file, buf, count, datatype); -} - - -inline void -MPI::File::Read_all_end(void* buf) -{ - MPI_Status status; - (void) MPI_File_read_all_end(mpi_file, buf, &status); -} - - -inline void -MPI::File::Read_all_end(void* buf, MPI::Status& status) -{ - (void) MPI_File_read_all_end(mpi_file, buf, &status.mpi_status); -} - - -inline void -MPI::File::Read_at(MPI::Offset offset, - void* buf, int count, - const MPI::Datatype& datatype) -{ - MPI_Status status; - (void) MPI_File_read_at(mpi_file, offset, buf, count, datatype, &status); - -} - - -inline void -MPI::File::Read_at(MPI::Offset offset, void* buf, int count, - const MPI::Datatype& datatype, - MPI::Status& status) -{ - (void) MPI_File_read_at(mpi_file, offset, buf, count, datatype, - &status.mpi_status); -} - - -inline void -MPI::File::Read_at_all(MPI::Offset offset, void* buf, int count, - const MPI::Datatype& datatype) -{ - MPI_Status status; - (void) MPI_File_read_at_all(mpi_file, offset, buf, count, datatype, &status); -} - - -inline void -MPI::File::Read_at_all(MPI::Offset offset, void* buf, int count, - const MPI::Datatype& datatype, - MPI::Status& status) -{ - (void) MPI_File_read_at_all(mpi_file, offset, buf, count, datatype, - &status.mpi_status); -} - - -inline void -MPI::File::Read_at_all_begin(MPI::Offset offset, - void* buf, int count, - const MPI::Datatype& datatype) -{ - (void) MPI_File_read_at_all_begin(mpi_file, offset, buf, count, datatype); -} - - -inline void -MPI::File::Read_at_all_end(void* buf) -{ - MPI_Status status; - (void) MPI_File_read_at_all_end(mpi_file, buf, &status); -} - - -inline void -MPI::File::Read_at_all_end(void* buf, MPI::Status& status) -{ - (void) MPI_File_read_at_all_end(mpi_file, buf, &status.mpi_status); -} - - -inline void -MPI::File::Read_ordered(void* buf, int count, - const MPI::Datatype& datatype) -{ - MPI_Status status; - (void) MPI_File_read_ordered(mpi_file, buf, count, datatype, &status); -} - - -inline void -MPI::File::Read_ordered(void* buf, int count, - const MPI::Datatype& datatype, - MPI::Status& status) -{ - (void) MPI_File_read_ordered(mpi_file, buf, count, datatype, - &status.mpi_status); -} - - -inline void -MPI::File::Read_ordered_begin(void* buf, int count, - const MPI::Datatype& datatype) -{ - (void) MPI_File_read_ordered_begin(mpi_file, buf, count, datatype); -} - - -inline void -MPI::File::Read_ordered_end(void* buf) -{ - MPI_Status status; - (void) MPI_File_read_ordered_end(mpi_file, buf, &status); -} - - -inline void -MPI::File::Read_ordered_end(void* buf, MPI::Status& status) -{ - (void) MPI_File_read_ordered_end(mpi_file, buf, &status.mpi_status); -} - - -inline void -MPI::File::Read_shared(void* buf, int count, - const MPI::Datatype& datatype) -{ - MPI_Status status; - (void) MPI_File_read_shared(mpi_file, buf, count, datatype, &status); -} - - -inline void -MPI::File::Read_shared(void* buf, int count, - const MPI::Datatype& datatype, - MPI::Status& status) -{ - (void) MPI_File_read_shared(mpi_file, buf, count, datatype, - &status.mpi_status); -} - -inline void -MPI::File::Seek(MPI::Offset offset, int whence) -{ - (void) MPI_File_seek(mpi_file, offset, whence); -} - - -inline void -MPI::File::Seek_shared(MPI::Offset offset, int whence) -{ - (void) MPI_File_seek_shared(mpi_file, offset, whence); -} - - -inline void -MPI::File::Set_atomicity(bool flag) -{ - (void) MPI_File_set_atomicity(mpi_file, flag); -} - - -inline void -MPI::File::Set_info(const MPI::Info& info) -{ - (void) MPI_File_set_info(mpi_file, info); -} - - -inline void -MPI::File::Set_size(MPI::Offset size) -{ - (void) MPI_File_set_size(mpi_file, size); -} - - -inline void -MPI::File::Set_view(MPI::Offset disp, - const MPI::Datatype& etype, - const MPI::Datatype& filetype, - const char* datarep, - const MPI::Info& info) -{ - (void) MPI_File_set_view(mpi_file, disp, etype, filetype, const_cast(datarep), - info); -} - - -inline void -MPI::File::Sync() -{ - (void) MPI_File_sync(mpi_file); -} - - -inline void -MPI::File::Write(const void* buf, int count, - const MPI::Datatype& datatype) -{ - MPI_Status status; - (void) MPI_File_write(mpi_file, const_cast(buf), count, datatype, &status); -} - - -inline void -MPI::File::Write(const void* buf, int count, - const MPI::Datatype& datatype, - MPI::Status& status) -{ - (void) MPI_File_write(mpi_file, const_cast(buf), count, datatype, - &status.mpi_status); -} - - -inline void -MPI::File::Write_all(const void* buf, int count, - const MPI::Datatype& datatype) -{ - MPI_Status status; - (void) MPI_File_write_all(mpi_file, const_cast(buf), count, datatype, &status); -} - - - -inline void -MPI::File::Write_all(const void* buf, int count, - const MPI::Datatype& datatype, - MPI::Status& status) -{ - (void) MPI_File_write_all(mpi_file, const_cast(buf), count, datatype, - &status.mpi_status); -} - - -inline void -MPI::File::Write_all_begin(const void* buf, int count, - const MPI::Datatype& datatype) -{ - (void) MPI_File_write_all_begin(mpi_file, const_cast(buf), count, datatype); -} - - -inline void -MPI::File::Write_all_end(const void* buf) -{ - MPI_Status status; - (void) MPI_File_write_all_end(mpi_file, const_cast(buf), &status); -} - - -inline void -MPI::File::Write_all_end(const void* buf, MPI::Status& status) -{ - (void) MPI_File_write_all_end(mpi_file, const_cast(buf), &status.mpi_status); -} - - -inline void -MPI::File::Write_at(MPI::Offset offset, - const void* buf, int count, - const MPI::Datatype& datatype) -{ - MPI_Status status; - (void) MPI_File_write_at(mpi_file, offset, const_cast(buf), count, - datatype, &status); -} - - -inline void -MPI::File::Write_at(MPI::Offset offset, - const void* buf, int count, - const MPI::Datatype& datatype, - MPI::Status& status) -{ - (void) MPI_File_write_at(mpi_file, offset, const_cast(buf), count, - datatype, &status.mpi_status); -} - - -inline void -MPI::File::Write_at_all(MPI::Offset offset, - const void* buf, int count, - const MPI::Datatype& datatype) -{ - MPI_Status status; - (void) MPI_File_write_at_all(mpi_file, offset, const_cast(buf), count, - datatype, &status); -} - - -inline void -MPI::File::Write_at_all(MPI::Offset offset, - const void* buf, int count, - const MPI::Datatype& datatype, - MPI::Status& status) -{ - (void) MPI_File_write_at_all(mpi_file, offset, const_cast(buf), count, - datatype, &status.mpi_status); -} - - -inline void -MPI::File::Write_at_all_begin(MPI::Offset offset, - const void* buf, int count, - const MPI::Datatype& datatype) -{ - (void) MPI_File_write_at_all_begin(mpi_file, offset, const_cast(buf), count, - datatype); -} - - -inline void -MPI::File::Write_at_all_end(const void* buf) -{ - MPI_Status status; - (void) MPI_File_write_at_all_end(mpi_file, const_cast(buf), &status); -} - - -inline void -MPI::File::Write_at_all_end(const void* buf, MPI::Status& status) -{ - (void) MPI_File_write_at_all_end(mpi_file, const_cast(buf), &status.mpi_status); -} - - -inline void -MPI::File::Write_ordered(const void* buf, int count, - const MPI::Datatype& datatype) -{ - MPI_Status status; - (void) MPI_File_write_ordered(mpi_file, const_cast(buf), count, datatype, - &status); -} - - -inline void -MPI::File::Write_ordered(const void* buf, int count, - const MPI::Datatype& datatype, - MPI::Status& status) -{ - (void) MPI_File_write_ordered(mpi_file, const_cast(buf), count, datatype, - &status.mpi_status); -} - - -inline void -MPI::File::Write_ordered_begin(const void* buf, int count, - const MPI::Datatype& datatype) -{ - (void) MPI_File_write_ordered_begin(mpi_file, const_cast(buf), count, datatype); -} - - -inline void -MPI::File::Write_ordered_end(const void* buf) -{ - MPI_Status status; - (void) MPI_File_write_ordered_end(mpi_file, const_cast(buf), &status); -} - - -inline void -MPI::File::Write_ordered_end(const void* buf, - MPI::Status& status) -{ - (void) MPI_File_write_ordered_end(mpi_file, const_cast(buf), &status.mpi_status); -} - - -inline void -MPI::File::Write_shared(const void* buf, int count, - const MPI::Datatype& datatype) -{ - MPI_Status status; - (void) MPI_File_write_shared(mpi_file, const_cast(buf), count, - datatype, &status); -} - - -inline void -MPI::File::Write_shared(const void* buf, int count, - const MPI::Datatype& datatype, MPI::Status& status) -{ - (void) MPI_File_write_shared(mpi_file, const_cast(buf), count, - datatype, &status.mpi_status); -} - - -inline void -MPI::File::Set_errhandler(const MPI::Errhandler& errhandler) const -{ - (void)MPI_File_set_errhandler(mpi_file, errhandler); -} - - -inline MPI::Errhandler -MPI::File::Get_errhandler() const -{ - MPI_Errhandler errhandler; - MPI_File_get_errhandler(mpi_file, &errhandler); - return errhandler; -} - -inline void -MPI::File::Call_errhandler(int errorcode) const -{ - (void) MPI_File_call_errhandler(mpi_file, errorcode); -} diff --git a/ompi/mpi/cxx/functions.h b/ompi/mpi/cxx/functions.h deleted file mode 100644 index b86ccef2d5..0000000000 --- a/ompi/mpi/cxx/functions.h +++ /dev/null @@ -1,156 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2008 Cisco Systems, Inc. All rights reserved. -// Copyright (c) 2011 FUJITSU LIMITED. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -// -// Point-to-Point Communication -// - -void -Attach_buffer(void* buffer, int size); - -int -Detach_buffer(void*& buffer); - -// -// Process Topologies -// - -void -Compute_dims(int nnodes, int ndims, int dims[]); - -// -// Environmental Inquiry -// - -int -Add_error_class(); - -int -Add_error_code(int errorclass); - -void -Add_error_string(int errorcode, const char* string); - -void -Get_processor_name(char* name, int& resultlen); - -void -Get_error_string(int errorcode, char* string, int& resultlen); - -int -Get_error_class(int errorcode); - -double -Wtime(); - -double -Wtick(); - -void -Init(int& argc, char**& argv); - -void -Init(); - -OMPI_DECLSPEC void -InitializeIntercepts(); - -void -Real_init(); - -void -Finalize(); - -bool -Is_initialized(); - -bool -Is_finalized(); - -// -// External Interfaces -// - -int -Init_thread(int &argc, char**&argv, int required); - -int -Init_thread(int required); - -bool -Is_thread_main(); - -int -Query_thread(); - - -// -// Miscellany -// - - -void* -Alloc_mem(Aint size, const Info& info); - - -void -Free_mem(void* base); - -// -// Process Creation -// - -void -Close_port(const char* port_name); - - -void -Lookup_name(const char* service_name, const Info& info, char* port_name); - - -void -Open_port(const Info& info, char* port_name); - - -void -Publish_name(const char* service_name, const Info& info, - const char* port_name); - -void -Unpublish_name(const char* service_name, const Info& info, - const char* port_name); - -// -// Profiling -// - -void -Pcontrol(const int level, ...); - -void -Get_version(int& version, int& subversion); - -MPI::Aint -Get_address(void* location); - - - - diff --git a/ompi/mpi/cxx/functions_inln.h b/ompi/mpi/cxx/functions_inln.h deleted file mode 100644 index 8ea793677d..0000000000 --- a/ompi/mpi/cxx/functions_inln.h +++ /dev/null @@ -1,295 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2008 Cisco Systems, Inc. All rights reserved. -// Copyright (c) 2011 FUJITSU LIMITED. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -#include - -// -// Point-to-Point Communication -// - -inline void -MPI::Attach_buffer(void* buffer, int size) -{ - (void)MPI_Buffer_attach(buffer, size); -} - -inline int -MPI::Detach_buffer(void*& buffer) -{ - int size; - (void)MPI_Buffer_detach(&buffer, &size); - return size; -} - -// -// Process Topologies -// - -inline void -MPI::Compute_dims(int nnodes, int ndims, int dims[]) -{ - (void)MPI_Dims_create(nnodes, ndims, dims); -} - - -// -// Environmental Inquiry -// - -inline int -MPI::Add_error_class() -{ - int errcls; - (void)MPI_Add_error_class(&errcls); - return errcls; -} - -inline int -MPI::Add_error_code(int errorclass) -{ - int errcode; - (void)MPI_Add_error_code(errorclass, &errcode); - return errcode; -} - -inline void -MPI::Add_error_string(int errorcode, const char* string) -{ - (void)MPI_Add_error_string(errorcode, const_cast(string)); -} - -inline void -MPI::Get_processor_name(char* name, int& resultlen) -{ - (void)MPI_Get_processor_name(name, &resultlen); -} - -inline void -MPI::Get_error_string(int errorcode, char* string, int& resultlen) -{ - (void)MPI_Error_string(errorcode, string, &resultlen); -} - -inline int -MPI::Get_error_class(int errorcode) -{ - int errorclass; - (void)MPI_Error_class(errorcode, &errorclass); - return errorclass; -} - -inline double -MPI::Wtime() -{ - return (MPI_Wtime()); -} - -inline double -MPI::Wtick() -{ - return (MPI_Wtick()); -} - -inline void -MPI::Real_init() -{ - MPI::InitializeIntercepts(); -} - - -inline void -MPI::Init(int& argc, char**& argv) -{ - (void)MPI_Init(&argc, &argv); - Real_init(); -} - -inline void -MPI::Init() -{ - (void)MPI_Init(0, 0); - Real_init(); -} - -inline void -MPI::Finalize() -{ - (void)MPI_Finalize(); -} - -inline bool -MPI::Is_initialized() -{ - int t; - (void)MPI_Initialized(&t); - return OPAL_INT_TO_BOOL(t); -} - -inline bool -MPI::Is_finalized() -{ - int t; - (void)MPI_Finalized(&t); - return OPAL_INT_TO_BOOL(t); -} - - -// -// External Interfaces -// - -inline int -MPI::Init_thread(int required) -{ - int provided; - (void) MPI_Init_thread(0, NULL, required, &provided); - Real_init(); - return provided; -} - - -inline int -MPI::Init_thread(int& argc, char**& argv, int required) -{ - int provided; - (void) MPI_Init_thread(&argc, &argv, required, &provided); - Real_init(); - return provided; -} - - -inline bool -MPI::Is_thread_main() -{ - int flag; - (void) MPI_Is_thread_main(&flag); - return OPAL_INT_TO_BOOL(flag == 1); -} - - -inline int -MPI::Query_thread() -{ - int provided; - (void) MPI_Query_thread(&provided); - return provided; -} - - -// -// Miscellany -// - - -inline void* -MPI::Alloc_mem(MPI::Aint size, const MPI::Info& info) -{ - void* baseptr; - (void) MPI_Alloc_mem(size, info, &baseptr); - return baseptr; -} - - -inline void -MPI::Free_mem(void* base) -{ - (void) MPI_Free_mem(base); -} - - -// -// Process Creation -// - - -inline void -MPI::Close_port(const char* port_name) -{ - (void) MPI_Close_port(const_cast(port_name)); -} - - -inline void -MPI::Lookup_name(const char * service_name, - const MPI::Info& info, - char* port_name) -{ - (void) MPI_Lookup_name(const_cast(service_name), info, port_name); -} - - -inline void -MPI::Open_port(const MPI::Info& info, char* port_name) -{ - (void) MPI_Open_port(info, port_name); -} - - -inline void -MPI::Publish_name(const char* service_name, - const MPI::Info& info, - const char* port_name) -{ - (void) MPI_Publish_name(const_cast(service_name), info, - const_cast(port_name)); -} - - -inline void -MPI::Unpublish_name(const char* service_name, - const MPI::Info& info, - const char* port_name) -{ - (void)MPI_Unpublish_name(const_cast(service_name), info, - const_cast(port_name)); -} - - - -// -// Profiling -// - -inline void -MPI::Pcontrol(const int level, ...) -{ - va_list ap; - va_start(ap, level); - - (void)MPI_Pcontrol(level, ap); - va_end(ap); -} - - -inline void -MPI::Get_version(int& version, int& subversion) -{ - (void)MPI_Get_version(&version, &subversion); -} - - -inline MPI::Aint -MPI::Get_address(void* location) -{ - MPI::Aint ret; - MPI_Get_address(location, &ret); - return ret; -} diff --git a/ompi/mpi/cxx/group.h b/ompi/mpi/cxx/group.h deleted file mode 100644 index e8423ea88a..0000000000 --- a/ompi/mpi/cxx/group.h +++ /dev/null @@ -1,124 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2006 Cisco Systems, Inc. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -class Group { -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - // friend class PMPI::Group; -#endif -public: - -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - - // construction - inline Group() { } - inline Group(MPI_Group i) : pmpi_group(i) { } - // copy - inline Group(const Group& g) : pmpi_group(g.pmpi_group) { } - - inline Group(const PMPI::Group& g) : pmpi_group(g) { } - - inline virtual ~Group() {} - - Group& operator=(const Group& g) { - pmpi_group = g.pmpi_group; return *this; - } - - // comparison - inline bool operator== (const Group &a) { - return (bool)(pmpi_group == a.pmpi_group); - } - inline bool operator!= (const Group &a) { - return (bool)!(*this == a); - } - - // inter-language operability - Group& operator= (const MPI_Group &i) { pmpi_group = i; return *this; } - inline operator MPI_Group () const { return pmpi_group.mpi(); } - // inline operator MPI_Group* () const { return pmpi_group; } - inline operator const PMPI::Group&() const { return pmpi_group; } - - const PMPI::Group& pmpi() { return pmpi_group; } -#else - - // construction - inline Group() : mpi_group(MPI_GROUP_NULL) { } - inline Group(MPI_Group i) : mpi_group(i) { } - - // copy - inline Group(const Group& g) : mpi_group(g.mpi_group) { } - - inline virtual ~Group() {} - - inline Group& operator=(const Group& g) { mpi_group = g.mpi_group; return *this; } - - // comparison - inline bool operator== (const Group &a) { return (bool)(mpi_group == a.mpi_group); } - inline bool operator!= (const Group &a) { return (bool)!(*this == a); } - - // inter-language operability - inline Group& operator= (const MPI_Group &i) { mpi_group = i; return *this; } - inline operator MPI_Group () const { return mpi_group; } - // inline operator MPI_Group* () const { return (MPI_Group*)&mpi_group; } - - inline MPI_Group mpi() const { return mpi_group; } - -#endif - - // - // Groups, Contexts, and Communicators - // - - virtual int Get_size() const; - - virtual int Get_rank() const; - - static void Translate_ranks (const Group& group1, int n, const int ranks1[], - const Group& group2, int ranks2[]); - - static int Compare(const Group& group1, const Group& group2); - - static Group Union(const Group &group1, const Group &group2); - - static Group Intersect(const Group &group1, const Group &group2); - - static Group Difference(const Group &group1, const Group &group2); - - virtual Group Incl(int n, const int ranks[]) const; - - virtual Group Excl(int n, const int ranks[]) const; - - virtual Group Range_incl(int n, const int ranges[][3]) const; - - virtual Group Range_excl(int n, const int ranges[][3]) const; - - virtual void Free(); - -protected: -#if ! 0 /* OMPI_ENABLE_MPI_PROFILING */ - MPI_Group mpi_group; -#endif - -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ -private: - PMPI::Group pmpi_group; -#endif - -}; - diff --git a/ompi/mpi/cxx/group_inln.h b/ompi/mpi/cxx/group_inln.h deleted file mode 100644 index 5b2dab11b7..0000000000 --- a/ompi/mpi/cxx/group_inln.h +++ /dev/null @@ -1,129 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2016 Cisco Systems, Inc. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -// -// Groups, Contexts, and Communicators -// - -inline int -MPI::Group::Get_size() const -{ - int size; - (void)MPI_Group_size(mpi_group, &size); - return size; -} - -inline int -MPI::Group::Get_rank() const -{ - int myrank; - (void)MPI_Group_rank(mpi_group, &myrank); - return myrank; -} - -inline void -MPI::Group::Translate_ranks (const MPI::Group& group1, int n, - const int ranks1[], - const MPI::Group& group2, int ranks2[]) -{ - (void)MPI_Group_translate_ranks(group1, n, const_cast(ranks1), group2, const_cast(ranks2)); -} - -inline int -MPI::Group::Compare(const MPI::Group& group1, const MPI::Group& group2) -{ - int result; - (void)MPI_Group_compare(group1, group2, &result); - return result; -} - -inline MPI::Group -MPI::Group::Union(const MPI::Group &group1, const MPI::Group &group2) -{ - MPI_Group newgroup; - (void)MPI_Group_union(group1, group2, &newgroup); - return newgroup; -} - -inline MPI::Group -MPI::Group::Intersect(const MPI::Group &group1, const MPI::Group &group2) -{ - MPI_Group newgroup; - (void)MPI_Group_intersection( group1, group2, &newgroup); - return newgroup; -} - -inline MPI::Group -MPI::Group::Difference(const MPI::Group &group1, const MPI::Group &group2) -{ - MPI_Group newgroup; - (void)MPI_Group_difference(group1, group2, &newgroup); - return newgroup; -} - -inline MPI::Group -MPI::Group::Incl(int n, const int ranks[]) const -{ - MPI_Group newgroup; - (void)MPI_Group_incl(mpi_group, n, const_cast(ranks), &newgroup); - return newgroup; -} - -inline MPI::Group -MPI::Group::Excl(int n, const int ranks[]) const -{ - MPI_Group newgroup; - (void)MPI_Group_excl(mpi_group, n, const_cast(ranks), &newgroup); - return newgroup; -} - -inline MPI::Group -MPI::Group::Range_incl(int n, const int ranges[][3]) const -{ - MPI_Group newgroup; - (void)MPI_Group_range_incl(mpi_group, n, -#if OMPI_CXX_SUPPORTS_2D_CONST_CAST - const_cast(ranges), -#else - (int(*)[3]) ranges, -#endif - &newgroup); - return newgroup; -} - -inline MPI::Group -MPI::Group::Range_excl(int n, const int ranges[][3]) const -{ - MPI_Group newgroup; - (void)MPI_Group_range_excl(mpi_group, n, -#if OMPI_CXX_SUPPORTS_2D_CONST_CAST - const_cast(ranges), -#else - (int(*)[3]) ranges, -#endif - &newgroup); - return newgroup; -} - -inline void -MPI::Group::Free() -{ - (void)MPI_Group_free(&mpi_group); -} diff --git a/ompi/mpi/cxx/info.h b/ompi/mpi/cxx/info.h deleted file mode 100644 index d3bc73489c..0000000000 --- a/ompi/mpi/cxx/info.h +++ /dev/null @@ -1,103 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2006-2008 Cisco Systems, Inc. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - - -class Info { -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - // friend class PMPI::Info; -#endif - friend class MPI::Comm; //so I can access pmpi_info data member in comm.cc - friend class MPI::Request; //and also from request.cc - -public: -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - - // construction / destruction - Info() { } - virtual ~Info() {} - - - // copy / assignment - Info(const Info& data) : pmpi_info(data.pmpi_info) { } - - Info(MPI_Info i) : pmpi_info(i) { } - - Info& operator=(const Info& data) { - pmpi_info = data.pmpi_info; return *this; } - - // comparison, don't need for info - - // inter-language operability - Info& operator= (const MPI_Info &i) { - pmpi_info = i; return *this; } - operator MPI_Info () const { return pmpi_info; } - // operator MPI_Info* () const { return pmpi_info; } - operator const PMPI::Info&() const { return pmpi_info; } - - -#else - - Info() : mpi_info(MPI_INFO_NULL) { } - // copy - Info(const Info& data) : mpi_info(data.mpi_info) { } - - Info(MPI_Info i) : mpi_info(i) { } - - virtual ~Info() {} - - Info& operator=(const Info& data) { - mpi_info = data.mpi_info; return *this; } - - // comparison, don't need for info - - // inter-language operability - Info& operator= (const MPI_Info &i) { - mpi_info = i; return *this; } - operator MPI_Info () const { return mpi_info; } - // operator MPI_Info* () const { return (MPI_Info*)&mpi_info; } - -#endif - - static Info Create(); - - virtual void Delete(const char* key); - - virtual Info Dup() const; - - virtual void Free(); - - virtual bool Get(const char* key, int valuelen, char* value) const; - - virtual int Get_nkeys() const; - - virtual void Get_nthkey(int n, char* key) const; - - virtual bool Get_valuelen(const char* key, int& valuelen) const; - - virtual void Set(const char* key, const char* value); - -protected: -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - PMPI::Info pmpi_info; -#else - MPI_Info mpi_info; -#endif - -}; diff --git a/ompi/mpi/cxx/info_inln.h b/ompi/mpi/cxx/info_inln.h deleted file mode 100644 index b68fa8039d..0000000000 --- a/ompi/mpi/cxx/info_inln.h +++ /dev/null @@ -1,83 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - - -inline MPI::Info -MPI::Info::Create() -{ - MPI_Info newinfo; - (void) MPI_Info_create(&newinfo); - return newinfo; -} - -inline void -MPI::Info::Delete(const char* key) -{ - (void)MPI_Info_delete(mpi_info, const_cast(key)); -} - -inline MPI::Info -MPI::Info::Dup() const -{ - MPI_Info newinfo; - (void)MPI_Info_dup(mpi_info, &newinfo); - return newinfo; -} - -inline void -MPI::Info::Free() -{ - (void) MPI_Info_free(&mpi_info); -} - -inline bool -MPI::Info::Get(const char* key, int valuelen, char* value) const -{ - int flag; - (void)MPI_Info_get(mpi_info, const_cast(key), valuelen, value, &flag); - return OPAL_INT_TO_BOOL(flag); -} - -inline int -MPI::Info::Get_nkeys() const -{ - int nkeys; - MPI_Info_get_nkeys(mpi_info, &nkeys); - return nkeys; -} - -inline void -MPI::Info::Get_nthkey(int n, char* key) const -{ - (void) MPI_Info_get_nthkey(mpi_info, n, key); -} - -inline bool -MPI::Info::Get_valuelen(const char* key, int& valuelen) const -{ - int flag; - (void) MPI_Info_get_valuelen(mpi_info, const_cast(key), &valuelen, &flag); - return OPAL_INT_TO_BOOL(flag); -} - -inline void -MPI::Info::Set(const char* key, const char* value) -{ - (void) MPI_Info_set(mpi_info, const_cast(key), const_cast(value)); -} diff --git a/ompi/mpi/cxx/intercepts.cc b/ompi/mpi/cxx/intercepts.cc deleted file mode 100644 index 331074c150..0000000000 --- a/ompi/mpi/cxx/intercepts.cc +++ /dev/null @@ -1,511 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2006-2009 Cisco Systems, Inc. All rights reserved. -// Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. -// Copyright (c) 2016 Los Alamos National Security, LLC. All rights -// reserved. -// Copyright (c) 2017 Research Organization for Information Science -// and Technology (RIST). All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - - -#include "mpicxx.h" -#include - -#include "ompi_config.h" -#include "cxx_glue.h" - -extern "C" -void ompi_mpi_cxx_throw_exception(int *errcode) -{ -#if OMPI_HAVE_CXX_EXCEPTION_SUPPORT - throw(MPI::Exception(*errcode)); -#else - // Ick. This is really ugly, but necesary if someone uses a C compiler - // and -lmpi++ (which can legally happen in the LAM MPI implementation, - // and probably in MPICH and others who include -lmpi++ by default in their - // wrapper compilers) - fprintf(stderr, "MPI 2 C++ exception throwing is disabled, MPI::mpi_errno has the error code\n"); - MPI::mpi_errno = *errcode; -#endif -} - -extern "C" -void ompi_mpi_cxx_comm_throw_excptn_fctn(MPI_Comm *, int *errcode, ...) -{ - /* Portland compiler raises a warning if va_start is not used in a - * variable argument function */ - va_list ap; - va_start(ap, errcode); - ompi_mpi_cxx_throw_exception(errcode); - va_end(ap); -} - -extern "C" -void ompi_mpi_cxx_file_throw_excptn_fctn(MPI_File *, int *errcode, ...) -{ - va_list ap; - va_start(ap, errcode); - ompi_mpi_cxx_throw_exception(errcode); - va_end(ap); -} - -extern "C" -void ompi_mpi_cxx_win_throw_excptn_fctn(MPI_Win *, int *errcode, ...) -{ - va_list ap; - va_start(ap, errcode); - ompi_mpi_cxx_throw_exception(errcode); - va_end(ap); -} - - -void -MPI::InitializeIntercepts() -{ - ompi_cxx_errhandler_set_callbacks ((struct ompi_errhandler_t *) &ompi_mpi_errors_throw_exceptions, - ompi_mpi_cxx_comm_throw_excptn_fctn, - ompi_mpi_cxx_file_throw_excptn_fctn, - ompi_mpi_cxx_win_throw_excptn_fctn); -} - - -// This function uses OMPI types, and is invoked with C linkage for -// the express purpose of having a C++ entity call back the C++ -// function (so that types can be converted, etc.). -extern "C" -void ompi_mpi_cxx_comm_errhandler_invoke(MPI_Comm *c_comm, int *err, - const char *message, void *comm_fn) -{ - // MPI::Comm is an abstract base class; can't instantiate one of - // those. So fake it by instantiating an MPI::Intracomm and then - // casting it down to an (MPI::Comm&) when invoking the callback. - MPI::Intracomm cxx_comm(*c_comm); - MPI::Comm::Errhandler_function *cxx_fn = - (MPI::Comm::Errhandler_function*) comm_fn; - - cxx_fn((MPI::Comm&) cxx_comm, err, message); -} - -// This function uses OMPI types, and is invoked with C linkage for -// the express purpose of having a C++ entity call back the C++ -// function (so that types can be converted, etc.). -extern "C" -void ompi_mpi_cxx_file_errhandler_invoke(MPI_File *c_file, int *err, - const char *message, void *file_fn) -{ - MPI::File cxx_file(*c_file); - MPI::File::Errhandler_function *cxx_fn = - (MPI::File::Errhandler_function*) file_fn; - - cxx_fn(cxx_file, err, message); -} - -// This function uses OMPI types, and is invoked with C linkage for -// the express purpose of having a C++ entity call back the C++ -// function (so that types can be converted, etc.). -extern "C" -void ompi_mpi_cxx_win_errhandler_invoke(MPI_Win *c_win, int *err, - const char *message, void *win_fn) -{ - MPI::Win cxx_win(*c_win); - MPI::Win::Errhandler_function *cxx_fn = - (MPI::Win::Errhandler_function*) win_fn; - - cxx_fn(cxx_win, err, message); -} - -// This is a bit weird; bear with me. The user-supplied function for -// MPI::Op contains a C++ object reference. So it must be called from -// a C++-compiled function. However, libmpi does not contain any C++ -// code because there are portability and bootstrapping issues -// involved if someone tries to make a 100% C application link against -// a libmpi that contains C++ code. At a minimum, the user will have -// to use the C++ compiler to link. LA-MPI has shown that users don't -// want to do this (there are other problems, but this one is easy to -// cite). -// -// Hence, there are two problems when trying to invoke the user's -// callback funcion from an MPI::Op: -// -// 1. The MPI_Datatype that the C library has must be converted to an -// (MPI::Datatype) -// 2. The C++ callback function must then be called with a -// (MPI::Datatype&) -// -// Some relevant facts for the discussion: -// -// - The main engine for invoking Op callback functions is in libmpi -// (i.e., in C code). -// -// - The C++ bindings are a thin layer on top of the C bindings. -// -// - The C++ bindings are a separate library from the C bindings -// (libmpi_cxx.la). -// -// - As a direct result, the mpiCC wrapper compiler must generate a -// link order thus: "... -lmpi_cxx -lmpi ...", meaning that we cannot -// have a direct function call from the libmpi to libmpi_cxx. We can -// only do it by function pointer. -// -// So the problem remains -- how to invoke a C++ MPI::Op callback -// function (which only occurrs for user-defined datatypes, BTW) from -// within the C Op callback engine in libmpi? -// -// It is easy to cache a function pointer to the -// ompi_mpi_cxx_op_intercept() function on the MPI_Op (that is located -// in the libmpi_cxx library, and is therefore compiled with a C++ -// compiler). But the normal C callback MPI_User_function type -// signature is (void*, void*, int*, MPI_Datatype*) -- so if -// ompi_mpi_cxx_op_intercept() is invoked with these arguments, it has -// no way to deduce what the user-specified callback function is that -// is associated with the MPI::Op. -// -// One can easily imagine a scenario of caching the callback pointer -// of the current MPI::Op in a global variable somewhere, and when -// ompi_mpi_cxx_op_intercept() is invoked, simply use that global -// variable. This is unfortunately not thread safe. -// -// So what we do is as follows: -// -// 1. The C++ dispatch function ompi_mpi_cxx_op_intercept() is *not* -// of type (MPI_User_function*). More specifically, it takes an -// additional argument: a function pointer. its signature is (void*, -// void*, int*, MPI_Datatype*, MPI_Op*, MPI::User_function*). This -// last argument is the function pointer of the user callback function -// to be invoked. -// -// The careful reader will notice that it is impossible for the C Op -// dispatch code in libmpi to call this function properly because the -// last argument is of a type that is not defined in libmpi (i.e., -// it's only in libmpi_cxx). Keep reading -- this is explained below. -// -// 2. When the MPI::Op is created (in MPI::Op::Init()), we call the -// back-end C MPI_Op_create() function as normal (just like the F77 -// bindings, in fact), and pass it the ompi_mpi_cxx_op_intercept() -// function (casting it to (MPI_User_function*) -- it's a function -// pointer, so its size is guaranteed to be the same, even if the -// signature of the real function is different). -// -// 3. The function pointer to ompi_mpi_cxx_op_intercept() will be -// cached in the MPI_Op in op->o_func[0].cxx_intercept_fn. -// -// Recall that MPI_Op is implemented to have an array of function -// pointers so that optimized versions of reduction operations can be -// invoked based on the corresponding datatype. But when an MPI_Op -// represents a user-defined function operation, there is only one -// function, so it is always stored in function pointer array index 0. -// -// 4. When MPI_Op_create() returns, the C++ MPI::Op::Init function -// manually sets OMPI_OP_FLAGS_CXX_FUNC flag on the resulting MPI_Op -// (again, very similar to the F77 MPI_OP_CREATE wrapper). It also -// caches the user's C++ callback function in op->o_func[1].c_fn -// (recall that the array of function pointers is actually a union of -// multiple different function pointer types -- it doesn't matter -// which type the user's callback function pointer is stored in; since -// all the types in the union are function pointers, it's guaranteed -// to be large enough to hold what we need. -// -// Note that we don't have a member of the union for the C++ callback -// function because its signature includes a (MPI::Datatype&), which -// we can't put in the C library libmpi. -// -// 5. When the user invokes an function that uses the MPI::Op (or, -// more specifically, when the Op dispatch engine in ompi/op/op.c [in -// libmpi] tries to dispatch off to it), it will see the -// OMPI_OP_FLAGS_CXX_FUNC flag and know to use the -// op->o_func[0].cxx_intercept_fn and also pass as the 4th argument, -// op->o_func[1].c_fn. -// -// 6. ompi_mpi_cxx_op_intercept() is therefore invoked and receives -// both the (MPI_Datatype*) (which is easy to convert to -// (MPI::Datatype&)) and a pointer to the user's C++ callback function -// (albiet cast as the wrong type). So it casts the callback function -// pointer to (MPI::User_function*) and invokes it. -// -// Wasn't that simple? -// -extern "C" void -ompi_mpi_cxx_op_intercept(void *invec, void *outvec, int *len, - MPI_Datatype *datatype, MPI_User_function *c_fn) -{ - MPI::Datatype cxx_datatype = *datatype; - MPI::User_function *cxx_callback = (MPI::User_function*) c_fn; - cxx_callback(invec, outvec, *len, cxx_datatype); -} - -// -// Attribute copy functions -- comm, type, and win -// -extern "C" int -ompi_mpi_cxx_comm_copy_attr_intercept(MPI_Comm comm, int keyval, - void *extra_state, - void *attribute_val_in, - void *attribute_val_out, int *flag, - MPI_Comm newcomm) -{ - int ret = 0; - MPI::Comm::keyval_intercept_data_t *kid = - (MPI::Comm::keyval_intercept_data_t*) extra_state; - - // The callback may be in C or C++. If it's in C, it's easy - just - // call it with no extra C++ machinery. - - if (NULL != kid->c_copy_fn) { - return kid->c_copy_fn(comm, keyval, kid->extra_state, attribute_val_in, - attribute_val_out, flag); - } - - // If the callback was C++, we have to do a little more work - - MPI::Intracomm intracomm; - MPI::Intercomm intercomm; - MPI::Graphcomm graphcomm; - MPI::Cartcomm cartcomm; - - bool bflag = OPAL_INT_TO_BOOL(*flag); - - if (NULL != kid->cxx_copy_fn) { - ompi_cxx_communicator_type_t comm_type = - ompi_cxx_comm_get_type (comm); - switch (comm_type) { - case OMPI_CXX_COMM_TYPE_GRAPH: - graphcomm = MPI::Graphcomm(comm); - ret = kid->cxx_copy_fn(graphcomm, keyval, kid->extra_state, - attribute_val_in, attribute_val_out, - bflag); - break; - case OMPI_CXX_COMM_TYPE_CART: - cartcomm = MPI::Cartcomm(comm); - ret = kid->cxx_copy_fn(cartcomm, keyval, kid->extra_state, - attribute_val_in, attribute_val_out, - bflag); - break; - case OMPI_CXX_COMM_TYPE_INTRACOMM: - intracomm = MPI::Intracomm(comm); - ret = kid->cxx_copy_fn(intracomm, keyval, kid->extra_state, - attribute_val_in, attribute_val_out, - bflag); - break; - case OMPI_CXX_COMM_TYPE_INTERCOMM: - intercomm = MPI::Intercomm(comm); - ret = kid->cxx_copy_fn(intercomm, keyval, kid->extra_state, - attribute_val_in, attribute_val_out, - bflag); - break; - default: - ret = MPI::ERR_COMM; - } - } else { - ret = MPI::ERR_OTHER; - } - - *flag = (int)bflag; - return ret; -} - -extern "C" int -ompi_mpi_cxx_comm_delete_attr_intercept(MPI_Comm comm, int keyval, - void *attribute_val, void *extra_state) -{ - int ret = 0; - MPI::Comm::keyval_intercept_data_t *kid = - (MPI::Comm::keyval_intercept_data_t*) extra_state; - - // The callback may be in C or C++. If it's in C, it's easy - just - // call it with no extra C++ machinery. - - if (NULL != kid->c_delete_fn) { - return kid->c_delete_fn(comm, keyval, attribute_val, kid->extra_state); - } - - // If the callback was C++, we have to do a little more work - - MPI::Intracomm intracomm; - MPI::Intercomm intercomm; - MPI::Graphcomm graphcomm; - MPI::Cartcomm cartcomm; - - if (NULL != kid->cxx_delete_fn) { - ompi_cxx_communicator_type_t comm_type = - ompi_cxx_comm_get_type (comm); - switch (comm_type) { - case OMPI_CXX_COMM_TYPE_GRAPH: - graphcomm = MPI::Graphcomm(comm); - ret = kid->cxx_delete_fn(graphcomm, keyval, attribute_val, - kid->extra_state); - break; - case OMPI_CXX_COMM_TYPE_CART: - cartcomm = MPI::Cartcomm(comm); - ret = kid->cxx_delete_fn(cartcomm, keyval, attribute_val, - kid->extra_state); - break; - case OMPI_CXX_COMM_TYPE_INTRACOMM: - intracomm = MPI::Intracomm(comm); - ret = kid->cxx_delete_fn(intracomm, keyval, attribute_val, - kid->extra_state); - break; - case OMPI_CXX_COMM_TYPE_INTERCOMM: - intercomm = MPI::Intercomm(comm); - ret = kid->cxx_delete_fn(intercomm, keyval, attribute_val, - kid->extra_state); - break; - default: - ret = MPI::ERR_COMM; - } - } else { - ret = MPI::ERR_OTHER; - } - - return ret; -} - -extern "C" int -ompi_mpi_cxx_type_copy_attr_intercept(MPI_Datatype oldtype, int keyval, - void *extra_state, void *attribute_val_in, - void *attribute_val_out, int *flag) -{ - int ret = 0; - MPI::Datatype::keyval_intercept_data_t *kid = - (MPI::Datatype::keyval_intercept_data_t*) extra_state; - - - if (NULL != kid->c_copy_fn) { - // The callback may be in C or C++. If it's in C, it's easy - just - // call it with no extra C++ machinery. - ret = kid->c_copy_fn(oldtype, keyval, kid->extra_state, attribute_val_in, - attribute_val_out, flag); - } else if (NULL != kid->cxx_copy_fn) { - // If the callback was C++, we have to do a little more work - bool bflag = OPAL_INT_TO_BOOL(*flag); - MPI::Datatype cxx_datatype(oldtype); - ret = kid->cxx_copy_fn(cxx_datatype, keyval, kid->extra_state, - attribute_val_in, attribute_val_out, bflag); - *flag = (int)bflag; - } else { - ret = MPI::ERR_TYPE; - } - - return ret; -} - -extern "C" int -ompi_mpi_cxx_type_delete_attr_intercept(MPI_Datatype type, int keyval, - void *attribute_val, void *extra_state) -{ - int ret = 0; - MPI::Datatype::keyval_intercept_data_t *kid = - (MPI::Datatype::keyval_intercept_data_t*) extra_state; - - if (NULL != kid->c_delete_fn) { - return kid->c_delete_fn(type, keyval, attribute_val, kid->extra_state); - } else if (NULL != kid->cxx_delete_fn) { - MPI::Datatype cxx_datatype(type); - return kid->cxx_delete_fn(cxx_datatype, keyval, attribute_val, - kid->extra_state); - } else { - ret = MPI::ERR_TYPE; - } - - return ret; -} - -extern "C" int -ompi_mpi_cxx_win_copy_attr_intercept(MPI_Win oldwin, int keyval, - void *extra_state, void *attribute_val_in, - void *attribute_val_out, int *flag) -{ - int ret = 0; - MPI::Win::keyval_intercept_data_t *kid = - (MPI::Win::keyval_intercept_data_t*) extra_state; - - if (NULL != kid->c_copy_fn) { - // The callback may be in C or C++. If it's in C, it's easy - just - // call it with no extra C++ machinery. - ret = kid->c_copy_fn(oldwin, keyval, kid->extra_state, attribute_val_in, - attribute_val_out, flag); - } else if (NULL != kid->cxx_copy_fn) { - // If the callback was C++, we have to do a little more work - bool bflag = OPAL_INT_TO_BOOL(*flag); - MPI::Win cxx_win(oldwin); - ret = kid->cxx_copy_fn(cxx_win, keyval, kid->extra_state, - attribute_val_in, attribute_val_out, bflag); - *flag = (int)bflag; - } else { - ret = MPI::ERR_WIN; - } - - return ret; -} - -extern "C" int -ompi_mpi_cxx_win_delete_attr_intercept(MPI_Win win, int keyval, - void *attribute_val, void *extra_state) -{ - int ret = 0; - MPI::Win::keyval_intercept_data_t *kid = - (MPI::Win::keyval_intercept_data_t*) extra_state; - - if (NULL != kid->c_delete_fn) { - return kid->c_delete_fn(win, keyval, attribute_val, kid->extra_state); - } else if (NULL != kid->cxx_delete_fn) { - MPI::Win cxx_win(win); - return kid->cxx_delete_fn(cxx_win, keyval, attribute_val, - kid->extra_state); - } else { - ret = MPI::ERR_WIN; - } - - return ret; -} - -// For similar reasons as above, we need to intercept calls for the 3 -// generalized request callbacks (convert arguments to C++ types and -// invoke the C++ callback signature). - -extern "C" int -ompi_mpi_cxx_grequest_query_fn_intercept(void *state, MPI_Status *status) -{ - MPI::Grequest::Intercept_data_t *data = - (MPI::Grequest::Intercept_data_t *) state; - - MPI::Status s(*status); - int ret = data->id_cxx_query_fn(data->id_extra, s); - *status = s; - return ret; -} - -extern "C" int -ompi_mpi_cxx_grequest_free_fn_intercept(void *state) -{ - MPI::Grequest::Intercept_data_t *data = - (MPI::Grequest::Intercept_data_t *) state; - int ret = data->id_cxx_free_fn(data->id_extra); - // Delete the struct that was "new"ed in MPI::Grequest::Start() - delete data; - return ret; -} - -extern "C" int -ompi_mpi_cxx_grequest_cancel_fn_intercept(void *state, int cancelled) -{ - MPI::Grequest::Intercept_data_t *data = - (MPI::Grequest::Intercept_data_t *) state; - return data->id_cxx_cancel_fn(data->id_extra, - (0 != cancelled ? true : false)); -} diff --git a/ompi/mpi/cxx/intercomm.h b/ompi/mpi/cxx/intercomm.h deleted file mode 100644 index 12d63de995..0000000000 --- a/ompi/mpi/cxx/intercomm.h +++ /dev/null @@ -1,87 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2006 Cisco Systems, Inc. All rights reserved. -// Copyright (c) 2011 FUJITSU LIMITED. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - - -class Intercomm : public Comm { -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - // friend class PMPI::Intercomm; -#endif -public: - - // construction - Intercomm() : Comm(MPI_COMM_NULL) { } - // copy - Intercomm(const Comm_Null& data) : Comm(data) { } - // inter-language operability - Intercomm(MPI_Comm data) : Comm(data) { } - -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - // copy - Intercomm(const Intercomm& data) : Comm(data), pmpi_comm(data.pmpi_comm) { } - Intercomm(const PMPI::Intercomm& d) : - Comm((const PMPI::Comm&)d), pmpi_comm(d) { } - - // assignment - Intercomm& operator=(const Intercomm& data) { - Comm::operator=(data); - pmpi_comm = data.pmpi_comm; return *this; } - Intercomm& operator=(const Comm_Null& data) { - Comm::operator=(data); - Intercomm& ic = (Intercomm&)data; - pmpi_comm = ic.pmpi_comm; return *this; } - // inter-language operability - Intercomm& operator=(const MPI_Comm& data) { - Comm::operator=(data); - pmpi_comm = PMPI::Intercomm(data); return *this; } -#else - // copy - Intercomm(const Intercomm& data) : Comm(data.mpi_comm) { } - // assignment - Intercomm& operator=(const Intercomm& data) { - mpi_comm = data.mpi_comm; return *this; } - Intercomm& operator=(const Comm_Null& data) { - mpi_comm = data; return *this; } - // inter-language operability - Intercomm& operator=(const MPI_Comm& data) { - mpi_comm = data; return *this; } - -#endif - - - // - // Groups, Contexts, and Communicators - // - - Intercomm Dup() const; - - virtual Intercomm& Clone() const; - - virtual int Get_remote_size() const; - - virtual Group Get_remote_group() const; - - virtual Intracomm Merge(bool high) const; - - virtual Intercomm Create(const Group& group) const; - - virtual Intercomm Split(int color, int key) const; - -}; diff --git a/ompi/mpi/cxx/intercomm_inln.h b/ompi/mpi/cxx/intercomm_inln.h deleted file mode 100644 index 964abe89b3..0000000000 --- a/ompi/mpi/cxx/intercomm_inln.h +++ /dev/null @@ -1,81 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2011 FUJITSU LIMITED. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -inline MPI::Intercomm -MPI::Intercomm::Dup() const -{ - MPI_Comm newcomm; - (void)MPI_Comm_dup(mpi_comm, &newcomm); - return newcomm; -} - -inline MPI::Intercomm& -MPI::Intercomm::Clone() const -{ - MPI_Comm newcomm; - (void)MPI_Comm_dup(mpi_comm, &newcomm); - MPI::Intercomm* dup = new MPI::Intercomm(newcomm); - return *dup; -} - -inline int -MPI::Intercomm::Get_remote_size() const -{ - int size; - (void)MPI_Comm_remote_size(mpi_comm, &size); - return size; -} - -inline MPI::Group -MPI::Intercomm::Get_remote_group() const -{ - MPI_Group group; - (void)MPI_Comm_remote_group(mpi_comm, &group); - return group; -} - -inline MPI::Intracomm -MPI::Intercomm::Merge(bool high) const -{ - MPI_Comm newcomm; - (void)MPI_Intercomm_merge(mpi_comm, (int)high, &newcomm); - return newcomm; -} - - -// -// Extended Collective Operations -// - -inline MPI::Intercomm -MPI::Intercomm::Create(const Group& group) const -{ - MPI_Comm newcomm; - (void) MPI_Comm_create(mpi_comm, (MPI_Group) group, &newcomm); - return newcomm; -} - -inline MPI::Intercomm -MPI::Intercomm::Split(int color, int key) const -{ - MPI_Comm newcomm; - (void) MPI_Comm_split(mpi_comm, color, key, &newcomm); - return newcomm; -} diff --git a/ompi/mpi/cxx/intracomm.h b/ompi/mpi/cxx/intracomm.h deleted file mode 100644 index 984cb3a4b4..0000000000 --- a/ompi/mpi/cxx/intracomm.h +++ /dev/null @@ -1,166 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2006 Cisco Systems, Inc. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -class Intracomm : public Comm { -public: - - // construction - Intracomm() { } - // copy - Intracomm(const Comm_Null& data) : Comm(data) { } - // inter-language operability - -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - //NOTE: it is extremely important that Comm(data) happens below - // because there is a not only pmpi_comm in this Intracomm but - // there is also a pmpi_comm in the inherited Comm part. Both - // of these pmpi_comm's need to be initialized with the same - // MPI_Comm object. Also the assignment operators must take this - // into account. - Intracomm(const Intracomm& data) : Comm(data), pmpi_comm(data) { } - - Intracomm(MPI_Comm data) : Comm(data), pmpi_comm(data) { } - - Intracomm(const PMPI::Intracomm& data) - : Comm((const PMPI::Comm&)data), pmpi_comm(data) { } - - // assignment - Intracomm& operator=(const Intracomm& data) { - Comm::operator=(data); - pmpi_comm = data.pmpi_comm; - return *this; - } - Intracomm& operator=(const Comm_Null& data) { - Comm::operator=(data); - pmpi_comm = (PMPI::Intracomm)data; return *this; - } - // inter-language operability - Intracomm& operator=(const MPI_Comm& data) { - Comm::operator=(data); - pmpi_comm = data; - return *this; - } - -#else - Intracomm(const Intracomm& data) : Comm(data.mpi_comm) { } - - inline Intracomm(MPI_Comm data); - - // assignment - Intracomm& operator=(const Intracomm& data) { - mpi_comm = data.mpi_comm; return *this; - } - - Intracomm& operator=(const Comm_Null& data) { - mpi_comm = data; return *this; - } - - // inter-language operability - Intracomm& operator=(const MPI_Comm& data) { - mpi_comm = data; return *this; } - -#endif - - // - // Collective Communication - // - // All the rest are up in comm.h -- Scan and Exscan are not defined - // in intercomm's, so they're down here in Intracomm. - // - virtual void - Scan(const void *sendbuf, void *recvbuf, int count, - const Datatype & datatype, const Op & op) const; - - virtual void - Exscan(const void *sendbuf, void *recvbuf, int count, - const Datatype & datatype, const Op & op) const; - - // - // Communicator maintenance - // - - Intracomm Dup() const; - - virtual Intracomm& Clone() const; - - virtual Intracomm - Create(const Group& group) const; - - virtual Intracomm - Split(int color, int key) const; - - virtual Intercomm - Create_intercomm(int local_leader, const Comm& peer_comm, - int remote_leader, int tag) const; - - virtual Cartcomm - Create_cart(int ndims, const int dims[], - const bool periods[], bool reorder) const; - - virtual Graphcomm - Create_graph(int nnodes, const int index[], - const int edges[], bool reorder) const; - - - // - // Process Creation and Management - // - - virtual Intercomm Accept(const char* port_name, const Info& info, int root) - const; - - virtual Intercomm Connect(const char* port_name, const Info& info, int root) - const; - - virtual Intercomm Spawn(const char* command, const char* argv[], - int maxprocs, const Info& info, int root) const; - - virtual Intercomm Spawn(const char* command, const char* argv[], - int maxprocs, const Info& info, - int root, int array_of_errcodes[]) const; - - virtual Intercomm Spawn_multiple(int count, const char* array_of_commands[], - const char** array_of_argv[], - const int array_of_maxprocs[], - const Info array_of_info[], int root); - - virtual Intercomm Spawn_multiple(int count, const char* array_of_commands[], - const char** array_of_argv[], - const int array_of_maxprocs[], - const Info array_of_info[], int root, - int array_of_errcodes[]); - - - //#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - // virtual const PMPI::Comm& get_pmpi_comm() const { return pmpi_comm; } - //#endif -protected: - - -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - PMPI::Intracomm pmpi_comm; -#endif - - // Convert an array of p_nbr Info object into an array of MPI_Info. - // A pointer to the allocated array is returned and must be - // eventually deleted. - static inline MPI_Info *convert_info_to_mpi_info(int p_nbr, - const Info p_info_tbl[]); -}; diff --git a/ompi/mpi/cxx/intracomm_inln.h b/ompi/mpi/cxx/intracomm_inln.h deleted file mode 100644 index a4580281bc..0000000000 --- a/ompi/mpi/cxx/intracomm_inln.h +++ /dev/null @@ -1,240 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2006 Cisco Systems, Inc. All rights reserved. -// Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -inline -MPI::Intracomm::Intracomm(MPI_Comm data) { - int flag = 0; - if (MPI::Is_initialized() && (data != MPI_COMM_NULL)) { - (void)MPI_Comm_test_inter(data, &flag); - if (flag) { - mpi_comm = MPI_COMM_NULL; - } else { - mpi_comm = data; - } - } - else { - mpi_comm = data; - } -} - -inline void -MPI::Intracomm::Scan(const void *sendbuf, void *recvbuf, int count, - const MPI::Datatype & datatype, const MPI::Op& op) const -{ - (void)MPI_Scan(const_cast(sendbuf), recvbuf, count, datatype, op, mpi_comm); -} - -inline void -MPI::Intracomm::Exscan(const void *sendbuf, void *recvbuf, int count, - const MPI::Datatype & datatype, - const MPI::Op& op) const -{ - (void)MPI_Exscan(const_cast(sendbuf), recvbuf, count, datatype, op, mpi_comm); -} - -inline MPI::Intracomm -MPI::Intracomm::Dup() const -{ - MPI_Comm newcomm; - (void)MPI_Comm_dup(mpi_comm, &newcomm); - return newcomm; -} - -inline MPI::Intracomm& -MPI::Intracomm::Clone() const -{ - MPI_Comm newcomm; - (void)MPI_Comm_dup(mpi_comm, &newcomm); - MPI::Intracomm* dup = new MPI::Intracomm(newcomm); - return *dup; -} - -inline MPI::Intracomm -MPI::Intracomm::Create(const MPI::Group& group) const -{ - MPI_Comm newcomm; - (void)MPI_Comm_create(mpi_comm, group, &newcomm); - return newcomm; -} - -inline MPI::Intracomm -MPI::Intracomm::Split(int color, int key) const -{ - MPI_Comm newcomm; - (void)MPI_Comm_split(mpi_comm, color, key, &newcomm); - return newcomm; -} - - - -inline MPI::Intercomm -MPI::Intracomm::Create_intercomm(int local_leader, - const MPI::Comm& peer_comm, - int remote_leader, int tag) const -{ - MPI_Comm newintercomm; - (void)MPI_Intercomm_create(mpi_comm, local_leader, peer_comm, - remote_leader, tag, &newintercomm); - return newintercomm; -} - -inline MPI::Cartcomm -MPI::Intracomm::Create_cart(int ndims, const int dims[], - const bool periods[], bool reorder) const -{ - int *int_periods = new int [ndims]; - for (int i=0; i(dims), - int_periods, (int)reorder, &newcomm); - delete [] int_periods; - return newcomm; -} - -inline MPI::Graphcomm -MPI::Intracomm::Create_graph(int nnodes, const int index[], - const int edges[], bool reorder) const -{ - MPI_Comm newcomm; - (void)MPI_Graph_create(mpi_comm, nnodes, const_cast(index), - const_cast(edges), (int)reorder, &newcomm); - return newcomm; -} - - -// -// Process Creation and Management -// - -inline MPI::Intercomm -MPI::Intracomm::Accept(const char* port_name, - const MPI::Info& info, - int root) const -{ - MPI_Comm newcomm; - (void) MPI_Comm_accept(const_cast(port_name), info, root, mpi_comm, - &newcomm); - return newcomm; -} - - -inline MPI::Intercomm -MPI::Intracomm::Connect(const char* port_name, - const MPI::Info& info, - int root) const -{ - MPI_Comm newcomm; - (void) MPI_Comm_connect(const_cast(port_name), info, root, mpi_comm, - &newcomm); - return newcomm; -} - - -inline MPI::Intercomm -MPI::Intracomm::Spawn(const char* command, const char* argv[], - int maxprocs, const MPI::Info& info, - int root) const -{ - MPI_Comm newcomm; - (void) MPI_Comm_spawn(const_cast(command), const_cast(argv), maxprocs, - info, root, mpi_comm, &newcomm, - (int *)MPI_ERRCODES_IGNORE); - return newcomm; -} - - -inline MPI::Intercomm -MPI::Intracomm::Spawn(const char* command, const char* argv[], - int maxprocs, const MPI::Info& info, - int root, int array_of_errcodes[]) const -{ - MPI_Comm newcomm; - (void) MPI_Comm_spawn(const_cast(command), const_cast(argv), maxprocs, - info, root, mpi_comm, &newcomm, - array_of_errcodes); - return newcomm; -} - - -inline MPI::Intercomm -MPI::Intracomm::Spawn_multiple(int count, - const char* array_of_commands[], - const char** array_of_argv[], - const int array_of_maxprocs[], - const Info array_of_info[], int root) -{ - MPI_Comm newcomm; - MPI_Info *const array_of_mpi_info = - convert_info_to_mpi_info(count, array_of_info); - - MPI_Comm_spawn_multiple(count, const_cast(array_of_commands), - const_cast(array_of_argv), - const_cast(array_of_maxprocs), - array_of_mpi_info, root, - mpi_comm, &newcomm, (int *)MPI_ERRCODES_IGNORE); - delete[] array_of_mpi_info; - return newcomm; -} - -inline MPI_Info * -MPI::Intracomm::convert_info_to_mpi_info(int p_nbr, const Info p_info_tbl[]) -{ - MPI_Info *const mpi_info_tbl = new MPI_Info [p_nbr]; - - for (int i_tbl=0; i_tbl < p_nbr; i_tbl++) { - mpi_info_tbl[i_tbl] = p_info_tbl[i_tbl]; - } - - return mpi_info_tbl; -} - -inline MPI::Intercomm -MPI::Intracomm::Spawn_multiple(int count, - const char* array_of_commands[], - const char** array_of_argv[], - const int array_of_maxprocs[], - const Info array_of_info[], int root, - int array_of_errcodes[]) -{ - MPI_Comm newcomm; - MPI_Info *const array_of_mpi_info = - convert_info_to_mpi_info(count, array_of_info); - - MPI_Comm_spawn_multiple(count, const_cast(array_of_commands), - const_cast(array_of_argv), - const_cast(array_of_maxprocs), - array_of_mpi_info, root, - mpi_comm, &newcomm, array_of_errcodes); - delete[] array_of_mpi_info; - return newcomm; -} - - - - - - - - - - diff --git a/ompi/mpi/cxx/mpicxx.cc b/ompi/mpi/cxx/mpicxx.cc deleted file mode 100644 index 103cfc24b4..0000000000 --- a/ompi/mpi/cxx/mpicxx.cc +++ /dev/null @@ -1,172 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2007-2012 Cisco Systems, Inc. All rights reserved. -// Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. -// Copyright (c) 2011 FUJITSU LIMITED. All rights reserved. -// Copyright (c) 2017 Research Organization for Information Science -// and Technology (RIST). All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ - -#include "mpicxx.h" - -/* Need to include ompi_config.h after mpicxx.h so that we get - SEEK_SET and friends right */ -#include "ompi_config.h" - -#include "cxx_glue.h" - -#if OPAL_CXX_USE_PRAGMA_IDENT -#pragma ident OMPI_IDENT_STRING -#elif OPAL_CXX_USE_IDENT -#ident OMPI_IDENT_STRING -#endif -namespace MPI { - const char ompi_libcxx_version_string[] = OMPI_IDENT_STRING; -} - -namespace MPI { - -#if ! OMPI_HAVE_CXX_EXCEPTION_SUPPORT -int mpi_errno = MPI_SUCCESS; -#endif - - -void* const BOTTOM = (void*) MPI_BOTTOM; -void* const IN_PLACE = (void*) MPI_IN_PLACE; - -// error-handling specifiers -const Errhandler ERRORS_ARE_FATAL((MPI_Errhandler)&(ompi_mpi_errors_are_fatal)); -const Errhandler ERRORS_RETURN((MPI_Errhandler)&(ompi_mpi_errors_return)); -const Errhandler ERRORS_THROW_EXCEPTIONS((MPI_Errhandler)&(ompi_mpi_errors_throw_exceptions)); - -// elementary datatypes -const Datatype CHAR(MPI_CHAR); -const Datatype SHORT(MPI_SHORT); -const Datatype INT(MPI_INT); -const Datatype LONG(MPI_LONG); -const Datatype SIGNED_CHAR(MPI_SIGNED_CHAR); -const Datatype UNSIGNED_CHAR(MPI_UNSIGNED_CHAR); -const Datatype UNSIGNED_SHORT(MPI_UNSIGNED_SHORT); -const Datatype UNSIGNED(MPI_UNSIGNED); -const Datatype UNSIGNED_LONG(MPI_UNSIGNED_LONG); -const Datatype FLOAT(MPI_FLOAT); -const Datatype DOUBLE(MPI_DOUBLE); -const Datatype LONG_DOUBLE(MPI_LONG_DOUBLE); -const Datatype BYTE(MPI_BYTE); -const Datatype PACKED(MPI_PACKED); -const Datatype WCHAR(MPI_WCHAR); - -// datatypes for reductions functions (C / C++) -const Datatype FLOAT_INT(MPI_FLOAT_INT); -const Datatype DOUBLE_INT(MPI_DOUBLE_INT); -const Datatype LONG_INT(MPI_LONG_INT); -const Datatype TWOINT(MPI_2INT); -const Datatype SHORT_INT(MPI_SHORT_INT); -const Datatype LONG_DOUBLE_INT(MPI_LONG_DOUBLE_INT); - -#if OMPI_BUILD_FORTRAN_BINDINGS -// elementary datatype (Fortran) -const Datatype REAL((MPI_Datatype)&(ompi_mpi_real)); -const Datatype INTEGER((MPI_Datatype)&(ompi_mpi_integer)); -const Datatype DOUBLE_PRECISION((MPI_Datatype)&(ompi_mpi_dblprec)); -const Datatype F_COMPLEX((MPI_Datatype)&(ompi_mpi_cplex)); -const Datatype LOGICAL((MPI_Datatype)&(ompi_mpi_logical)); -const Datatype CHARACTER((MPI_Datatype)&(ompi_mpi_character)); - -// datatype for reduction functions (Fortran) -const Datatype TWOREAL((MPI_Datatype)&(ompi_mpi_2real)); -const Datatype TWODOUBLE_PRECISION((MPI_Datatype)&(ompi_mpi_2dblprec)); -const Datatype TWOINTEGER((MPI_Datatype)&(ompi_mpi_2integer)); - -// optional datatypes (Fortran) -const Datatype INTEGER2((MPI_Datatype)&(ompi_mpi_integer)); -const Datatype REAL2((MPI_Datatype)&(ompi_mpi_real)); -const Datatype INTEGER1((MPI_Datatype)&(ompi_mpi_char)); -const Datatype INTEGER4((MPI_Datatype)&(ompi_mpi_short)); -const Datatype REAL4((MPI_Datatype)&(ompi_mpi_real)); -const Datatype REAL8((MPI_Datatype)&(ompi_mpi_double)); - -#endif // OMPI_WANT_f77_BINDINGS - -// optional datatype (C / C++) -const Datatype UNSIGNED_LONG_LONG(MPI_UNSIGNED_LONG_LONG); -const Datatype LONG_LONG(MPI_LONG_LONG); -const Datatype LONG_LONG_INT(MPI_LONG_LONG_INT); - -// c++ types -const Datatype BOOL((MPI_Datatype)&(ompi_mpi_cxx_bool)); -const Datatype COMPLEX((MPI_Datatype)&(ompi_mpi_cxx_cplex)); -const Datatype DOUBLE_COMPLEX((MPI_Datatype)&(ompi_mpi_cxx_dblcplex)); -const Datatype F_DOUBLE_COMPLEX((MPI_Datatype)&(ompi_mpi_cxx_dblcplex)); -const Datatype LONG_DOUBLE_COMPLEX((MPI_Datatype)&(ompi_mpi_cxx_ldblcplex)); - -// reserved communicators -Intracomm COMM_WORLD(MPI_COMM_WORLD); -Intracomm COMM_SELF(MPI_COMM_SELF); - -// Reported by Paul Hargrove: MIN and MAX are defined on OpenBSD, so -// we need to #undef them. See -// http://www.open-mpi.org/community/lists/devel/2013/12/13521.php. -#ifdef MAX -#undef MAX -#endif -#ifdef MIN -#undef MIN -#endif - -// collective operations -const Op MAX(MPI_MAX); -const Op MIN(MPI_MIN); -const Op SUM(MPI_SUM); -const Op PROD(MPI_PROD); -const Op MAXLOC(MPI_MAXLOC); -const Op MINLOC(MPI_MINLOC); -const Op BAND(MPI_BAND); -const Op BOR(MPI_BOR); -const Op BXOR(MPI_BXOR); -const Op LAND(MPI_LAND); -const Op LOR(MPI_LOR); -const Op LXOR(MPI_LXOR); -const Op REPLACE(MPI_REPLACE); - -// null handles -const Group GROUP_NULL = MPI_GROUP_NULL; -const Win WIN_NULL = MPI_WIN_NULL; -const Info INFO_NULL = MPI_INFO_NULL; -//const Comm COMM_NULL = MPI_COMM_NULL; -//const MPI_Comm COMM_NULL = MPI_COMM_NULL; -Comm_Null COMM_NULL; -const Datatype DATATYPE_NULL = MPI_DATATYPE_NULL; -Request REQUEST_NULL = MPI_REQUEST_NULL; -const Op OP_NULL = MPI_OP_NULL; -const Errhandler ERRHANDLER_NULL; -const File FILE_NULL = MPI_FILE_NULL; - -// constants specifying empty or ignored input -const char** ARGV_NULL = (const char**) MPI_ARGV_NULL; -const char*** ARGVS_NULL = (const char***) MPI_ARGVS_NULL; - -// empty group -const Group GROUP_EMPTY(MPI_GROUP_EMPTY); - -#if OMPI_ENABLE_MPI1_COMPAT -// special datatypes for contstruction of derived datatypes -const Datatype UB(MPI_UB); -const Datatype LB(MPI_LB); -#endif - -} /* namespace MPI */ diff --git a/ompi/mpi/cxx/mpicxx.h b/ompi/mpi/cxx/mpicxx.h deleted file mode 100644 index 5d193d3d7f..0000000000 --- a/ompi/mpi/cxx/mpicxx.h +++ /dev/null @@ -1,286 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2006-2008 Cisco Systems, Inc. All rights reserved. -// Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. -// Copyright (c) 2011 FUJITSU LIMITED. All rights reserved. -// Copyright (c) 2016 Los Alamos National Security, LLC. All rights -// reserved. -// Copyright (c) 2017 Research Organization for Information Science -// and Technology (RIST). All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -#ifndef MPIPP_H -#define MPIPP_H - -// -// Let's ensure that we're really in C++, and some errant programmer -// hasn't included just "for completeness" -// - -// We do not include the opal_config.h and may not replace extern "C" { -#if defined(c_plusplus) || defined(__cplusplus) - -// do not include ompi_config.h. it will smash free() as a symbol -#include "mpi.h" - -// we include all this here so that we escape the silly namespacing issues -#include -#include - -#include - -#if !defined(OMPI_IGNORE_CXX_SEEK) && OMPI_WANT_MPI_CXX_SEEK -// We need to include the header files that define SEEK_* or use them -// in ways that require them to be #defines so that if the user -// includes them later, the double inclusion logic in the headers will -// prevent trouble from occuring. - -// include so that we can smash SEEK_* properly -#include -// include because on Linux, there is one place that assumes SEEK_* is -// a #define (it's used in an enum). -#include - -static const int ompi_stdio_seek_set = SEEK_SET; -static const int ompi_stdio_seek_cur = SEEK_CUR; -static const int ompi_stdio_seek_end = SEEK_END; - -// smash SEEK_* #defines -#ifdef SEEK_SET -#undef SEEK_SET -#undef SEEK_CUR -#undef SEEK_END -#endif - -// make globally scoped constants to replace smashed #defines -static const int SEEK_SET = ompi_stdio_seek_set; -static const int SEEK_CUR = ompi_stdio_seek_cur; -static const int SEEK_END = ompi_stdio_seek_end; -#endif - -#ifdef OPAL_HAVE_SYS_SYNCH_H -// Solaris threads.h pulls in sys/synch.h which in certain versions -// defines LOCK_SHARED. - -// include so that we can smash LOCK_SHARED -#include - -// a user app may be included on a system with an older version -// sys/synch.h -#ifdef LOCK_SHARED -static const int ompi_synch_lock_shared = LOCK_SHARED; - -// smash LOCK_SHARED #defines -#undef LOCK_SHARED - -// make globally scoped constants to replace smashed #defines -static const int LOCK_SHARED = ompi_synch_lock_shared; -#endif -#endif - -// forward declare so that we can still do inlining -struct opal_mutex_t; - -// See lengthy explanation in intercepts.cc about this function. -extern "C" void -ompi_mpi_cxx_op_intercept(void *invec, void *outvec, int *len, - MPI_Datatype *datatype, MPI_User_function *fn); - -//used for attr intercept functions -enum CommType { eIntracomm, eIntercomm, eCartcomm, eGraphcomm}; - -extern "C" int -ompi_mpi_cxx_comm_copy_attr_intercept(MPI_Comm oldcomm, int keyval, - void *extra_state, void *attribute_val_in, - void *attribute_val_out, int *flag, - MPI_Comm newcomm); -extern "C" int -ompi_mpi_cxx_comm_delete_attr_intercept(MPI_Comm comm, int keyval, - void *attribute_val, void *extra_state); - -extern "C" int -ompi_mpi_cxx_type_copy_attr_intercept(MPI_Datatype oldtype, int keyval, - void *extra_state, void *attribute_val_in, - void *attribute_val_out, int *flag); -extern "C" int -ompi_mpi_cxx_type_delete_attr_intercept(MPI_Datatype type, int keyval, - void *attribute_val, void *extra_state); - -extern "C" int -ompi_mpi_cxx_win_copy_attr_intercept(MPI_Win oldwin, int keyval, - void *extra_state, void *attribute_val_in, - void *attribute_val_out, int *flag); -extern "C" int -ompi_mpi_cxx_win_delete_attr_intercept(MPI_Win win, int keyval, - void *attribute_val, void *extra_state); - - - -// -// MPI generalized request intercepts -// - -extern "C" int -ompi_mpi_cxx_grequest_query_fn_intercept(void *state, MPI_Status *status); -extern "C" int -ompi_mpi_cxx_grequest_free_fn_intercept(void *state); -extern "C" int -ompi_mpi_cxx_grequest_cancel_fn_intercept(void *state, int canceled); - -/** - * Windows bool type is not any kind of integer. Special care should - * be taken in order to cast it correctly. - */ -#if defined(WIN32) || defined(_WIN32) || defined(WIN64) -#define OPAL_INT_TO_BOOL(VALUE) ((VALUE) != 0 ? true : false) -#else -#define OPAL_INT_TO_BOOL(VALUE) ((bool)(VALUE)) -#endif /* defined(WIN32) || defined(_WIN32) || defined(WIN64) */ - -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ -#include "ompi/mpi/cxx/pmpicxx.h" -#endif - -namespace MPI { - -#if ! OMPI_HAVE_CXX_EXCEPTION_SUPPORT - extern int mpi_errno; -#endif - - class Comm_Null; - class Comm; - class Intracomm; - class Intercomm; - class Graphcomm; - class Cartcomm; - class Datatype; - class Errhandler; - class Group; - class Op; - class Request; - class Grequest; - class Status; - class Info; - class Win; - class File; - - typedef MPI_Aint Aint; - typedef MPI_Fint Fint; - typedef MPI_Offset Offset; - -#ifdef OMPI_BUILDING_CXX_BINDINGS_LIBRARY -#include "ompi/mpi/cxx/constants.h" -#include "ompi/mpi/cxx/functions.h" -#include "ompi/mpi/cxx/datatype.h" -#else -#include "openmpi/ompi/mpi/cxx/constants.h" -#include "openmpi/ompi/mpi/cxx/functions.h" -#include "openmpi/ompi/mpi/cxx/datatype.h" -#endif - - typedef void User_function(const void* invec, void* inoutvec, int len, - const Datatype& datatype); - - /* Prevent needing a -I${prefix}/include/openmpi, as it seems to - really annoy peope that don't use the wrapper compilers and is - no longer worth the fight of getting right... */ -#ifdef OMPI_BUILDING_CXX_BINDINGS_LIBRARY -#include "ompi/mpi/cxx/exception.h" -#include "ompi/mpi/cxx/op.h" -#include "ompi/mpi/cxx/status.h" -#include "ompi/mpi/cxx/request.h" //includes class Prequest -#include "ompi/mpi/cxx/group.h" -#include "ompi/mpi/cxx/comm.h" -#include "ompi/mpi/cxx/win.h" -#include "ompi/mpi/cxx/file.h" -#include "ompi/mpi/cxx/errhandler.h" -#include "ompi/mpi/cxx/intracomm.h" -#include "ompi/mpi/cxx/topology.h" //includes Cartcomm and Graphcomm -#include "ompi/mpi/cxx/intercomm.h" -#include "ompi/mpi/cxx/info.h" -#else -#include "openmpi/ompi/mpi/cxx/exception.h" -#include "openmpi/ompi/mpi/cxx/op.h" -#include "openmpi/ompi/mpi/cxx/status.h" -#include "openmpi/ompi/mpi/cxx/request.h" //includes class Prequest -#include "openmpi/ompi/mpi/cxx/group.h" -#include "openmpi/ompi/mpi/cxx/comm.h" -#include "openmpi/ompi/mpi/cxx/win.h" -#include "openmpi/ompi/mpi/cxx/file.h" -#include "openmpi/ompi/mpi/cxx/errhandler.h" -#include "openmpi/ompi/mpi/cxx/intracomm.h" -#include "openmpi/ompi/mpi/cxx/topology.h" //includes Cartcomm and Graphcomm -#include "openmpi/ompi/mpi/cxx/intercomm.h" -#include "openmpi/ompi/mpi/cxx/info.h" -#endif - - // Version string - extern const char ompi_libcxx_version_string[]; -} - -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ -#include "ompi/mpi/cxx/pop_inln.h" -#include "ompi/mpi/cxx/pgroup_inln.h" -#include "ompi/mpi/cxx/pstatus_inln.h" -#include "ompi/mpi/cxx/prequest_inln.h" -#endif - -// -// These are the "real" functions, whether prototyping is enabled -// or not. These functions are assigned to either the MPI::XXX class -// or the PMPI::XXX class based on the value of the macro MPI -// which is set in mpi2cxx_config.h. -// If prototyping is enabled, there is a top layer that calls these -// PMPI functions, and this top layer is in the XXX.cc files. -// - -/* see note above... */ -#ifdef OMPI_BUILDING_CXX_BINDINGS_LIBRARY -#include "ompi/mpi/cxx/datatype_inln.h" -#include "ompi/mpi/cxx/functions_inln.h" -#include "ompi/mpi/cxx/request_inln.h" -#include "ompi/mpi/cxx/comm_inln.h" -#include "ompi/mpi/cxx/intracomm_inln.h" -#include "ompi/mpi/cxx/topology_inln.h" -#include "ompi/mpi/cxx/intercomm_inln.h" -#include "ompi/mpi/cxx/group_inln.h" -#include "ompi/mpi/cxx/op_inln.h" -#include "ompi/mpi/cxx/errhandler_inln.h" -#include "ompi/mpi/cxx/status_inln.h" -#include "ompi/mpi/cxx/info_inln.h" -#include "ompi/mpi/cxx/win_inln.h" -#include "ompi/mpi/cxx/file_inln.h" -#else -#include "openmpi/ompi/mpi/cxx/datatype_inln.h" -#include "openmpi/ompi/mpi/cxx/functions_inln.h" -#include "openmpi/ompi/mpi/cxx/request_inln.h" -#include "openmpi/ompi/mpi/cxx/comm_inln.h" -#include "openmpi/ompi/mpi/cxx/intracomm_inln.h" -#include "openmpi/ompi/mpi/cxx/topology_inln.h" -#include "openmpi/ompi/mpi/cxx/intercomm_inln.h" -#include "openmpi/ompi/mpi/cxx/group_inln.h" -#include "openmpi/ompi/mpi/cxx/op_inln.h" -#include "openmpi/ompi/mpi/cxx/errhandler_inln.h" -#include "openmpi/ompi/mpi/cxx/status_inln.h" -#include "openmpi/ompi/mpi/cxx/info_inln.h" -#include "openmpi/ompi/mpi/cxx/win_inln.h" -#include "openmpi/ompi/mpi/cxx/file_inln.h" -#endif - -#endif // #if defined(c_plusplus) || defined(__cplusplus) -#endif // #ifndef MPIPP_H_ diff --git a/ompi/mpi/cxx/op.h b/ompi/mpi/cxx/op.h deleted file mode 100644 index 00a9ec64d4..0000000000 --- a/ompi/mpi/cxx/op.h +++ /dev/null @@ -1,65 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2006-2009 Cisco Systems, Inc. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -class Op { -public: - - // construction - Op(); - Op(MPI_Op i); - Op(const Op& op); -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - Op(const PMPI::Op& op) : pmpi_op(op) { } -#endif - // destruction - virtual ~Op(); - // assignment - Op& operator=(const Op& op); - Op& operator= (const MPI_Op &i); - // comparison - inline bool operator== (const Op &a); - inline bool operator!= (const Op &a); - // conversion functions for inter-language operability - inline operator MPI_Op () const; - // inline operator MPI_Op* (); //JGS const -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - inline operator const PMPI::Op&() const { return pmpi_op; } -#endif - // Collective Communication - //JGS took const out - virtual void Init(User_function *func, bool commute); - virtual void Free(); - - virtual void Reduce_local(const void *inbuf, void *inoutbuf, int count, - const MPI::Datatype& datatype) const; - virtual bool Is_commutative(void) const; - -#if ! 0 /* OMPI_ENABLE_MPI_PROFILING */ -protected: - MPI_Op mpi_op; -#endif - -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ -private: - PMPI::Op pmpi_op; -#endif - -}; - diff --git a/ompi/mpi/cxx/op_inln.h b/ompi/mpi/cxx/op_inln.h deleted file mode 100644 index 1453ac86f6..0000000000 --- a/ompi/mpi/cxx/op_inln.h +++ /dev/null @@ -1,149 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2006-2009 Cisco Systems, Inc. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - -inline -MPI::Op::Op() { } - -inline -MPI::Op::Op(const MPI::Op& o) : pmpi_op(o.pmpi_op) { } - -inline -MPI::Op::Op(MPI_Op o) : pmpi_op(o) { } - -inline -MPI::Op::~Op() { } - -inline -MPI::Op& MPI::Op::operator=(const MPI::Op& op) { - pmpi_op = op.pmpi_op; return *this; -} - -// comparison -inline bool -MPI::Op::operator== (const MPI::Op &a) { - return (bool)(pmpi_op == a.pmpi_op); -} - -inline bool -MPI::Op::operator!= (const MPI::Op &a) { - return (bool)!(*this == a); -} - -// inter-language operability -inline MPI::Op& -MPI::Op::operator= (const MPI_Op &i) { pmpi_op = i; return *this; } - -inline -MPI::Op::operator MPI_Op () const { return pmpi_op; } - -//inline -//MPI::Op::operator MPI_Op* () { return pmpi_op; } - - -#else // ============= NO PROFILING =================================== - -// construction -inline -MPI::Op::Op() : mpi_op(MPI_OP_NULL) { } - -inline -MPI::Op::Op(MPI_Op i) : mpi_op(i) { } - -inline -MPI::Op::Op(const MPI::Op& op) - : mpi_op(op.mpi_op) { } - -inline -MPI::Op::~Op() -{ -#if 0 - mpi_op = MPI_OP_NULL; - op_user_function = 0; -#endif -} - -inline MPI::Op& -MPI::Op::operator=(const MPI::Op& op) { - mpi_op = op.mpi_op; - return *this; -} - -// comparison -inline bool -MPI::Op::operator== (const MPI::Op &a) { return (bool)(mpi_op == a.mpi_op); } - -inline bool -MPI::Op::operator!= (const MPI::Op &a) { return (bool)!(*this == a); } - -// inter-language operability -inline MPI::Op& -MPI::Op::operator= (const MPI_Op &i) { mpi_op = i; return *this; } - -inline -MPI::Op::operator MPI_Op () const { return mpi_op; } - -//inline -//MPI::Op::operator MPI_Op* () { return &mpi_op; } - -#endif - -// Extern this function here rather than include an internal Open MPI -// header file (and therefore force installing the internal Open MPI -// header file so that user apps can #include it) - -extern "C" void ompi_op_set_cxx_callback(MPI_Op op, MPI_User_function*); - -// There is a lengthy comment in ompi/mpi/cxx/intercepts.cc explaining -// what this function is doing. Please read it before modifying this -// function. -inline void -MPI::Op::Init(MPI::User_function *func, bool commute) -{ - (void)MPI_Op_create((MPI_User_function*) ompi_mpi_cxx_op_intercept, - (int) commute, &mpi_op); - ompi_op_set_cxx_callback(mpi_op, (MPI_User_function*) func); -} - - -inline void -MPI::Op::Free() -{ - (void)MPI_Op_free(&mpi_op); -} - - -inline void -MPI::Op::Reduce_local(const void *inbuf, void *inoutbuf, int count, - const MPI::Datatype& datatype) const -{ - (void)MPI_Reduce_local(const_cast(inbuf), inoutbuf, count, - datatype, mpi_op); -} - - -inline bool -MPI::Op::Is_commutative(void) const -{ - int commute; - (void)MPI_Op_commutative(mpi_op, &commute); - return (bool) commute; -} diff --git a/ompi/mpi/cxx/request.h b/ompi/mpi/cxx/request.h deleted file mode 100644 index f8e3153d60..0000000000 --- a/ompi/mpi/cxx/request.h +++ /dev/null @@ -1,235 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2006-2008 Cisco Systems, Inc. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - - -class Request { -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - // friend class PMPI::Request; -#endif -public: -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - - // construction - Request() { } - Request(MPI_Request i) : pmpi_request(i) { } - - // copy / assignment - Request(const Request& r) : pmpi_request(r.pmpi_request) { } - - Request(const PMPI::Request& r) : pmpi_request(r) { } - - virtual ~Request() {} - - Request& operator=(const Request& r) { - pmpi_request = r.pmpi_request; return *this; } - - // comparison - bool operator== (const Request &a) - { return (bool)(pmpi_request == a.pmpi_request); } - bool operator!= (const Request &a) - { return (bool)!(*this == a); } - - // inter-language operability - Request& operator= (const MPI_Request &i) { - pmpi_request = i; return *this; } - - operator MPI_Request () const { return pmpi_request; } - // operator MPI_Request* () const { return pmpi_request; } - operator const PMPI::Request&() const { return pmpi_request; } - -#else - - // construction / destruction - Request() : mpi_request(MPI_REQUEST_NULL) { } - virtual ~Request() {} - Request(MPI_Request i) : mpi_request(i) { } - - // copy / assignment - Request(const Request& r) : mpi_request(r.mpi_request) { } - - Request& operator=(const Request& r) { - mpi_request = r.mpi_request; return *this; } - - // comparison - bool operator== (const Request &a) - { return (bool)(mpi_request == a.mpi_request); } - bool operator!= (const Request &a) - { return (bool)!(*this == a); } - - // inter-language operability - Request& operator= (const MPI_Request &i) { - mpi_request = i; return *this; } - operator MPI_Request () const { return mpi_request; } - // operator MPI_Request* () const { return (MPI_Request*)&mpi_request; } - -#endif - - // - // Point-to-Point Communication - // - - virtual void Wait(Status &status); - - virtual void Wait(); - - virtual bool Test(Status &status); - - virtual bool Test(); - - virtual void Free(void); - - static int Waitany(int count, Request array[], Status& status); - - static int Waitany(int count, Request array[]); - - static bool Testany(int count, Request array[], int& index, Status& status); - - static bool Testany(int count, Request array[], int& index); - - static void Waitall(int count, Request req_array[], Status stat_array[]); - - static void Waitall(int count, Request req_array[]); - - static bool Testall(int count, Request req_array[], Status stat_array[]); - - static bool Testall(int count, Request req_array[]); - - static int Waitsome(int incount, Request req_array[], - int array_of_indices[], Status stat_array[]) ; - - static int Waitsome(int incount, Request req_array[], - int array_of_indices[]); - - static int Testsome(int incount, Request req_array[], - int array_of_indices[], Status stat_array[]); - - static int Testsome(int incount, Request req_array[], - int array_of_indices[]); - - virtual void Cancel(void) const; - - virtual bool Get_status(Status& status) const; - - virtual bool Get_status() const; - -protected: -#if ! 0 /* OMPI_ENABLE_MPI_PROFILING */ - MPI_Request mpi_request; -#endif - -private: - -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - PMPI::Request pmpi_request; -#endif - -}; - - -class Prequest : public Request { -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - // friend class PMPI::Prequest; -#endif -public: - - Prequest() { } - -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - Prequest(const Request& p) : Request(p), pmpi_request(p) { } - - Prequest(const PMPI::Prequest& r) : - Request((const PMPI::Request&)r), - pmpi_request(r) { } - - Prequest(const MPI_Request &i) : Request(i), pmpi_request(i) { } - - virtual ~Prequest() { } - - Prequest& operator=(const Request& r) { - Request::operator=(r); - pmpi_request = (PMPI::Prequest)r; return *this; } - - Prequest& operator=(const Prequest& r) { - Request::operator=(r); - pmpi_request = r.pmpi_request; return *this; } -#else - Prequest(const Request& p) : Request(p) { } - - Prequest(const MPI_Request &i) : Request(i) { } - - virtual ~Prequest() { } - - Prequest& operator=(const Request& r) { - mpi_request = r; return *this; } - - Prequest& operator=(const Prequest& r) { - mpi_request = r.mpi_request; return *this; } -#endif - - virtual void Start(); - - static void Startall(int count, Prequest array_of_requests[]); - -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ -private: - PMPI::Prequest pmpi_request; -#endif -}; - - -// -// Generalized requests -// -class Grequest : public MPI::Request { - public: - typedef int Query_function(void *, Status&); - typedef int Free_function(void *); - typedef int Cancel_function(void *, bool); - - Grequest() {} - Grequest(const Request& req) : Request(req) {} - Grequest(const MPI_Request &req) : Request(req) {} - virtual ~Grequest() {} - - Grequest& operator=(const Request& req) { - mpi_request = req; return(*this); - } - - Grequest& operator=(const Grequest& req) { - mpi_request = req.mpi_request; return(*this); - } - - static Grequest Start(Query_function *, Free_function *, - Cancel_function *, void *); - - virtual void Complete(); - - // - // Type used for intercepting Generalized requests in the C++ layer so - // that the type can be converted to C++ types before invoking the - // user-specified C++ callbacks. - // - struct Intercept_data_t { - void *id_extra; - Grequest::Query_function *id_cxx_query_fn; - Grequest::Free_function *id_cxx_free_fn; - Grequest::Cancel_function *id_cxx_cancel_fn; - }; -}; diff --git a/ompi/mpi/cxx/request_inln.h b/ompi/mpi/cxx/request_inln.h deleted file mode 100644 index d042b4d9a9..0000000000 --- a/ompi/mpi/cxx/request_inln.h +++ /dev/null @@ -1,366 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2006-2008 Cisco Systems, Inc. All rights reserved. -// Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -// -// Point-to-Point Communication -// - -inline void -MPI::Request::Wait(MPI::Status &status) -{ - (void)MPI_Wait(&mpi_request, &status.mpi_status); -} - -inline void -MPI::Request::Wait() -{ - (void)MPI_Wait(&mpi_request, MPI_STATUS_IGNORE); -} - -inline void -MPI::Request::Free() -{ - (void)MPI_Request_free(&mpi_request); -} - -inline bool -MPI::Request::Test(MPI::Status &status) -{ - int t; - (void)MPI_Test(&mpi_request, &t, &status.mpi_status); - return OPAL_INT_TO_BOOL(t); -} - -inline bool -MPI::Request::Test() -{ - int t; - (void)MPI_Test(&mpi_request, &t, MPI_STATUS_IGNORE); - return OPAL_INT_TO_BOOL(t); -} - -inline int -MPI::Request::Waitany(int count, MPI::Request array[], - MPI::Status& status) -{ - int index, i; - MPI_Request* array_of_requests = new MPI_Request[count]; - for (i=0; i < count; i++) { - array_of_requests[i] = array[i]; - } - (void)MPI_Waitany(count, array_of_requests, &index, &status.mpi_status); - for (i=0; i < count; i++) { - array[i] = array_of_requests[i]; - } - delete [] array_of_requests; - return index; -} - -inline int -MPI::Request::Waitany(int count, MPI::Request array[]) -{ - int index, i; - MPI_Request* array_of_requests = new MPI_Request[count]; - for (i=0; i < count; i++) { - array_of_requests[i] = array[i]; - } - (void)MPI_Waitany(count, array_of_requests, &index, MPI_STATUS_IGNORE); - for (i=0; i < count; i++) { - array[i] = array_of_requests[i]; - } - delete [] array_of_requests; - return index; //JGS, Waitany return value -} - -inline bool -MPI::Request::Testany(int count, MPI::Request array[], - int& index, MPI::Status& status) -{ - int i, flag; - MPI_Request* array_of_requests = new MPI_Request[count]; - for (i=0; i < count; i++) { - array_of_requests[i] = array[i]; - } - (void)MPI_Testany(count, array_of_requests, &index, &flag, &status.mpi_status); - for (i=0; i < count; i++) { - array[i] = array_of_requests[i]; - } - delete [] array_of_requests; - return (bool)(flag != 0 ? true : false); -} - -inline bool -MPI::Request::Testany(int count, MPI::Request array[], int& index) -{ - int i, flag; - MPI_Request* array_of_requests = new MPI_Request[count]; - for (i=0; i < count; i++) { - array_of_requests[i] = array[i]; - } - (void)MPI_Testany(count, array_of_requests, &index, &flag, - MPI_STATUS_IGNORE); - for (i=0; i < count; i++) { - array[i] = array_of_requests[i]; - } - delete [] array_of_requests; - return OPAL_INT_TO_BOOL(flag); -} - -inline void -MPI::Request::Waitall(int count, MPI::Request req_array[], - MPI::Status stat_array[]) -{ - int i; - MPI_Request* array_of_requests = new MPI_Request[count]; - MPI_Status* array_of_statuses = new MPI_Status[count]; - for (i=0; i < count; i++) { - array_of_requests[i] = req_array[i]; - } - (void)MPI_Waitall(count, array_of_requests, array_of_statuses); - for (i=0; i < count; i++) { - req_array[i] = array_of_requests[i]; - stat_array[i] = array_of_statuses[i]; - } - delete [] array_of_requests; - delete [] array_of_statuses; -} - -inline void -MPI::Request::Waitall(int count, MPI::Request req_array[]) -{ - int i; - MPI_Request* array_of_requests = new MPI_Request[count]; - - for (i=0; i < count; i++) { - array_of_requests[i] = req_array[i]; - } - (void)MPI_Waitall(count, array_of_requests, MPI_STATUSES_IGNORE); - - for (i=0; i < count; i++) { - req_array[i] = array_of_requests[i]; - } - - delete [] array_of_requests; -} - -inline bool -MPI::Request::Testall(int count, MPI::Request req_array[], - MPI::Status stat_array[]) -{ - int i, flag; - MPI_Request* array_of_requests = new MPI_Request[count]; - MPI_Status* array_of_statuses = new MPI_Status[count]; - for (i=0; i < count; i++) { - array_of_requests[i] = req_array[i]; - } - (void)MPI_Testall(count, array_of_requests, &flag, array_of_statuses); - for (i=0; i < count; i++) { - req_array[i] = array_of_requests[i]; - stat_array[i] = array_of_statuses[i]; - } - delete [] array_of_requests; - delete [] array_of_statuses; - return OPAL_INT_TO_BOOL(flag); -} - -inline bool -MPI::Request::Testall(int count, MPI::Request req_array[]) -{ - int i, flag; - MPI_Request* array_of_requests = new MPI_Request[count]; - - for (i=0; i < count; i++) { - array_of_requests[i] = req_array[i]; - } - (void)MPI_Testall(count, array_of_requests, &flag, MPI_STATUSES_IGNORE); - - for (i=0; i < count; i++) { - req_array[i] = array_of_requests[i]; - } - delete [] array_of_requests; - - return OPAL_INT_TO_BOOL(flag); -} - -inline int -MPI::Request::Waitsome(int incount, MPI::Request req_array[], - int array_of_indices[], MPI::Status stat_array[]) -{ - int i, outcount; - MPI_Request* array_of_requests = new MPI_Request[incount]; - MPI_Status* array_of_statuses = new MPI_Status[incount]; - for (i=0; i < incount; i++) { - array_of_requests[i] = req_array[i]; - } - (void)MPI_Waitsome(incount, array_of_requests, &outcount, - array_of_indices, array_of_statuses); - for (i=0; i < incount; i++) { - req_array[i] = array_of_requests[i]; - stat_array[i] = array_of_statuses[i]; - } - delete [] array_of_requests; - delete [] array_of_statuses; - return outcount; -} - -inline int -MPI::Request::Waitsome(int incount, MPI::Request req_array[], - int array_of_indices[]) -{ - int i, outcount; - MPI_Request* array_of_requests = new MPI_Request[incount]; - - for (i=0; i < incount; i++) { - array_of_requests[i] = req_array[i]; - } - (void)MPI_Waitsome(incount, array_of_requests, &outcount, - array_of_indices, MPI_STATUSES_IGNORE); - - for (i=0; i < incount; i++) { - req_array[i] = array_of_requests[i]; - } - delete [] array_of_requests; - - return outcount; -} - -inline int -MPI::Request::Testsome(int incount, MPI::Request req_array[], - int array_of_indices[], MPI::Status stat_array[]) -{ - int i, outcount; - MPI_Request* array_of_requests = new MPI_Request[incount]; - MPI_Status* array_of_statuses = new MPI_Status[incount]; - for (i=0; i < incount; i++) { - array_of_requests[i] = req_array[i]; - } - (void)MPI_Testsome(incount, array_of_requests, &outcount, - array_of_indices, array_of_statuses); - for (i=0; i < incount; i++) { - req_array[i] = array_of_requests[i]; - stat_array[i] = array_of_statuses[i]; - } - delete [] array_of_requests; - delete [] array_of_statuses; - return outcount; -} - -inline int -MPI::Request::Testsome(int incount, MPI::Request req_array[], - int array_of_indices[]) -{ - int i, outcount; - MPI_Request* array_of_requests = new MPI_Request[incount]; - - for (i=0; i < incount; i++) { - array_of_requests[i] = req_array[i]; - } - (void)MPI_Testsome(incount, array_of_requests, &outcount, - array_of_indices, MPI_STATUSES_IGNORE); - - for (i=0; i < incount; i++) { - req_array[i] = array_of_requests[i]; - } - delete [] array_of_requests; - - return outcount; -} - -inline void -MPI::Request::Cancel(void) const -{ - (void)MPI_Cancel(const_cast(&mpi_request)); -} - -inline void -MPI::Prequest::Start() -{ - (void)MPI_Start(&mpi_request); -} - -inline void -MPI::Prequest::Startall(int count, MPI:: Prequest array_of_requests[]) -{ - //convert the array of Prequests to an array of MPI_requests - MPI_Request* mpi_requests = new MPI_Request[count]; - int i; - for (i=0; i < count; i++) { - mpi_requests[i] = array_of_requests[i]; - } - (void)MPI_Startall(count, mpi_requests); - for (i=0; i < count; i++) { - array_of_requests[i].mpi_request = mpi_requests[i] ; - } - delete [] mpi_requests; -} - -inline bool MPI::Request::Get_status(MPI::Status& status) const -{ - int flag = 0; - MPI_Status c_status; - - // Call the underlying MPI function rather than simply returning - // status.mpi_status because we may have to invoke the generalized - // request query function - (void)MPI_Request_get_status(mpi_request, &flag, &c_status); - if (flag) { - status = c_status; - } - return OPAL_INT_TO_BOOL(flag); -} - -inline bool MPI::Request::Get_status() const -{ - int flag; - - // Call the underlying MPI function rather than simply returning - // status.mpi_status because we may have to invoke the generalized - // request query function - (void)MPI_Request_get_status(mpi_request, &flag, MPI_STATUS_IGNORE); - return OPAL_INT_TO_BOOL(flag); -} - -inline MPI::Grequest -MPI::Grequest::Start(Query_function *query_fn, Free_function *free_fn, - Cancel_function *cancel_fn, void *extra) -{ - MPI_Request grequest = 0; - Intercept_data_t *new_extra = - new MPI::Grequest::Intercept_data_t; - - new_extra->id_extra = extra; - new_extra->id_cxx_query_fn = query_fn; - new_extra->id_cxx_free_fn = free_fn; - new_extra->id_cxx_cancel_fn = cancel_fn; - (void) MPI_Grequest_start(ompi_mpi_cxx_grequest_query_fn_intercept, - ompi_mpi_cxx_grequest_free_fn_intercept, - ompi_mpi_cxx_grequest_cancel_fn_intercept, - new_extra, &grequest); - - return(grequest); -} - -inline void -MPI::Grequest::Complete() -{ - (void) MPI_Grequest_complete(mpi_request); -} - diff --git a/ompi/mpi/cxx/status.h b/ompi/mpi/cxx/status.h deleted file mode 100644 index 614b93d206..0000000000 --- a/ompi/mpi/cxx/status.h +++ /dev/null @@ -1,115 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2006-2008 Cisco Systems, Inc. All rights reserved. -// Copyright (c) 2017 Research Organization for Information Science -// and Technology (RIST). All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - - -class Status { -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - // friend class PMPI::Status; -#endif - friend class MPI::Comm; //so I can access pmpi_status data member in comm.cc - friend class MPI::Request; //and also from request.cc - friend class MPI::File; - -public: -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - - // construction / destruction - Status() { } - virtual ~Status() {} - - // copy / assignment - Status(const Status& data) : pmpi_status(data.pmpi_status) { } - - Status(const MPI_Status &i) : pmpi_status(i) { } - - Status& operator=(const Status& data) { - pmpi_status = data.pmpi_status; return *this; } - - // comparison, don't need for status - - // inter-language operability - Status& operator= (const MPI_Status &i) { - pmpi_status = i; return *this; } - operator MPI_Status () const { return pmpi_status; } - // operator MPI_Status* () const { return pmpi_status; } - operator const PMPI::Status&() const { return pmpi_status; } - -#else - - Status() : mpi_status() { } - // copy - Status(const Status& data) : mpi_status(data.mpi_status) { } - - Status(const MPI_Status &i) : mpi_status(i) { } - - virtual ~Status() {} - - Status& operator=(const Status& data) { - mpi_status = data.mpi_status; return *this; } - - // comparison, don't need for status - - // inter-language operability - Status& operator= (const MPI_Status &i) { - mpi_status = i; return *this; } - operator MPI_Status () const { return mpi_status; } - // operator MPI_Status* () const { return (MPI_Status*)&mpi_status; } - -#endif - - // - // Point-to-Point Communication - // - - virtual int Get_count(const Datatype& datatype) const; - - virtual bool Is_cancelled() const; - - virtual int Get_elements(const Datatype& datatype) const; - - // - // Status Access - // - virtual int Get_source() const; - - virtual void Set_source(int source); - - virtual int Get_tag() const; - - virtual void Set_tag(int tag); - - virtual int Get_error() const; - - virtual void Set_error(int error); - - virtual void Set_elements(const MPI::Datatype& datatype, int count); - - virtual void Set_cancelled(bool flag); - -protected: -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - PMPI::Status pmpi_status; -#else - MPI_Status mpi_status; -#endif - -}; diff --git a/ompi/mpi/cxx/status_inln.h b/ompi/mpi/cxx/status_inln.h deleted file mode 100644 index 2110c671f8..0000000000 --- a/ompi/mpi/cxx/status_inln.h +++ /dev/null @@ -1,105 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2006 Cisco Systems, Inc. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -// -// Point-to-Point Communication -// - -inline int -MPI::Status::Get_count(const MPI::Datatype& datatype) const -{ - int count; - (void)MPI_Get_count(const_cast(&mpi_status), datatype, &count); - return count; -} - -inline bool -MPI::Status::Is_cancelled() const -{ - int t; - (void)MPI_Test_cancelled(const_cast(&mpi_status), &t); - return OPAL_INT_TO_BOOL(t); -} - -inline int -MPI::Status::Get_elements(const MPI::Datatype& datatype) const -{ - int count; - (void)MPI_Get_elements(const_cast(&mpi_status), datatype, &count); - return count; -} - -// -// Status Access -// -inline int -MPI::Status::Get_source() const -{ - int source; - source = mpi_status.MPI_SOURCE; - return source; -} - -inline void -MPI::Status::Set_source(int source) -{ - mpi_status.MPI_SOURCE = source; -} - -inline int -MPI::Status::Get_tag() const -{ - int tag; - tag = mpi_status.MPI_TAG; - return tag; -} - -inline void -MPI::Status::Set_tag(int tag) -{ - mpi_status.MPI_TAG = tag; -} - -inline int -MPI::Status::Get_error() const -{ - int error; - error = mpi_status.MPI_ERROR; - return error; -} - -inline void -MPI::Status::Set_error(int error) -{ - mpi_status.MPI_ERROR = error; -} - -inline void -MPI::Status::Set_elements(const MPI::Datatype& datatype, int count) -{ - MPI_Status_set_elements(&mpi_status, datatype, count); -} - -inline void -MPI::Status::Set_cancelled(bool flag) -{ - MPI_Status_set_cancelled(&mpi_status, (int) flag); -} - diff --git a/ompi/mpi/cxx/topology.h b/ompi/mpi/cxx/topology.h deleted file mode 100644 index 167c8b6539..0000000000 --- a/ompi/mpi/cxx/topology.h +++ /dev/null @@ -1,167 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2011 FUJITSU LIMITED. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - - -class Cartcomm : public Intracomm { -public: - - // construction - Cartcomm() { } - // copy - Cartcomm(const Comm_Null& data) : Intracomm(data) { } - // inter-language operability - inline Cartcomm(const MPI_Comm& data); -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - Cartcomm(const Cartcomm& data) : Intracomm(data), pmpi_comm(data) { } - Cartcomm(const PMPI::Cartcomm& d) : - Intracomm((const PMPI::Intracomm&)d), - pmpi_comm(d) { } - - // assignment - Cartcomm& operator=(const Cartcomm& data) { - Intracomm::operator=(data); - pmpi_comm = data.pmpi_comm; return *this; } - Cartcomm& operator=(const Comm_Null& data) { - Intracomm::operator=(data); - pmpi_comm = (PMPI::Cartcomm)data; return *this; } - // inter-language operability - Cartcomm& operator=(const MPI_Comm& data) { - Intracomm::operator=(data); - pmpi_comm = data; return *this; } -#else - Cartcomm(const Cartcomm& data) : Intracomm(data.mpi_comm) { } - // assignment - Cartcomm& operator=(const Cartcomm& data) { - mpi_comm = data.mpi_comm; return *this; } - Cartcomm& operator=(const Comm_Null& data) { - mpi_comm = data; return *this; } - // inter-language operability - Cartcomm& operator=(const MPI_Comm& data) { - mpi_comm = data; return *this; } -#endif - // - // Groups, Contexts, and Communicators - // - - Cartcomm Dup() const; - - virtual Cartcomm& Clone() const; - - - // - // Groups, Contexts, and Communicators - // - - virtual int Get_dim() const; - - virtual void Get_topo(int maxdims, int dims[], bool periods[], - int coords[]) const; - - virtual int Get_cart_rank(const int coords[]) const; - - virtual void Get_coords(int rank, int maxdims, int coords[]) const; - - virtual void Shift(int direction, int disp, - int &rank_source, int &rank_dest) const; - - virtual Cartcomm Sub(const bool remain_dims[]) const; - - virtual int Map(int ndims, const int dims[], const bool periods[]) const; - -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ -private: - PMPI::Cartcomm pmpi_comm; -#endif -}; - - -//=================================================================== -// Class Graphcomm -//=================================================================== - -class Graphcomm : public Intracomm { -public: - - // construction - Graphcomm() { } - // copy - Graphcomm(const Comm_Null& data) : Intracomm(data) { } - // inter-language operability - inline Graphcomm(const MPI_Comm& data); -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - Graphcomm(const Graphcomm& data) : Intracomm(data), pmpi_comm(data) { } - Graphcomm(const PMPI::Graphcomm& d) : - Intracomm((const PMPI::Intracomm&)d), pmpi_comm(d) { } - - // assignment - Graphcomm& operator=(const Graphcomm& data) { - Intracomm::operator=(data); - pmpi_comm = data.pmpi_comm; return *this; } - Graphcomm& operator=(const Comm_Null& data) { - Intracomm::operator=(data); - pmpi_comm = (PMPI::Graphcomm)data; return *this; } - // inter-language operability - Graphcomm& operator=(const MPI_Comm& data) { - Intracomm::operator=(data); - pmpi_comm = data; return *this; } - -#else - Graphcomm(const Graphcomm& data) : Intracomm(data.mpi_comm) { } - // assignment - Graphcomm& operator=(const Graphcomm& data) { - mpi_comm = data.mpi_comm; return *this; } - Graphcomm& operator=(const Comm_Null& data) { - mpi_comm = data; return *this; } - // inter-language operability - Graphcomm& operator=(const MPI_Comm& data) { - mpi_comm = data; return *this; } -#endif - - // - // Groups, Contexts, and Communicators - // - - Graphcomm Dup() const; - - virtual Graphcomm& Clone() const; - - // - // Process Topologies - // - - virtual void Get_dims(int nnodes[], int nedges[]) const; - - virtual void Get_topo(int maxindex, int maxedges, int index[], - int edges[]) const; - - virtual int Get_neighbors_count(int rank) const; - - virtual void Get_neighbors(int rank, int maxneighbors, - int neighbors[]) const; - - virtual int Map(int nnodes, const int index[], - const int edges[]) const; - -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ -private: - PMPI::Graphcomm pmpi_comm; -#endif -}; - diff --git a/ompi/mpi/cxx/topology_inln.h b/ompi/mpi/cxx/topology_inln.h deleted file mode 100644 index 13a1542bd9..0000000000 --- a/ompi/mpi/cxx/topology_inln.h +++ /dev/null @@ -1,220 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. -// Copyright (c) 2011 FUJITSU LIMITED. All rights reserved. -// Copyright (c) 2016 Cisco Systems, Inc. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -// -// ======== Cartcomm member functions ======== -// - -inline -MPI::Cartcomm::Cartcomm(const MPI_Comm& data) { - int status = 0; - if (MPI::Is_initialized() && (data != MPI_COMM_NULL)) { - (void)MPI_Topo_test(data, &status) ; - if (status == MPI_CART) - mpi_comm = data; - else - mpi_comm = MPI_COMM_NULL; - } - else { - mpi_comm = data; - } -} - -// -// Groups, Contexts, and Communicators -// - -inline MPI::Cartcomm -MPI::Cartcomm::Dup() const -{ - MPI_Comm newcomm; - (void)MPI_Comm_dup(mpi_comm, &newcomm); - return newcomm; -} - -// -// Process Topologies -// - -inline int -MPI::Cartcomm::Get_dim() const -{ - int ndims; - (void)MPI_Cartdim_get(mpi_comm, &ndims); - return ndims; -} - -inline void -MPI::Cartcomm::Get_topo(int maxdims, int dims[], bool periods[], - int coords[]) const -{ - int *int_periods = new int [maxdims]; - int i; - for (i=0; i(coords), &myrank); - return myrank; -} - -inline void -MPI::Cartcomm::Get_coords(int rank, int maxdims, int coords[]) const -{ - (void)MPI_Cart_coords(mpi_comm, rank, maxdims, coords); -} - -inline void -MPI::Cartcomm::Shift(int direction, int disp, - int &rank_source, int &rank_dest) const -{ - (void)MPI_Cart_shift(mpi_comm, direction, disp, &rank_source, &rank_dest); -} - -inline MPI::Cartcomm -MPI::Cartcomm::Sub(const bool remain_dims[]) const -{ - int ndims; - MPI_Cartdim_get(mpi_comm, &ndims); - int* int_remain_dims = new int[ndims]; - for (int i=0; i(dims), int_periods, &newrank); - delete [] int_periods; - return newrank; -} - - -inline MPI::Cartcomm& -MPI::Cartcomm::Clone() const -{ - MPI_Comm newcomm; - (void)MPI_Comm_dup(mpi_comm, &newcomm); - MPI::Cartcomm* dup = new MPI::Cartcomm(newcomm); - return *dup; -} - -// -// ======== Graphcomm member functions ======== -// - -inline -MPI::Graphcomm::Graphcomm(const MPI_Comm& data) { - int status = 0; - if (MPI::Is_initialized() && (data != MPI_COMM_NULL)) { - (void)MPI_Topo_test(data, &status) ; - if (status == MPI_GRAPH) - mpi_comm = data; - else - mpi_comm = MPI_COMM_NULL; - } - else { - mpi_comm = data; - } -} - -// -// Groups, Contexts, and Communicators -// - -inline MPI::Graphcomm -MPI::Graphcomm::Dup() const -{ - MPI_Comm newcomm; - (void)MPI_Comm_dup(mpi_comm, &newcomm); - return newcomm; -} - -// -// Process Topologies -// - -inline void -MPI::Graphcomm::Get_dims(int nnodes[], int nedges[]) const -{ - (void)MPI_Graphdims_get(mpi_comm, nnodes, nedges); -} - -inline void -MPI::Graphcomm::Get_topo(int maxindex, int maxedges, int index[], - int edges[]) const -{ - (void)MPI_Graph_get(mpi_comm, maxindex, maxedges, index, edges); -} - -inline int -MPI::Graphcomm::Get_neighbors_count(int rank) const -{ - int nneighbors; - (void)MPI_Graph_neighbors_count(mpi_comm, rank, &nneighbors); - return nneighbors; -} - -inline void -MPI::Graphcomm::Get_neighbors(int rank, int maxneighbors, - int neighbors[]) const -{ - (void)MPI_Graph_neighbors(mpi_comm, rank, maxneighbors, neighbors); -} - -inline int -MPI::Graphcomm::Map(int nnodes, const int index[], - const int edges[]) const -{ - int newrank; - (void)MPI_Graph_map(mpi_comm, nnodes, const_cast(index), const_cast(edges), &newrank); - return newrank; -} - -inline MPI::Graphcomm& -MPI::Graphcomm::Clone() const -{ - MPI_Comm newcomm; - (void)MPI_Comm_dup(mpi_comm, &newcomm); - MPI::Graphcomm* dup = new MPI::Graphcomm(newcomm); - return *dup; -} diff --git a/ompi/mpi/cxx/win.cc b/ompi/mpi/cxx/win.cc deleted file mode 100644 index 7e1a18e695..0000000000 --- a/ompi/mpi/cxx/win.cc +++ /dev/null @@ -1,113 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2006-2016 Los Alamos National Security, LLC. All rights -// reserved. -// Copyright (c) 2007-2008 Sun Microsystems, Inc. All rights reserved. -// Copyright (c) 2007-2009 Cisco Systems, Inc. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - -// do not include ompi_config.h because it kills the free/malloc defines -#include "mpi.h" -#include "ompi/constants.h" -#include "ompi/mpi/cxx/mpicxx.h" -#include "cxx_glue.h" - -void -MPI::Win::Free() -{ - (void) MPI_Win_free(&mpi_win); -} - - -// This function needs some internal OMPI types, so it's not inlined -MPI::Errhandler -MPI::Win::Create_errhandler(MPI::Win::Errhandler_function* function) -{ - return ompi_cxx_errhandler_create_win ((ompi_cxx_dummy_fn_t *) function); -} - - -int -MPI::Win::do_create_keyval(MPI_Win_copy_attr_function* c_copy_fn, - MPI_Win_delete_attr_function* c_delete_fn, - Copy_attr_function* cxx_copy_fn, - Delete_attr_function* cxx_delete_fn, - void* extra_state, int &keyval) -{ - int ret, count = 0; - keyval_intercept_data_t *cxx_extra_state; - - // If both the callbacks are C, then do the simple thing -- no - // need for all the C++ machinery. - if (NULL != c_copy_fn && NULL != c_delete_fn) { - ret = ompi_cxx_attr_create_keyval_win (c_copy_fn, c_delete_fn, &keyval, - extra_state, 0, NULL); - if (MPI_SUCCESS != ret) { - return ompi_cxx_errhandler_invoke_comm (MPI_COMM_WORLD, ret, - "MPI::Win::Create_keyval"); - } - } - - // If either callback is C++, then we have to use the C++ - // callbacks for both, because we have to generate a new - // extra_state. And since we only get one extra_state (i.e., we - // don't get one extra_state for the copy callback and another - // extra_state for the delete callback), we have to use the C++ - // callbacks for both (and therefore translate the C++-special - // extra_state into the user's original extra_state). - cxx_extra_state = (keyval_intercept_data_t*) - malloc(sizeof(keyval_intercept_data_t)); - if (NULL == cxx_extra_state) { - return ompi_cxx_errhandler_invoke_comm (MPI_COMM_WORLD, MPI_ERR_NO_MEM, - "MPI::Win::Create_keyval"); - } - cxx_extra_state->c_copy_fn = c_copy_fn; - cxx_extra_state->cxx_copy_fn = cxx_copy_fn; - cxx_extra_state->c_delete_fn = c_delete_fn; - cxx_extra_state->cxx_delete_fn = cxx_delete_fn; - cxx_extra_state->extra_state = extra_state; - - // Error check. Must have exactly 2 non-NULL function pointers. - if (NULL != c_copy_fn) { - ++count; - } - if (NULL != c_delete_fn) { - ++count; - } - if (NULL != cxx_copy_fn) { - ++count; - } - if (NULL != cxx_delete_fn) { - ++count; - } - if (2 != count) { - free(cxx_extra_state); - return ompi_cxx_errhandler_invoke_comm (MPI_COMM_WORLD, MPI_ERR_ARG, - "MPI::Win::Create_keyval"); - } - - // We do not call MPI_Win_create_keyval() here because we need to - // pass in a special destructor to the backend keyval creation - // that gets invoked when the keyval's reference count goes to 0 - // and is finally destroyed (i.e., clean up some caching/lookup - // data here in the C++ bindings layer). This destructor is - // *only* used in the C++ bindings, so it's not set by the C - // MPI_Comm_create_keyval(). Hence, we do all the work here (and - // ensure to set the destructor atomicly when the keyval is - // created). - - ret = ompi_cxx_attr_create_keyval_win ((MPI_Win_copy_attr_function *) ompi_mpi_cxx_win_copy_attr_intercept, - ompi_mpi_cxx_win_delete_attr_intercept, &keyval, - cxx_extra_state, 0, NULL); - if (OMPI_SUCCESS != ret) { - return ompi_cxx_errhandler_invoke_comm (MPI_COMM_WORLD, ret, - "MPI::Win::Create_keyval"); - } - - return MPI_SUCCESS; -} diff --git a/ompi/mpi/cxx/win.h b/ompi/mpi/cxx/win.h deleted file mode 100644 index 8c3b0bb1be..0000000000 --- a/ompi/mpi/cxx/win.h +++ /dev/null @@ -1,212 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2006-2009 Cisco Systems, Inc. All rights reserved. -// Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - - -class Win { -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - // friend class P; -#endif - friend class MPI::Comm; //so I can access pmpi_win data member in comm.cc - friend class MPI::Request; //and also from request.cc - -public: -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - - // construction / destruction - Win() { } - virtual ~Win() { } - - - // copy / assignment - Win(const Win& data) : pmpi_win(data.pmpi_win) { } - - Win(MPI_Win i) : pmpi_win(i) { } - - Win& operator=(const Win& data) { - pmpi_win = data.pmpi_win; return *this; } - - // comparison, don't need for win - - // inter-language operability - Win& operator= (const MPI_Win &i) { - pmpi_win = i; return *this; } - operator MPI_Win () const { return pmpi_win; } - // operator MPI_Win* () const { return pmpi_win; } - operator const PMPI::Win&() const { return pmpi_win; } - -#else - - Win() : mpi_win(MPI_WIN_NULL) { } - // copy - Win(const Win& data) : mpi_win(data.mpi_win) { } - - Win(MPI_Win i) : mpi_win(i) { } - - virtual ~Win() { } - - Win& operator=(const Win& data) { - mpi_win = data.mpi_win; return *this; } - - // comparison, don't need for win - - // inter-language operability - Win& operator= (const MPI_Win &i) { - mpi_win = i; return *this; } - operator MPI_Win () const { return mpi_win; } - // operator MPI_Win* () const { return (MPI_Win*)&mpi_win; } - -#endif - - // - // User defined functions - // - typedef int Copy_attr_function(const Win& oldwin, int win_keyval, - void* extra_state, void* attribute_val_in, - void* attribute_val_out, bool& flag); - - typedef int Delete_attr_function(Win& win, int win_keyval, - void* attribute_val, void* extra_state); - - typedef void Errhandler_function(Win &, int *, ... ); - typedef Errhandler_function Errhandler_fn - __mpi_interface_deprecated__("MPI::Win::Errhandler_fn was deprecated in MPI-2.2; use MPI::Win::Errhandler_function instead"); - - // - // Errhandler - // - static MPI::Errhandler Create_errhandler(Errhandler_function* function); - - virtual void Set_errhandler(const MPI::Errhandler& errhandler) const; - - virtual MPI::Errhandler Get_errhandler() const; - - // - // One sided communication - // - virtual void Accumulate(const void* origin_addr, int origin_count, - const MPI::Datatype& origin_datatype, - int target_rank, MPI::Aint target_disp, - int target_count, - const MPI::Datatype& target_datatype, - const MPI::Op& op) const; - - virtual void Complete() const; - - static Win Create(const void* base, MPI::Aint size, int disp_unit, - const MPI::Info& info, const MPI::Intracomm& comm); - - virtual void Fence(int assert) const; - - virtual void Free(); - - virtual void Get(const void *origin_addr, int origin_count, - const MPI::Datatype& origin_datatype, int target_rank, - MPI::Aint target_disp, int target_count, - const MPI::Datatype& target_datatype) const; - - virtual MPI::Group Get_group() const; - - virtual void Lock(int lock_type, int rank, int assert) const; - - virtual void Post(const MPI::Group& group, int assert) const; - - virtual void Put(const void* origin_addr, int origin_count, - const MPI::Datatype& origin_datatype, int target_rank, - MPI::Aint target_disp, int target_count, - const MPI::Datatype& target_datatype) const; - - virtual void Start(const MPI::Group& group, int assert) const; - - virtual bool Test() const; - - virtual void Unlock(int rank) const; - - virtual void Wait() const; - - - // - // External Interfaces - // - virtual void Call_errhandler(int errorcode) const; - - // Need 4 overloaded versions of this function because per the - // MPI-2 spec, you can mix-n-match the C predefined functions with - // C++ functions. - static int Create_keyval(Copy_attr_function* win_copy_attr_fn, - Delete_attr_function* win_delete_attr_fn, - void* extra_state); - static int Create_keyval(MPI_Win_copy_attr_function* win_copy_attr_fn, - MPI_Win_delete_attr_function* win_delete_attr_fn, - void* extra_state); - static int Create_keyval(Copy_attr_function* win_copy_attr_fn, - MPI_Win_delete_attr_function* win_delete_attr_fn, - void* extra_state); - static int Create_keyval(MPI_Win_copy_attr_function* win_copy_attr_fn, - Delete_attr_function* win_delete_attr_fn, - void* extra_state); - -protected: - // Back-end function to do the heavy lifting for creating the - // keyval - static int do_create_keyval(MPI_Win_copy_attr_function* c_copy_fn, - MPI_Win_delete_attr_function* c_delete_fn, - Copy_attr_function* cxx_copy_fn, - Delete_attr_function* cxx_delete_fn, - void* extra_state, int &keyval); - -public: - virtual void Delete_attr(int win_keyval); - - static void Free_keyval(int& win_keyval); - - // version 1: pre-errata Get_attr (not correct, but probably nice to support - bool Get_attr(const Win& win, int win_keyval, - void* attribute_val) const; - - // version 2: post-errata Get_attr (correct, but no one seems to know about it) - bool Get_attr(int win_keyval, void* attribute_val) const; - - virtual void Get_name(char* win_name, int& resultlen) const; - - virtual void Set_attr(int win_keyval, const void* attribute_val); - - virtual void Set_name(const char* win_name); - - // Data that is passed through keyval create when C++ callback - // functions are used - struct keyval_intercept_data_t { - MPI_Win_copy_attr_function *c_copy_fn; - MPI_Win_delete_attr_function *c_delete_fn; - Copy_attr_function* cxx_copy_fn; - Delete_attr_function* cxx_delete_fn; - void *extra_state; - }; - - // Protect the global list from multiple thread access - static opal_mutex_t cxx_extra_states_lock; - -protected: -#if 0 /* OMPI_ENABLE_MPI_PROFILING */ - PMPI::Win pmpi_win; -#else - MPI_Win mpi_win; -#endif -}; diff --git a/ompi/mpi/cxx/win_inln.h b/ompi/mpi/cxx/win_inln.h deleted file mode 100644 index d890196723..0000000000 --- a/ompi/mpi/cxx/win_inln.h +++ /dev/null @@ -1,295 +0,0 @@ -// -*- c++ -*- -// -// Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -// University Research and Technology -// Corporation. All rights reserved. -// Copyright (c) 2004-2005 The University of Tennessee and The University -// of Tennessee Research Foundation. All rights -// reserved. -// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, -// University of Stuttgart. All rights reserved. -// Copyright (c) 2004-2005 The Regents of the University of California. -// All rights reserved. -// Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved. -// Copyright (c) 2007-2008 Cisco Systems, Inc. All rights reserved. -// $COPYRIGHT$ -// -// Additional copyrights may follow -// -// $HEADER$ -// - - - -// -// Miscellany -// - - -inline MPI::Errhandler -MPI::Win:: Get_errhandler() const -{ - MPI_Errhandler errhandler; - MPI_Win_get_errhandler(mpi_win, &errhandler); - return errhandler; -} - - -inline void -MPI::Win::Set_errhandler(const MPI::Errhandler& errhandler) const -{ - (void)MPI_Win_set_errhandler(mpi_win, errhandler); -} - - -// -// One sided communication -// - - -inline void -MPI::Win::Accumulate(const void* origin_addr, int origin_count, - const MPI::Datatype& origin_datatype, int target_rank, - MPI::Aint target_disp, int target_count, - const MPI::Datatype& target_datatype, - const MPI::Op& op) const -{ - (void) MPI_Accumulate(const_cast(origin_addr), origin_count, origin_datatype, - target_rank, target_disp, target_count, - target_datatype, op, mpi_win); - -} - - -inline void -MPI::Win::Complete() const -{ - (void) MPI_Win_complete(mpi_win); -} - - -inline MPI::Win -MPI::Win::Create(const void* base, MPI::Aint size, - int disp_unit, const MPI::Info& info, - const MPI::Intracomm& comm) -{ - MPI_Win newwin; - (void) MPI_Win_create(const_cast(base), size, disp_unit, info, comm, &newwin); - return newwin; -} - - -inline void -MPI::Win::Fence(int assert) const -{ - (void) MPI_Win_fence(assert, mpi_win); -} - - -inline void -MPI::Win::Get(const void *origin_addr, int origin_count, - const MPI::Datatype& origin_datatype, - int target_rank, MPI::Aint target_disp, - int target_count, - const MPI::Datatype& target_datatype) const -{ - (void) MPI_Get(const_cast(origin_addr), origin_count, origin_datatype, - target_rank, target_disp, - target_count, target_datatype, mpi_win); - -} - - -inline MPI::Group -MPI::Win::Get_group() const -{ - MPI_Group mpi_group; - (void) MPI_Win_get_group(mpi_win, &mpi_group); - return mpi_group; -} - - -inline void -MPI::Win::Lock(int lock_type, int rank, int assert) const -{ - (void) MPI_Win_lock(lock_type, rank, assert, mpi_win); -} - - -inline void -MPI::Win::Post(const MPI::Group& group, int assert) const -{ - (void) MPI_Win_post(group, assert, mpi_win); -} - - -inline void -MPI::Win::Put(const void* origin_addr, int origin_count, - const MPI::Datatype& origin_datatype, - int target_rank, MPI::Aint target_disp, - int target_count, - const MPI::Datatype& target_datatype) const -{ - (void) MPI_Put(const_cast(origin_addr), origin_count, origin_datatype, - target_rank, target_disp, target_count, - target_datatype, mpi_win); - -} - - -inline void -MPI::Win::Start(const MPI::Group& group, int assert) const -{ - (void) MPI_Win_start(group, assert, mpi_win); -} - - -inline bool -MPI::Win::Test() const -{ - int flag; - MPI_Win_test(mpi_win, &flag); - return OPAL_INT_TO_BOOL(flag); - -} - - -inline void -MPI::Win::Unlock(int rank) const -{ - (void) MPI_Win_unlock(rank, mpi_win); -} - - -inline void -MPI::Win::Wait() const -{ - (void) MPI_Win_wait(mpi_win); -} - - -// -// External Interfaces -// - -inline void -MPI::Win::Call_errhandler(int errorcode) const -{ - (void) MPI_Win_call_errhandler(mpi_win, errorcode); -} - -// 1) original Create_keyval that takes the first 2 arguments as C++ -// functions -inline int -MPI::Win::Create_keyval(MPI::Win::Copy_attr_function* win_copy_attr_fn, - MPI::Win::Delete_attr_function* win_delete_attr_fn, - void* extra_state) -{ - // Back-end function does the heavy lifting - int ret, keyval; - ret = do_create_keyval(NULL, NULL, - win_copy_attr_fn, win_delete_attr_fn, - extra_state, keyval); - return (MPI_SUCCESS == ret) ? keyval : ret; -} - -// 2) overload Create_keyval to take the first 2 arguments as C -// functions -inline int -MPI::Win::Create_keyval(MPI_Win_copy_attr_function* win_copy_attr_fn, - MPI_Win_delete_attr_function* win_delete_attr_fn, - void* extra_state) -{ - // Back-end function does the heavy lifting - int ret, keyval; - ret = do_create_keyval(win_copy_attr_fn, win_delete_attr_fn, - NULL, NULL, - extra_state, keyval); - return (MPI_SUCCESS == ret) ? keyval : ret; -} - -// 3) overload Create_keyval to take the first 2 arguments as C++ & C -// functions -inline int -MPI::Win::Create_keyval(MPI::Win::Copy_attr_function* win_copy_attr_fn, - MPI_Win_delete_attr_function* win_delete_attr_fn, - void* extra_state) -{ - // Back-end function does the heavy lifting - int ret, keyval; - ret = do_create_keyval(NULL, win_delete_attr_fn, - win_copy_attr_fn, NULL, - extra_state, keyval); - return (MPI_SUCCESS == ret) ? keyval : ret; -} - -// 4) overload Create_keyval to take the first 2 arguments as C & C++ -// functions -inline int -MPI::Win::Create_keyval(MPI_Win_copy_attr_function* win_copy_attr_fn, - MPI::Win::Delete_attr_function* win_delete_attr_fn, - void* extra_state) -{ - // Back-end function does the heavy lifting - int ret, keyval; - ret = do_create_keyval(win_copy_attr_fn, NULL, - NULL, win_delete_attr_fn, - extra_state, keyval); - return (MPI_SUCCESS == ret) ? keyval : ret; -} - -inline void -MPI::Win::Delete_attr(int win_keyval) -{ - (void) MPI_Win_delete_attr(mpi_win, win_keyval); -} - - -inline void -MPI::Win::Free_keyval(int& win_keyval) -{ - (void) MPI_Win_free_keyval(&win_keyval); -} - - -// version 1: pre-errata Get_attr (not correct, but probably nice to support -inline bool -MPI::Win::Get_attr(const Win& win, int win_keyval, - void* attribute_val) const -{ - int ret; - (void) MPI_Win_get_attr(win, win_keyval, attribute_val, &ret); - return OPAL_INT_TO_BOOL(ret); -} - - -// version 2: post-errata Get_attr (correct, but no one seems to know about it) -inline bool -MPI::Win::Get_attr(int win_keyval, void* attribute_val) const -{ - int ret; - (void) MPI_Win_get_attr(mpi_win, win_keyval, attribute_val, &ret); - return OPAL_INT_TO_BOOL(ret); -} - - -inline void -MPI::Win::Get_name(char* win_name, int& resultlen) const -{ - (void) MPI_Win_get_name(mpi_win, win_name, &resultlen); -} - - -inline void -MPI::Win::Set_attr(int win_keyval, const void* attribute_val) -{ - (void) MPI_Win_set_attr(mpi_win, win_keyval, const_cast(attribute_val)); -} - - -inline void -MPI::Win::Set_name(const char* win_name) -{ - (void) MPI_Win_set_name(mpi_win, const_cast(win_name)); -} - diff --git a/ompi/mpi/man/man3/MPI_Abort.3in b/ompi/mpi/man/man3/MPI_Abort.3in index ecb39aec45..112b3ebb54 100644 --- a/ompi/mpi/man/man3/MPI_Abort.3in +++ b/ompi/mpi/man/man3/MPI_Abort.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Abort 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -32,12 +33,6 @@ MPI_Abort(\fIcomm\fP, \fIerrorcode\fP, \fIierror\fP) INTEGER, INTENT(IN) :: \fIerrorcode\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Comm::Abort(int \fIerrorcode\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -67,7 +62,7 @@ The long-term goal of the Open MPI implementation is to terminate all processes Note: All associated processes are sent a SIGTERM. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler diff --git a/ompi/mpi/man/man3/MPI_Accumulate.3in b/ompi/mpi/man/man3/MPI_Accumulate.3in index cfcdb950e3..baa1110714 100644 --- a/ompi/mpi/man/man3/MPI_Accumulate.3in +++ b/ompi/mpi/man/man3/MPI_Accumulate.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Accumulate 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -69,15 +70,6 @@ MPI_Raccumulate(\fIorigin_addr\fP, \fIorigin_count\fP, \fIorigin_datatype\fP, \f TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Win::Accumulate(const void* \fIorigin_addr\fP, int \fIorigin_count\fP, - const MPI::Datatype& \fIorigin_datatype\fP, int \fItarget_rank\fP, - MPI::Aint \fItarget_disp\fP, int \fItarget_count\fP, const MPI::Datatype& - \fItarget_datatype\fP, const MPI::Op& \fIop\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -159,7 +151,7 @@ that accesses to the window are properly aligned according to the data type arguments in the call to the \fBMPI_Accumulate\fP function. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler diff --git a/ompi/mpi/man/man3/MPI_Add_error_class.3in b/ompi/mpi/man/man3/MPI_Add_error_class.3in index 7e970c8db8..1d150f96de 100644 --- a/ompi/mpi/man/man3/MPI_Add_error_class.3in +++ b/ompi/mpi/man/man3/MPI_Add_error_class.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Add_error_class 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -34,12 +35,6 @@ MPI_Add_error_class(\fIerrorclass\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIerrorclass\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int MPI::Add_error_class() - .fi .SH OUTPUT PARAMETERS .ft R @@ -77,10 +72,7 @@ The value returned is always greater than or equal to MPI_ERR_LASTCODE. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Add_error_code.3in b/ompi/mpi/man/man3/MPI_Add_error_code.3in index a1f3a88279..6ddbbf671d 100644 --- a/ompi/mpi/man/man3/MPI_Add_error_code.3in +++ b/ompi/mpi/man/man3/MPI_Add_error_code.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Add_error_code 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -34,12 +35,6 @@ MPI_Add_error_code(\fIerrorclass\fP, \fIerrorcode\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIerrorcode\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int MPI::Add_error_code(int \fIerrorclass\fP, int* \fIerrorcode\fP) - .fi .SH INPUT PARAMETER .ft R @@ -71,10 +66,7 @@ The value returned is always greater than or equal to MPI_ERR_LASTCODE. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Add_error_string.3in b/ompi/mpi/man/man3/MPI_Add_error_string.3in index 8d9879cff8..9955732a98 100644 --- a/ompi/mpi/man/man3/MPI_Add_error_string.3in +++ b/ompi/mpi/man/man3/MPI_Add_error_string.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Add_error_string 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -37,12 +38,6 @@ MPI_Add_error_string(\fIerrorcode\fP, \fIstring\fP, \fIierror\fP) CHARACTER(LEN=*), INTENT(IN) :: \fIstring\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Add_error_string(int \fIerrorcode\fP, const char* \fIstring\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -73,10 +68,7 @@ greater than MPI_LAST_ERRCODE). .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Address.3in b/ompi/mpi/man/man3/MPI_Address.3in index 83fef395e3..bd55405390 100644 --- a/ompi/mpi/man/man3/MPI_Address.3in +++ b/ompi/mpi/man/man3/MPI_Address.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Address 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -44,8 +45,6 @@ Fortran only: Error status (integer). .ft R Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Get_address instead. .sp -This deprecated routine is not available in C++. -.sp The address of a location in memory can be found by invoking this function. Returns the (byte) address of location. .sp Example: Using MPI_Address for an array. @@ -82,7 +81,7 @@ MPI_Address to "reference" C variables guarantees portability to such machines as well. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler diff --git a/ompi/mpi/man/man3/MPI_Allgather.3in b/ompi/mpi/man/man3/MPI_Allgather.3in index 3f8dcd1296..5a0bc50375 100644 --- a/ompi/mpi/man/man3/MPI_Allgather.3in +++ b/ompi/mpi/man/man3/MPI_Allgather.3in @@ -3,6 +3,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Allgather 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -61,14 +62,6 @@ MPI_Iallgather(\fIsendbuf\fP, \fIsendcount\fP, \fIsendtype\fP, \fIrecvbuf\fP, \f TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Comm::Allgather(const void* \fIsendbuf\fP, int \fIsendcount\fP, const - MPI::Datatype& \fIsendtype\fP, void* \fIrecvbuf\fP, int \fIrecvcount\fP, - const MPI::Datatype& \fIrecvtype\fP) const = 0 - .fi .SH INPUT PARAMETERS .ft R @@ -157,7 +150,7 @@ When the communicator is an inter-communicator, the gather operation occurs in t .sp .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler diff --git a/ompi/mpi/man/man3/MPI_Allgatherv.3in b/ompi/mpi/man/man3/MPI_Allgatherv.3in index 20261f3fa7..8ebf6fae27 100644 --- a/ompi/mpi/man/man3/MPI_Allgatherv.3in +++ b/ompi/mpi/man/man3/MPI_Allgatherv.3in @@ -3,6 +3,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2007-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Allgatherv 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -63,15 +64,6 @@ MPI_Iallgatherv(\fIsendbuf\fP, \fIsendcount\fP, \fIsendtype\fP, \fIrecvbuf\fP, \ TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Comm::Allgatherv(const void* \fIsendbuf\fP, int \fIsendcount\fP, - const MPI::Datatype& \fIsendtype\fP, void* \fIrecvbuf\fP, - const int \fIrecvcounts\fP[], const int \fIdispls\fP[], - const MPI::Datatype& \fIrecvtype\fP) const = 0 - .fi .SH INPUT PARAMETERS .ft R @@ -145,7 +137,7 @@ When the communicator is an inter-communicator, the gather operation occurs in t .sp .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler diff --git a/ompi/mpi/man/man3/MPI_Alloc_mem.3in b/ompi/mpi/man/man3/MPI_Alloc_mem.3in index fd71bc2c4b..6f2daa1719 100644 --- a/ompi/mpi/man/man3/MPI_Alloc_mem.3in +++ b/ompi/mpi/man/man3/MPI_Alloc_mem.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Alloc_mem 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,12 +35,6 @@ MPI_Alloc_mem(\fIsize\fP, \fIinfo\fP, \fIbaseptr\fP, \fIierror\fP) TYPE(C_PTR), INTENT(OUT) :: \fIbaseptr\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void* MPI::Alloc_mem(MPI::Aint \fIsize\fP, const MPI::Info& \fIinfo\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -101,7 +96,7 @@ For example, .ft R .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler diff --git a/ompi/mpi/man/man3/MPI_Allreduce.3in b/ompi/mpi/man/man3/MPI_Allreduce.3in index 45a74c29c4..380b6f4c26 100644 --- a/ompi/mpi/man/man3/MPI_Allreduce.3in +++ b/ompi/mpi/man/man3/MPI_Allreduce.3in @@ -3,6 +3,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2007-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Allreduce 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -57,14 +58,6 @@ MPI_Iallreduce(\fIsendbuf\fP, \fIrecvbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIop\ TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Comm::Allreduce(const void* \fIsendbuf\fP, void* \fIrecvbuf\fP, - int \fIcount\fP, const MPI::Datatype& \fIdatatype\fP, const - MPI::Op& \fIop\fP) const=0 - .fi .SH INPUT PARAMETERS .ft R @@ -174,7 +167,7 @@ to something else, for example, then no error may be indicated. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler diff --git a/ompi/mpi/man/man3/MPI_Alltoall.3in b/ompi/mpi/man/man3/MPI_Alltoall.3in index 6f8e7a572c..2a9babbd99 100644 --- a/ompi/mpi/man/man3/MPI_Alltoall.3in +++ b/ompi/mpi/man/man3/MPI_Alltoall.3in @@ -3,6 +3,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Alltoall 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -67,14 +68,6 @@ MPI_Ialltoall(\fIsendbuf\fP, \fIsendcount\fP, \fIsendtype\fP, \fIrecvbuf\fP, \fI TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Comm::Alltoall(const void* \fIsendbuf\fP, int \fIsendcount\fP, - const MPI::Datatype& \fIsendtype\fP, void* \fIrecvbuf\fP, - int \fIrecvcount\fP, const MPI::Datatype& \fIrecvtype\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -159,10 +152,7 @@ different datatypes. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Alltoallv.3in b/ompi/mpi/man/man3/MPI_Alltoallv.3in index 678b3f4bf8..c3d70d7118 100644 --- a/ompi/mpi/man/man3/MPI_Alltoallv.3in +++ b/ompi/mpi/man/man3/MPI_Alltoallv.3in @@ -3,6 +3,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Alltoallv 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -73,16 +74,6 @@ MPI_Ialltoallv(\fIsendbuf\fP, \fIsendcounts\fP, \fIsdispls\fP, \fIsendtype\fP, \ TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Comm::Alltoallv(const void* \fIsendbuf\fP, - const int \fIsendcounts\fP[], const int \fIdispls\fP[], - const MPI::Datatype& \fIsendtype\fP, void* \fIrecvbuf\fP, - const int \fIrecvcounts\fP[], const int \fIrdispls\fP[], - const MPI::Datatype& \fIrecvtype\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -192,10 +183,7 @@ MPI_Alltoallw, where these offsets are measured in bytes. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Alltoallw.3in b/ompi/mpi/man/man3/MPI_Alltoallw.3in index 4dd86983d8..73a16c7304 100644 --- a/ompi/mpi/man/man3/MPI_Alltoallw.3in +++ b/ompi/mpi/man/man3/MPI_Alltoallw.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Alltoallw 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -76,16 +77,6 @@ MPI_Ialltoallw(\fIsendbuf\fP, \fIsendcounts\fP, \fIsdispls\fP, \fIsendtypes\fP, TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Comm::Alltoallw(const void* \fIsendbuf\fP, - const int \fIsendcounts\fP[], const int \fIsdispls\fP[], - const MPI::Datatype \fIsendtypes\fP[], void* \fIrecvbuf\fP, - const int \fIrecvcounts\fP[], const int \fIrdispls\fP[], - const MPI::Datatype \fIrecvtypes\fP[]) - .fi .SH INPUT PARAMETERS .ft R @@ -196,10 +187,7 @@ of \fIsendtype\fP and \fIrecvtype\fP, respectively. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Attr_delete.3in b/ompi/mpi/man/man3/MPI_Attr_delete.3in index 30ee14ad7a..2ea3485e04 100644 --- a/ompi/mpi/man/man3/MPI_Attr_delete.3in +++ b/ompi/mpi/man/man3/MPI_Attr_delete.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Attr_delete 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -41,7 +42,7 @@ Fortran only: Error status (integer). .SH DESCRIPTION Note that use of this routine is \fIdeprecated\fP as of MPI-2, and was \fIdeleted\fP in MPI-3. Please use MPI_Comm_delete_attr. This -function does not have a C++ or mpi_f08 binding. +function does not have a mpi_f08 binding. .sp Delete attribute from cache by key. This function invokes the attribute delete function delete_fn specified when the keyval was created. The call will fail if the delete_fn function returns an error code other than MPI_SUCCESS. @@ -57,7 +58,7 @@ is being invoked. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler diff --git a/ompi/mpi/man/man3/MPI_Attr_get.3in b/ompi/mpi/man/man3/MPI_Attr_get.3in index def22fcb7c..bcfb281923 100644 --- a/ompi/mpi/man/man3/MPI_Attr_get.3in +++ b/ompi/mpi/man/man3/MPI_Attr_get.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Attr_get 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -51,13 +52,13 @@ Fortran only: Error status (integer). .ft R Note that use of this routine is \fIdeprecated\fP as of MPI-2, and was \fIdeleted\fP in MPI-3. Please use MPI_Comm_get_attr. This -function does not have a C++ or mpi_f08 binding. +function does not have a mpi_f08 binding. .sp Retrieves attribute value by key. The call is erroneous if there is no key with value keyval. On the other hand, the call is correct if the key value exists, but no attribute is attached on comm for that key; in such case, the call returns flag = false. In particular MPI_KEYVAL_INVALID is an erroneous key value. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler diff --git a/ompi/mpi/man/man3/MPI_Attr_put.3in b/ompi/mpi/man/man3/MPI_Attr_put.3in index 32804686c1..c4553a97bc 100644 --- a/ompi/mpi/man/man3/MPI_Attr_put.3in +++ b/ompi/mpi/man/man3/MPI_Attr_put.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Attr_put 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -45,7 +46,7 @@ Fortran only: Error status (integer). .ft R Note that use of this routine is \fIdeprecated\fP as of MPI-2, and was \fIdeleted\fP in MPI-3. Please use MPI_Comm_set_attr. This -function does not have a C++ or mpi_f08 binding. +function does not have a mpi_f08 binding. .sp MPI_Attr_put stores the stipulated attribute value attribute_val for subsequent retrieval by MPI_Attr_get. If the value is already present, then the outcome is as if MPI_Attr_delete was first called to delete the previous value (and the callback function delete_fn was executed), and a new value was next stored. The call is erroneous if there is no key with value keyval; in particular MPI_KEYVAL_INVALID is an erroneous key value. The call will fail if the delete_fn function returned an error code other than MPI_SUCCESS. @@ -59,7 +60,7 @@ The type of the attribute value depends on whether C or Fortran is being used. I If an attribute is already present, the delete function (specified when the corresponding keyval was created) will be called. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler diff --git a/ompi/mpi/man/man3/MPI_Barrier.3in b/ompi/mpi/man/man3/MPI_Barrier.3in index 9e84efed9d..b6fa0745fd 100644 --- a/ompi/mpi/man/man3/MPI_Barrier.3in +++ b/ompi/mpi/man/man3/MPI_Barrier.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2014-2015 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Barrier 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -40,12 +41,6 @@ MPI_Ibarrier(\fIcomm\fP, \fIrequest\fP, \fIierror\fP) TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Comm::Barrier() const = 0 - .fi .SH INPUT PARAMETER .ft R @@ -72,7 +67,7 @@ barrier. When the communicator is an inter-communicator, the barrier operation is performed across all processes in both groups. All processes in the first group may exit the barrier when all processes in the second group have entered the barrier. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Bcast.3in b/ompi/mpi/man/man3/MPI_Bcast.3in index 8c4688c34d..b9f3d2233e 100644 --- a/ompi/mpi/man/man3/MPI_Bcast.3in +++ b/ompi/mpi/man/man3/MPI_Bcast.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Bcast 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -50,13 +51,6 @@ MPI_Ibcast(\fIbuffer\fP, \fIcount\fP, \fIdatatype\fP, \fIroot\fP, \fIcomm\fP, \f TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Comm::Bcast(void* \fIbuffer\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP, int \fIroot\fP) const = 0 - .fi .SH INPUT/OUTPUT PARAMETERS .ft R @@ -113,7 +107,7 @@ This function does not support the in-place option. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Bsend.3in b/ompi/mpi/man/man3/MPI_Bsend.3in index a21911156a..6977ce7444 100644 --- a/ompi/mpi/man/man3/MPI_Bsend.3in +++ b/ompi/mpi/man/man3/MPI_Bsend.3in @@ -3,6 +3,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Bsend 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -36,13 +37,6 @@ MPI_Bsend(\fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIdest\fP, \fItag\fP, \fIcomm TYPE(MPI_Comm), INTENT(IN) :: \fIcomm\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Comm::Bsend(const void* \fIbuf\fP, int \fIcount\fP, const - Datatype& \fIdatatype\fP, int \fIdest\fP, int \fItag\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -109,7 +103,7 @@ delivered.) .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Bsend_init.3in b/ompi/mpi/man/man3/MPI_Bsend_init.3in index 34309b31db..9bfe55a94c 100644 --- a/ompi/mpi/man/man3/MPI_Bsend_init.3in +++ b/ompi/mpi/man/man3/MPI_Bsend_init.3in @@ -3,6 +3,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Bsend_init 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -39,13 +40,6 @@ MPI_Bsend_init(\fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIdest\fP, \fItag\fP, \f TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Prequest Comm::Bsend_init(const void* \fIbuf\fP, int \fIcount\fP, const - Datatype& \fIdatatype\fP, int \fIdest\fP, int \fItag\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -85,7 +79,7 @@ Creates a persistent communication request for a buffered mode send, and binds t A communication (send or receive) that uses a persistent request is initiated by the function MPI_Start. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Buffer_attach.3in b/ompi/mpi/man/man3/MPI_Buffer_attach.3in index 12fabcdf0d..0671a9c476 100644 --- a/ompi/mpi/man/man3/MPI_Buffer_attach.3in +++ b/ompi/mpi/man/man3/MPI_Buffer_attach.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Buffer_attach 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -32,12 +33,6 @@ MPI_Buffer_attach(\fIbuffer\fP, \fIsize\fP, \fIierror\fP) INTEGER, INTENT(IN) :: \fIsize\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Attach_buffer(void* \fIbuffer\fP, int \fIsize\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -80,7 +75,7 @@ the value of size in the MPI_Buffer_attach call should be greater than the value MPI_BSEND_OVERHEAD gives the maximum amount of buffer space that may be used by the Bsend routines. This value is in mpi.h for C and mpif.h for Fortran. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Buffer_detach.3in b/ompi/mpi/man/man3/MPI_Buffer_detach.3in index fff83ccda7..ea495387f9 100644 --- a/ompi/mpi/man/man3/MPI_Buffer_detach.3in +++ b/ompi/mpi/man/man3/MPI_Buffer_detach.3in @@ -2,6 +2,7 @@ .\" Copyright 2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Buffer_detach 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,12 +34,6 @@ MPI_Buffer_detach(\fIbuffer_addr\fP, \fIsize\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIsize\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int Detach_buffer(void*& \fIbuffer\fP) - .fi .SH OUTPUT PARAMETERS .ft R @@ -97,7 +92,7 @@ Even though the C functions MPI_Buffer_attach and MPI_Buffer_detach both have a first argument of type void*, these arguments are used differently: A pointer to the buffer is passed to MPI_Buffer_attach; the address of the pointer is passed to MPI_Buffer_detach, so that this call can return the pointer value. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Cancel.3in b/ompi/mpi/man/man3/MPI_Cancel.3in index a50182d732..175418953a 100644 --- a/ompi/mpi/man/man3/MPI_Cancel.3in +++ b/ompi/mpi/man/man3/MPI_Cancel.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Cancel 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -30,12 +31,6 @@ MPI_Cancel(\fIrequest\fP, \fIierror\fP) TYPE(MPI_Request), INTENT(IN) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Request::Cancel() const - .fi .SH INPUT PARAMETER .ft R @@ -73,7 +68,7 @@ computation completes, some of these requests may remain; using MPI_Cancel allows the user to cancel these unsatisfied requests. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Cart_coords.3in b/ompi/mpi/man/man3/MPI_Cart_coords.3in index c84da760db..2e9d0815fa 100644 --- a/ompi/mpi/man/man3/MPI_Cart_coords.3in +++ b/ompi/mpi/man/man3/MPI_Cart_coords.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Cart_coords 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,13 +34,6 @@ MPI_Cart_coords(\fIcomm\fP, \fIrank\fP, \fImaxdims\fP, \fIcoords\fP, \fIierror\f INTEGER, INTENT(OUT) :: \fIcoords(maxdims)\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Cartcomm::Get_coords(int \fIrank\fP, int \fImaxdims\fP, - int \fIcoords\fP[]) const - .fi .SH INPUT PARAMETERS .ft R @@ -68,7 +62,7 @@ Fortran only: Error status (integer). MPI_Cart_coords provies a mapping of ranks to Cartesian coordinates. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Cart_create.3in b/ompi/mpi/man/man3/MPI_Cart_create.3in index 16ed8f3a13..09e76df62c 100644 --- a/ompi/mpi/man/man3/MPI_Cart_create.3in +++ b/ompi/mpi/man/man3/MPI_Cart_create.3in @@ -3,6 +3,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Cart_create 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,13 +38,6 @@ MPI_Cart_create(\fIcomm_old\fP, \fIndims\fP, \fIdims\fP, \fIperiods\fP, \fIreord TYPE(MPI_Comm), INTENT(OUT) :: \fIcomm_cart\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Cartcomm Intracomm.Create_cart(int \fIndims\fP, int[] \fIdims\fP[], - const bool \fIperiods\fP[], bool \fIreorder\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -80,7 +74,7 @@ Fortran only: Error status (integer). MPI_Cart_create returns a handle to a new communicator to which the Cartesian topology information is attached. If reorder = false then the rank of each process in the new group is identical to its rank in the old group. Otherwise, the function may reorder the processes (possibly so as to choose a good embedding of the virtual topology onto the physical machine). If the total size of the Cartesian grid is smaller than the size of the group of comm, then some processes are returned MPI_COMM_NULL, in analogy to MPI_Comm_split. The call is erroneous if it specifies a grid that is larger than the group size. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Cart_get.3in b/ompi/mpi/man/man3/MPI_Cart_get.3in index 49b8d13518..2ac4515e28 100644 --- a/ompi/mpi/man/man3/MPI_Cart_get.3in +++ b/ompi/mpi/man/man3/MPI_Cart_get.3in @@ -2,6 +2,7 @@ .\" Copyright 2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Cart_get 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -35,13 +36,6 @@ MPI_Cart_get(\fIcomm\fP, \fImaxdims\fP, \fIdims\fP, \fIperiods\fP, \fIcoords\fP, LOGICAL, INTENT(OUT) :: \fIperiods(maxdims)\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Cartcomm::Get_topo(int \fImaxdims\fP, int \fIdims\fP[], - bool \fIperiods\fP[], int \fIcoords\fP[]) const - .fi .SH INPUT PARAMETERS .ft R @@ -73,7 +67,7 @@ Fortran only: Error status (integer). The functions MPI_Cartdim_get and MPI_Cart_get return the Cartesian topology information that was associated with a communicator by MPI_Cart_create. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Cart_map.3in b/ompi/mpi/man/man3/MPI_Cart_map.3in index 39c54a0b0a..c9d2173c22 100644 --- a/ompi/mpi/man/man3/MPI_Cart_map.3in +++ b/ompi/mpi/man/man3/MPI_Cart_map.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Cart_map 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -36,13 +37,6 @@ MPI_Cart_map(\fIcomm\fP, \fIndims\fP, \fIdims\fP, \fIperiods\fP, \fInewrank\fP, INTEGER, INTENT(OUT) :: \fInewrank\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int Cartcomm::Map(int \fIndims\fP, const int \fIdims\fP[], - const bool \fIperiods\fP[]) const - .fi .SH INPUT PARAMETERS .ft R @@ -77,7 +71,7 @@ MPI_Cart_map and MPI_Graph_map can be used to implement all other topology funct MPI_Cart_map computes an "optimal" placement for the calling process on the physical machine. A possible implementation of this function is to always return the rank of the calling process, that is, not to perform any reordering. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Cart_rank.3in b/ompi/mpi/man/man3/MPI_Cart_rank.3in index 30e756f909..41cf38fb7c 100644 --- a/ompi/mpi/man/man3/MPI_Cart_rank.3in +++ b/ompi/mpi/man/man3/MPI_Cart_rank.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Cart_rank 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -32,12 +33,6 @@ MPI_Cart_rank(\fIcomm\fP, \fIcoords\fP, \fIrank\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIrank\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int Cartcomm::Get_cart_rank(const int \fIcoords\fP[]) const - .fi .SH INPUT PARAMETERS .ft R @@ -64,7 +59,7 @@ For a process group with Cartesian structure, the function MPI_Cart_rank translates the logical process coordinates to process ranks as they are used by the point-to-point routines. For dimension i with periods(i) = true, if the coordinate, coords(i), is out of range, that is, coords(i) < 0 or coords(i) >= dims(i), it is shifted back to the interval 0 =< coords(i) < dims(i) automatically. Out-of-range coordinates are erroneous for nonperiodic dimensions. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Cart_shift.3in b/ompi/mpi/man/man3/MPI_Cart_shift.3in index 9b1de40a97..b4f4972a49 100644 --- a/ompi/mpi/man/man3/MPI_Cart_shift.3in +++ b/ompi/mpi/man/man3/MPI_Cart_shift.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Cart_shift 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -35,13 +36,6 @@ MPI_Cart_shift(\fIcomm\fP, \fIdirection\fP, \fIdisp\fP, \fIrank_source\fP, \fIra INTEGER, INTENT(OUT) :: \fIrank_source\fP, \fIrank_dest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Cartcomm::Shift(int \fIdirection\fP, int \fIdisp\fP, int& \fIrank_source\fP, - int& \fIrank_dest\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -100,7 +94,7 @@ Depending on the periodicity of the Cartesian group in the specified coordinate In Fortran, the dimension indicated by DIRECTION = i has DIMS(i+1) nodes, where DIMS is the array that was used to create the grid. In C, the dimension indicated by direction = i is the dimension specified by dims[i]. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Cart_sub.3in b/ompi/mpi/man/man3/MPI_Cart_sub.3in index 84206bd6dd..a895b038be 100644 --- a/ompi/mpi/man/man3/MPI_Cart_sub.3in +++ b/ompi/mpi/man/man3/MPI_Cart_sub.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Cart_sub 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,12 +35,6 @@ MPI_Cart_sub(\fIcomm\fP, \fIremain_dims\fP, \fInewcomm\fP, \fIierror\fP) TYPE(MPI_Comm), INTENT(OUT) :: \fInewcomm\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Cartcomm Cartcomm::Sub(const bool \fIremain_dims\fP[]) const - .fi .SH INPUT PARAMETERS .ft R @@ -73,7 +68,7 @@ If a Cartesian topology has been created with MPI_Cart_create, the function MPI will create three communicators, each with eight processes in a 2 x 4 Cartesian topology. If remain_dims = (false, false, true) then the call to MPI_Cart_sub(comm, remain_dims, comm_new) will create six nonoverlapping communicators, each with four processes, in a one-dimensional Cartesian topology. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Cartdim_get.3in b/ompi/mpi/man/man3/MPI_Cartdim_get.3in index 7a2f5e1385..cb31a52d77 100644 --- a/ompi/mpi/man/man3/MPI_Cartdim_get.3in +++ b/ompi/mpi/man/man3/MPI_Cartdim_get.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Cartdim_get 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Cartdim_get(\fIcomm\fP, \fIndims\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIndims\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int Cartcomm::Get_dim() const - .fi .SH INPUT PARAMETER .ft R @@ -59,7 +54,7 @@ Fortran only: Error status (integer). MPI_Cartdim_get returns the number of dimensions of the Cartesian structure. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Close_port.3in b/ompi/mpi/man/man3/MPI_Close_port.3in index 056ac6aabd..ad879dd41e 100644 --- a/ompi/mpi/man/man3/MPI_Close_port.3in +++ b/ompi/mpi/man/man3/MPI_Close_port.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Close_port 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -32,12 +33,6 @@ MPI_Close_port(\fIport_name\fP, \fIierror\fP) CHARACTER(LEN=*), INTENT(IN) :: \fIport_name\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Close_port(const char* \fIport_name\fP) - .fi .SH INPUT PARAMETER .ft R @@ -56,7 +51,7 @@ Fortran only: Error status (integer). MPI_Close_port releases the network address represented by \fIport_name\fP. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_accept.3in b/ompi/mpi/man/man3/MPI_Comm_accept.3in index 43e3bab3c8..900b68621d 100644 --- a/ompi/mpi/man/man3/MPI_Comm_accept.3in +++ b/ompi/mpi/man/man3/MPI_Comm_accept.3in @@ -3,6 +3,7 @@ .\" Copyright 2009-2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2007, Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_accept 3OpenMPI "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -36,13 +37,6 @@ MPI_Comm_accept(\fIport_name\fP, \fIinfo\fP, \fIroot\fP, \fIcomm\fP, \fInewcomm\ TYPE(MPI_Comm), INTENT(OUT) :: \fInewcomm\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Intercomm MPI::Intracomm::Accept(const char* \fIport_name\fP, - const MPI::Info& \fIinfo\fP, int \fIroot\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -76,7 +70,7 @@ The \fIport_name\fP must have been established through a call to MPI_Open_port o .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. diff --git a/ompi/mpi/man/man3/MPI_Comm_call_errhandler.3in b/ompi/mpi/man/man3/MPI_Comm_call_errhandler.3in index 3d1902f894..8929ae4646 100644 --- a/ompi/mpi/man/man3/MPI_Comm_call_errhandler.3in +++ b/ompi/mpi/man/man3/MPI_Comm_call_errhandler.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_call_errhandler 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,12 +35,6 @@ MPI_Comm_call_errhandler(\fIcomm\fP, \fIerrorcode\fP, \fIierror\fP) INTEGER, INTENT(IN) :: \fIerrorcode\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Comm::Call_errhandler(int \fIerrorcode\fP) const - .fi .SH INPUT PARAMETER .ft R @@ -74,10 +69,7 @@ changed. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp See the MPI man page for a full list of MPI error codes. diff --git a/ompi/mpi/man/man3/MPI_Comm_compare.3in b/ompi/mpi/man/man3/MPI_Comm_compare.3in index f3f442e959..77e2abc10f 100644 --- a/ompi/mpi/man/man3/MPI_Comm_compare.3in +++ b/ompi/mpi/man/man3/MPI_Comm_compare.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_compare 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Comm_compare(\fIcomm1\fP, \fIcomm2\fP, \fIresult\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIresult\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static int Comm::Compare(const Comm& \fIcomm1\fP, const Comm& \fIcomm2\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -62,7 +57,7 @@ Fortran only: Error status (integer). MPI_IDENT results if and only if comm1 and comm2 are handles for the same object (identical groups and same contexts). MPI_CONGRUENT results if the underlying groups are identical in constituents and rank order; these communicators differ only by context. MPI_SIMILAR results of the group members of both communicators are the same but the rank order differs. MPI_UNEQUAL results otherwise. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_connect.3in b/ompi/mpi/man/man3/MPI_Comm_connect.3in index 2519ad701c..b96cb607a0 100644 --- a/ompi/mpi/man/man3/MPI_Comm_connect.3in +++ b/ompi/mpi/man/man3/MPI_Comm_connect.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2007-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_connect 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,13 +38,6 @@ MPI_Comm_connect(\fIport_name\fP, \fIinfo\fP, \fIroot\fP, \fIcomm\fP, \fInewcomm TYPE(MPI_Comm), INTENT(OUT) :: \fInewcomm\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Intercomm MPI::Intracomm::Connect(const char* \fIport_name\fP, - const MPI::Info& \fIinfo\fP, int \fIroot\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -81,7 +75,7 @@ The \fIport_name\fP parameter is the address of the server. It must be the same .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_create.3in b/ompi/mpi/man/man3/MPI_Comm_create.3in index 86a7e51b25..70ad375fd8 100644 --- a/ompi/mpi/man/man3/MPI_Comm_create.3in +++ b/ompi/mpi/man/man3/MPI_Comm_create.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_create 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,14 +34,6 @@ MPI_Comm_create(\fIcomm\fP, \fIgroup\fP, \fInewcomm\fP, \fIierror\fP) TYPE(MPI_Comm), INTENT(OUT) :: \fInewcomm\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Intercomm MPI::Intercomm::Create(const Group& \fIgroup\fP) const - -MPI::Intracomm MPI::Intracomm::Create(const Group& \fIgroup\fP) const - .fi .SH INPUT PARAMETER .ft R @@ -83,7 +76,7 @@ order. Otherwise the call is erroneous. MPI_Comm_create provides a means of making a subset of processes for the purpose of separate MIMD computation, with separate communication space. \fInewcomm\fR, which is created by MPI_Comm_create, can be used in subsequent calls to MPI_Comm_create (or other communicator constructors) to further subdivide a computation into parallel sub-computations. A more general service is provided by MPI_Comm_split. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_create_errhandler.3in b/ompi/mpi/man/man3/MPI_Comm_create_errhandler.3in index 23c122d441..e715ceefac 100644 --- a/ompi/mpi/man/man3/MPI_Comm_create_errhandler.3in +++ b/ompi/mpi/man/man3/MPI_Comm_create_errhandler.3in @@ -2,6 +2,7 @@ .\" Copyright 2009-2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_create_errhandler 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,14 +34,6 @@ MPI_Comm_create_errhandler(\fIcomm_errhandler_fn\fP, \fIerrhandler\fP, \fIierror TYPE(MPI_Errhandler), INTENT(OUT) :: \fIerrhandler\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static MPI::Errhandler - MPI::Comm::Create_errhandler(MPI::Comm::Errhandler_function* - \fIfunction\fP) - .fi .SH DEPRECATED TYPE NAME NOTE .ft R @@ -85,15 +78,9 @@ In Fortran, the user routine should be of this form: SUBROUTINE COMM_ERRHANDLER_FUNCTION(COMM, ERROR_CODE, \&...) INTEGER COMM, ERROR_CODE .fi -.sp -In C++, the user routine should be of this form: -.sp -.nf - typedef void MPI::Comm::Errhandler_function(MPI_Comm &, int *, \&...); -.fi .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_create_keyval.3in b/ompi/mpi/man/man3/MPI_Comm_create_keyval.3in index 465b956dab..5e990e7002 100644 --- a/ompi/mpi/man/man3/MPI_Comm_create_keyval.3in +++ b/ompi/mpi/man/man3/MPI_Comm_create_keyval.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_create_keyval 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -41,15 +42,6 @@ MPI_Comm_create_keyval(\fIcomm_copy_attr_fn\fP, \fIcomm_delete_attr_fn\fP, \fIco INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(IN) :: \fIextra_state\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static in MPI::Comm::Create_keyval(MPI::Comm::Copy_attr_function* - \fIcomm_copy_attr_fn\fP, - MPI::Comm::Delete_attr_function* \fIcomm_delete_attr_fn\fP, - void* \fIextra_state\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -76,7 +68,7 @@ Fortran only: Error status (integer). .ft R This function replaces MPI_Keyval_create, the use of which is deprecated. The C binding is identical. The Fortran binding differs in that \fIextra_state\fP is an address-sized integer. Also, the copy and delete callback functions have Fortran bindings that are consistent with address-sized attributes. .sp -The argument \fIcomm_copy_attr_fn\fP may be specified as MPI_COMM_NULL_COPY_FN or MPI_COMM_DUP_FN from C, C++, or Fortran. MPI_COMM_NULL_COPY_FN is a function that does nothing more than returning \fIflag\fP = 0 and MPI_SUCCESS. MPI_COMM_DUP_FN is a simple-minded copy function that sets \fIflag\fP = 1, returns the value of \fIattribute_val_in\fP in \fIattribute_val_out\fP, and returns MPI_SUCCESS. These replace the MPI-1 predefined callbacks MPI_NULL_COPY_FN and MPI_DUP_FN, the use of which is deprecated. +The argument \fIcomm_copy_attr_fn\fP may be specified as MPI_COMM_NULL_COPY_FN or MPI_COMM_DUP_FN from C or Fortran. MPI_COMM_NULL_COPY_FN is a function that does nothing more than returning \fIflag\fP = 0 and MPI_SUCCESS. MPI_COMM_DUP_FN is a simple-minded copy function that sets \fIflag\fP = 1, returns the value of \fIattribute_val_in\fP in \fIattribute_val_out\fP, and returns MPI_SUCCESS. These replace the MPI-1 predefined callbacks MPI_NULL_COPY_FN and MPI_DUP_FN, the use of which is deprecated. .sp The C callback functions are: .sp @@ -110,19 +102,6 @@ SUBROUTINE COMM_DELETE_ATTR_FN(\fICOMM, COMM_KEYVAL, ATTRIBUTE_VAL, EXTRA_STATE, INTEGER \fICOMM, COMM_KEYVAL, IERROR\fP INTEGER(KIND=MPI_ADDRESS_KIND) \fIATTRIBUTE_VAL, EXTRA_STATE\fP .fi -.sp -The C++ callbacks are: -.sp -.nf -typedef int MPI::Comm::Copy_attr_function(const MPI::Comm& \fIoldcomm\fP, - int \fIcomm_keyval\fP, void* \fIextra_state\fP, void* \fIattribute_val_in\fP, - void* \fIattribute_val_out\fP, bool& \fIflag\fP); -.fi -and -.nf -typedef int MPI::Comm::Delete_attr_function(MPI::Comm& \fIcomm\fP, - int \fIcomm_keyval\fP, void* \fIattribute_val\fP, void* \fIextra_state\fP); -.fi .SH FORTRAN 77 NOTES .ft R @@ -138,7 +117,7 @@ where MPI_ADDRESS_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_delete_attr.3in b/ompi/mpi/man/man3/MPI_Comm_delete_attr.3in index a5a2a42e4d..e161ab6365 100644 --- a/ompi/mpi/man/man3/MPI_Comm_delete_attr.3in +++ b/ompi/mpi/man/man3/MPI_Comm_delete_attr.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_delete_attr 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Comm_delete_attr(\fIcomm\fP, \fIcomm_keyval\fP, \fIierror\fP) INTEGER, INTENT(IN) :: \fIcomm_keyval\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Comm::Delete_attr(int \fIcomm_keyval\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -74,7 +69,7 @@ is being invoked. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_disconnect.3in b/ompi/mpi/man/man3/MPI_Comm_disconnect.3in index 6bf0b3b367..6819811fe4 100644 --- a/ompi/mpi/man/man3/MPI_Comm_disconnect.3in +++ b/ompi/mpi/man/man3/MPI_Comm_disconnect.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_disconnect 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -30,12 +31,6 @@ MPI_Comm_disconnect(\fIcomm\fP, \fIierror\fP) TYPE(MPI_Comm), INTENT(INOUT) :: \fIcomm\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Comm::Disconnect() - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -64,7 +59,7 @@ MPI_Comm_disconnect has the same action as MPI_Comm_free, except that it waits f To disconnect two processes you may need to call MPI_Comm_disconnect, MPI_Win_free, and MPI_File_close to remove all communication paths between the two processes. Note that it may be necessary to disconnect several communicators (or to free several windows or files) before two processes are completely independent. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_dup.3in b/ompi/mpi/man/man3/MPI_Comm_dup.3in index e4ce630bb3..1ab3ed654d 100644 --- a/ompi/mpi/man/man3/MPI_Comm_dup.3in +++ b/ompi/mpi/man/man3/MPI_Comm_dup.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_dup 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,14 +32,6 @@ MPI_Comm_dup(\fIcomm\fP, \fInewcomm\fP, \fIierror\fP) TYPE(MPI_Comm), INTENT(OUT) :: \fInewcomm\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Intracomm Intracomm::Dup() const - -Intercomm Intercomm::Dup() const - .fi .SH INPUT PARAMETER .ft R @@ -74,7 +67,7 @@ to add or delete attributes on the same object on which the attribute copy callback is being invoked. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_f2c.3in b/ompi/mpi/man/man3/MPI_Comm_f2c.3in index 734ee97809..687990fb9f 100644 --- a/ompi/mpi/man/man3/MPI_Comm_f2c.3in +++ b/ompi/mpi/man/man3/MPI_Comm_f2c.3in @@ -1,6 +1,7 @@ .\" -*- nroff -*- .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_f2c 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -41,7 +42,7 @@ MPI_Fint MPI_Win_c2f(MPI_Win \fIwin\fP) .fi .SH DESCRIPTION .ft R -Handles are passed between Fortran and C or C++ by using an explicit C wrapper to convert Fortran handles to C handles. There is no direct access to C or C++ handles in Fortran. Handles are passed between C and C++ using overloaded C++ operators called from C++ code. There is no direct access to C++ objects from C. The type definition \fIMPI_Fint\fP is provided in C/C++ for an integer of the size that matches a Fortran \fIINTEGER\fP; usually, \fIMPI_Fint\fP will be equivalent to \fIint\fP. The handle translation functions are provided in C to convert from a Fortran handle (which is an integer) to a C handle, and vice versa. +Handles are passed between Fortran and C by using an explicit C wrapper to convert Fortran handles to C handles. There is no direct access to C handles in Fortran. The type definition \fIMPI_Fint\fP is provided in C for an integer of the size that matches a Fortran \fIINTEGER\fP; usually, \fIMPI_Fint\fP will be equivalent to \fIint\fP. The handle translation functions are provided in C to convert from a Fortran handle (which is an integer) to a C handle, and vice versa. .PP For example, if \fIcomm\fP is a valid Fortran handle to a communicator, then MPI_Comm_f2c returns a valid C handle to that same communicator; if \fIcomm\fP = MPI_COMM_NULL (Fortran value), then MPI_Comm_f2c returns a null C handle; if \fIcomm\fP is an invalid Fortran handle, then MPI_Comm_f2c returns an invalid C handle. .SH NOTE diff --git a/ompi/mpi/man/man3/MPI_Comm_free.3in b/ompi/mpi/man/man3/MPI_Comm_free.3in index b8416894ff..9fa51cd0a7 100644 --- a/ompi/mpi/man/man3/MPI_Comm_free.3in +++ b/ompi/mpi/man/man3/MPI_Comm_free.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_free 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -30,12 +31,6 @@ MPI_Comm_free(\fIcomm\fP, \fIierror\fP) TYPE(MPI_Comm), INTENT(INOUT) :: \fIcomm\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Comm::Free() - .fi .SH INPUT PARAMETER .ft R @@ -63,7 +58,7 @@ is being invoked. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_free_keyval.3in b/ompi/mpi/man/man3/MPI_Comm_free_keyval.3in index 542fd771e2..38abe52711 100644 --- a/ompi/mpi/man/man3/MPI_Comm_free_keyval.3in +++ b/ompi/mpi/man/man3/MPI_Comm_free_keyval.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_free_keyval 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -30,12 +31,6 @@ MPI_Comm_free_keyval(\fIcomm_keyval\fP, \fIierror\fP) INTEGER, INTENT(INOUT) :: \fIcomm_keyval\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static void MPI::Comm::Free_keyval(int& \fIcomm_keyval\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -61,7 +56,7 @@ This call is identical to the call MPI_Keyval_free but is needed to match the c Key values are global (they can be used with any and all communicators). .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_get_attr.3in b/ompi/mpi/man/man3/MPI_Comm_get_attr.3in index ad9d198af6..50766d01f9 100644 --- a/ompi/mpi/man/man3/MPI_Comm_get_attr.3in +++ b/ompi/mpi/man/man3/MPI_Comm_get_attr.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_get_attr 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -36,13 +37,6 @@ MPI_Comm_get_attr(\fIcomm\fP, \fIcomm_keyval\fP, \fIattribute_val\fP, \fIflag\fP LOGICAL, INTENT(OUT) :: \fIflag\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -bool MPI::Comm::Get_attr(int \fIcomm_keyval\fP, void* \fIattribute_val\fP) - const - .fi .SH INPUT PARAMETERS .ft R @@ -85,7 +79,7 @@ where MPI_ADDRESS_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_get_errhandler.3in b/ompi/mpi/man/man3/MPI_Comm_get_errhandler.3in index 6d3ccf2d3a..ec5894569c 100644 --- a/ompi/mpi/man/man3/MPI_Comm_get_errhandler.3in +++ b/ompi/mpi/man/man3/MPI_Comm_get_errhandler.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_get_errhandler 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -32,12 +33,6 @@ MPI_Comm_get_errhandler(\fIcomm\fP, \fIerrhandler\fP, \fIierror\fP) TYPE(MPI_Errhandler), INTENT(OUT) :: \fIerrhandler\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Errhandler MPI::Comm::Get_errhandler() const - .fi .SH INPUT PARAMETER .ft R @@ -60,7 +55,7 @@ Fortran only: Error status (integer). MPI_Comm_get_errhandler retrieves the error handler currently associated with a communicator. This call is identical to MPI_Errhandler_get, the use of which is deprecated. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_get_name.3in b/ompi/mpi/man/man3/MPI_Comm_get_name.3in index 0e635f21e8..3ff46aab50 100644 --- a/ompi/mpi/man/man3/MPI_Comm_get_name.3in +++ b/ompi/mpi/man/man3/MPI_Comm_get_name.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_get_name 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,12 +34,6 @@ MPI_Comm_get_name(\fIcomm\fP, \fIcomm_name\fP, \fIresultlen\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIresultlen\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Comm::Get_name(char* \fIcomm_name\fP, int& \fIresultlen\fP) const - .fi .SH INPUT PARAMETER .ft R @@ -63,7 +58,7 @@ Fortran only: Error status (integer). .ft R MPI_Comm_get_name returns the last name that was previously associated with the given communicator. The name may be set and retrieved from any language. The same name will be returned independent of the language used. \fIcomm_name\fP should be allocated so that it can hold a resulting string of length MPI_MAX_OBJECT_NAME characters. MPI_Comm_get_name returns a copy of the set name in \fIcomm_name\fP. .sp -If the user has not associated a name with a communicator, or an error occurs, MPI_Comm_get_name will return an empty string (all spaces in Fortran, "" in C and C++). The three predefined communicators will have predefined names associated with them. Thus, the names of MPI_COMM_WORLD, MPI_COMM_SELF, and MPI_COMM_PARENT will have the default of MPI_COMM_WORLD, MPI_COMM_SELF, and MPI_COMM_PARENT. The fact that the system may have chosen to give a default name to a communicator does not prevent the user from setting a name on the same communicator; doing this removes the old name and assigns the new one. +If the user has not associated a name with a communicator, or an error occurs, MPI_Comm_get_name will return an empty string (all spaces in Fortran, "" in C). The three predefined communicators will have predefined names associated with them. Thus, the names of MPI_COMM_WORLD, MPI_COMM_SELF, and MPI_COMM_PARENT will have the default of MPI_COMM_WORLD, MPI_COMM_SELF, and MPI_COMM_PARENT. The fact that the system may have chosen to give a default name to a communicator does not prevent the user from setting a name on the same communicator; doing this removes the old name and assigns the new one. .SH NOTES .ft R @@ -72,7 +67,7 @@ It is safe simply to print the string returned by MPI_Comm_get_name, as it is al Note that associating a name with a communicator has no effect on the semantics of an MPI program, and will (necessarily) increase the store requirement of the program, since the names must be saved. Therefore, there is no requirement that users use these functions to associate names with communicators. However debugging and profiling MPI applications may be made easier if names are associated with communicators, since the debugger or profiler should then be able to present information in a less cryptic manner. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_get_parent.3in b/ompi/mpi/man/man3/MPI_Comm_get_parent.3in index 6c5feed693..faf3134e37 100644 --- a/ompi/mpi/man/man3/MPI_Comm_get_parent.3in +++ b/ompi/mpi/man/man3/MPI_Comm_get_parent.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_get_parent 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -30,13 +31,6 @@ MPI_Comm_get_parent(\fIparent\fP, \fIierror\fP) TYPE(MPI_Comm), INTENT(OUT) :: \fIparent\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static MPI::Intercomm MPI::Comm::Get_parent() - - .fi .SH OUTPUT PARAMETERS .ft R @@ -60,7 +54,7 @@ After the parent communicator is freed or disconnected, MPI_Comm_get_parent retu MPI_Comm_get_parent returns a handle to a single intercommunicator. Calling MPI_Comm_get_parent a second time returns a handle to the same intercommunicator. Freeing the handle with MPI_Comm_disconnect or MPI_Comm_free will cause other references to the intercommunicator to become invalid (dangling). Note that calling MPI_Comm_free on the parent communicator is not useful. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_group.3in b/ompi/mpi/man/man3/MPI_Comm_group.3in index 4ae6d7b230..421b83d2c2 100644 --- a/ompi/mpi/man/man3/MPI_Comm_group.3in +++ b/ompi/mpi/man/man3/MPI_Comm_group.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_group 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Comm_group(\fIcomm\fP, \fIgroup\fP, \fIierror\fP) TYPE(MPI_Group), INTENT(OUT) :: \fIgroup\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Group Comm::Get_group() const - .fi .SH INPUT PARAMETER .ft R @@ -59,7 +54,7 @@ Fortran only: Error status (integer). If the communicator is an intercommunicator (enables communication between two groups of processes), this function returns the local group. To return the remote group, use the MPI_Comm_remote_group function. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_join.3in b/ompi/mpi/man/man3/MPI_Comm_join.3in index fb5c835979..ae493c9c78 100644 --- a/ompi/mpi/man/man3/MPI_Comm_join.3in +++ b/ompi/mpi/man/man3/MPI_Comm_join.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_join 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -33,12 +34,6 @@ MPI_Comm_join(\fIfd\fP, \fIintercomm\fP, \fIierror\fP) TYPE(MPI_Comm), INTENT(OUT) :: \fIintercomm\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Intercomm MPI::Comm::Join(const int \fIfd\fP) - .fi .SH INPUT PARAMETER .ft R @@ -89,10 +84,7 @@ mechanisms. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Comm_rank.3in b/ompi/mpi/man/man3/MPI_Comm_rank.3in index 538467167a..7c8d0c0386 100644 --- a/ompi/mpi/man/man3/MPI_Comm_rank.3in +++ b/ompi/mpi/man/man3/MPI_Comm_rank.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_rank 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Comm_rank(\fIcomm\fP, \fIrank\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIrank\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int Comm::Get_rank() const - .fi .SH INPUT PARAMETERS .ft R @@ -63,7 +58,7 @@ communicator's group with MPI_Comm_group, computing the rank using MPI_Group_ran Many programs will be written with the master-slave model, where one process (such as the rank-zero process) will play a supervisory role, and the other processes will serve as compute nodes. In this framework, MPI_Comm_size and MPI_Comm_rank are useful for determining the roles of the various processes of a communicator. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_remote_group.3in b/ompi/mpi/man/man3/MPI_Comm_remote_group.3in index 036441cb9a..6a81efc8c0 100644 --- a/ompi/mpi/man/man3/MPI_Comm_remote_group.3in +++ b/ompi/mpi/man/man3/MPI_Comm_remote_group.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_remote_group 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Comm_remote_group(\fIcomm\fP, \fIgroup\fP, \fIierror\fP) TYPE(MPI_Group), INTENT(OUT) :: \fIgroup\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Group Intercomm::Get_remote_group() const - .fi .SH INPUT PARAMETER .ft R @@ -62,7 +57,7 @@ The intercommunicator accessors (MPI_Comm_test_inter, MPI_Comm_remote_size, MPI_Comm_remote_group) are all local operations. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_remote_size.3in b/ompi/mpi/man/man3/MPI_Comm_remote_size.3in index 5ac636dff5..37b8e3b818 100644 --- a/ompi/mpi/man/man3/MPI_Comm_remote_size.3in +++ b/ompi/mpi/man/man3/MPI_Comm_remote_size.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_remote_size 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Comm_remote_size(\fIcomm\fP, \fIsize\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIsize\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int Intercomm::Get_remote_size() const - .fi .SH INPUT PARAMETER .ft R @@ -61,7 +56,7 @@ MPI_Comm_remote_size determines the size of the remote group associated with an The intercommunicator accessors (MPI_Comm_test_inter, MPI_Comm_remote_size, MPI_Comm_remote_group) are all local operations. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_set_attr.3in b/ompi/mpi/man/man3/MPI_Comm_set_attr.3in index 81b4996bdc..ec79d39e7e 100644 --- a/ompi/mpi/man/man3/MPI_Comm_set_attr.3in +++ b/ompi/mpi/man/man3/MPI_Comm_set_attr.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_set_attr 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,12 +34,6 @@ MPI_Comm_set_attr(\fIcomm\fP, \fIcomm_keyval\fP, \fIattribute_val\fP, \fIierror\ INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(IN) :: \fIattribute_val\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Comm::Set_attr(int \fIcomm_keyval\fP, const void* \fIattribute_val\fP) const - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -90,7 +85,7 @@ The type of the attribute value depends on whether C or Fortran is being used. I If an attribute is already present, the delete function (specified when the corresponding keyval was created) will be called. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_set_errhandler.3in b/ompi/mpi/man/man3/MPI_Comm_set_errhandler.3in index 4ca4030dd5..63da5416b7 100644 --- a/ompi/mpi/man/man3/MPI_Comm_set_errhandler.3in +++ b/ompi/mpi/man/man3/MPI_Comm_set_errhandler.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_set_errhandler 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -32,12 +33,6 @@ MPI_Comm_set_errhandler(\fIcomm\fP, \fIerrhandler\fP, \fIierror\fP) TYPE(MPI_Errhandler), INTENT(IN) :: \fIerrhandler\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Comm::Set_errhandler(const MPI::Errhandler& \fIerrhandler\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -60,7 +55,7 @@ Fortran only: Error status (integer). MPI_Comm_set_errhandler attaches a new error handler to a communicator. The error handler must be either a predefined error handler or an error handler created by a call to MPI_Comm_create_errhandler. This call is identical to MPI_Errhandler_set, the use of which is deprecated. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_set_name.3in b/ompi/mpi/man/man3/MPI_Comm_set_name.3in index 2a6d2d9bd9..0605f7bf2c 100644 --- a/ompi/mpi/man/man3/MPI_Comm_set_name.3in +++ b/ompi/mpi/man/man3/MPI_Comm_set_name.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_set_name 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,12 +34,6 @@ MPI_Comm_set_name(\fIcomm\fP, \fIcomm_name\fP, \fIierror\fP) CHARACTER(LEN=*), INTENT(IN) :: \fIcomm_name\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Comm::Set_name(const char* \fIcomm_name\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -65,7 +60,7 @@ MPI_Comm_set_name allows a user to associate a name string with a communicator. .sp MPI_Comm_set_name is a local (noncollective) operation, which affects only the name of the communicator as seen in the process that made the MPI_Comm_set_name call. There is no requirement that the same (or any) name be assigned to a communicator in every process where it exists. .sp -The length of the name that can be stored is limited to the value of MPI_MAX_OBJECT_NAME in Fortran and MPI_MAX_OBJECT_NAME-1 in C and C++ (to allow for the null terminator). Attempts to set names longer than this will result in truncation of the name. MPI_MAX_OBJECT_NAME must have a value of at least 64. +The length of the name that can be stored is limited to the value of MPI_MAX_OBJECT_NAME in Fortran and MPI_MAX_OBJECT_NAME-1 in C (to allow for the null terminator). Attempts to set names longer than this will result in truncation of the name. MPI_MAX_OBJECT_NAME must have a value of at least 64. .SH NOTES @@ -75,7 +70,7 @@ Since MPI_Comm_set_name is provided to help debug code, it is sensible to give t Regarding name length, under circumstances of store exhaustion, an attempt to set a name of any length could fail; therefore, the value of MPI_MAX_OBJECT_NAME should be viewed only as a strict upper bound on the name length, not a guarantee that setting names of less than this length will always succeed. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_size.3in b/ompi/mpi/man/man3/MPI_Comm_size.3in index a4f738ed16..b0fc031a6a 100644 --- a/ompi/mpi/man/man3/MPI_Comm_size.3in +++ b/ompi/mpi/man/man3/MPI_Comm_size.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_size 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Comm_size(\fIcomm\fP, \fIsize\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIsize\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int Comm::Get_size() const - .fi .SH INPUT PARAMETER .ft R @@ -73,7 +68,7 @@ This call is often used with MPI_Comm_rank to determine the amount of concurrenc MPI_COMM_NULL is not considered a valid argument to this function. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_spawn.3in b/ompi/mpi/man/man3/MPI_Comm_spawn.3in index 69966e81e0..8e0ced5b6e 100644 --- a/ompi/mpi/man/man3/MPI_Comm_spawn.3in +++ b/ompi/mpi/man/man3/MPI_Comm_spawn.3in @@ -3,6 +3,7 @@ .\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_spawn 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -43,18 +44,6 @@ MPI_Comm_spawn(\fIcommand\fP, \fIargv\fP, \fImaxprocs\fP, \fIinfo\fP, \fIroot\fP INTEGER :: \fIarray_of_errcodes(*)\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Intercomm MPI::Intracomm::Spawn(const char* \fIcommand\fP, - const char* \fIargv\fP[], int \fImaxprocs\fP, const MPI::Info& \fIinfo\fP, - int \fIroot\fP, int \fIarray_of_errcodes\fP[]) const - -MPI::Intercomm MPI::Intracomm::Spawn(const char* \fIcommand\fP, - const char* \fIargv\fP[], int \fImaxprocs\fP, const MPI::Info& \fIinfo\fP, - int \fIroot\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -104,15 +93,15 @@ The \fIargv\fP Argument \fIargv\fP is an array of strings containing arguments that are passed to the program. The first element of \fIargv\fP is the first argument passed to \fIcommand\fP, not, as is conventional in some contexts, the -command itself. The argument list is terminated by NULL in C and C++ +command itself. The argument list is terminated by NULL in C and an empty string in Fortran (note that it is the MPI application's responsibility to ensure that the last entry of the .I argv array is an empty string; the compiler will not automatically insert it). In Fortran, leading and trailing spaces are always stripped, so that a string consisting of all spaces is considered an empty -string. The constant MPI_ARGV_NULL may be used in C, C++ and Fortran -to indicate an empty argument list. In C and C++, this constant is the +string. The constant MPI_ARGV_NULL may be used in C and Fortran +to indicate an empty argument list. In C, this constant is the same as NULL. .sp In C, the MPI_Comm_spawn argument \fIargv\fP differs from the \fIargv\fP argument of \fImain\fP in two respects. First, it is shifted by one element. Specifically, \fIargv\fP[0] of \fImain\fP contains the name of the program (given by \fIcommand\fP). \fIargv\fP[1] of \fImain\fP corresponds to \fIargv\fP[0] in MPI_Comm_spawn, \fIargv\fP[2] of \fImain\fP to \fIargv\fP[1] of MPI_Comm_spawn, and so on. Second, \fIargv\fP of MPI_Comm_spawn must be null-terminated, so that its length can be determined. Passing an \fIargv\fP of MPI_ARGV_NULL to MPI_Comm_spawn results in \fImain\fP receiving \fIargc\fP of 1 and an \fIargv\fP whose element 0 is the name of the program. @@ -125,7 +114,7 @@ A spawn call with the default behavior is called hard. A spawn call for which fe .sp The \fIinfo\fP Argument .sp -The \fIinfo\fP argument is an opaque handle of type MPI_Info in C, MPI::Info in C++ and INTEGER in Fortran. It is a container for a number of user-specified (\fIkey,value\fP) pairs. \fIkey\fP and \fIvalue\fP are strings (null-terminated char* in C, character*(*) in Fortran). Routines to create and manipulate the \fIinfo\fP argument are described in Section 4.10 of the MPI-2 standard. +The \fIinfo\fP argument is an opaque handle of type MPI_Info in C and INTEGER in Fortran. It is a container for a number of user-specified (\fIkey,value\fP) pairs. \fIkey\fP and \fIvalue\fP are strings (null-terminated char* in C, character*(*) in Fortran). Routines to create and manipulate the \fIinfo\fP argument are described in Section 4.10 of the MPI-2 standard. .sp For the SPAWN calls, \fIinfo\fP provides additional, implementation-dependent instructions to MPI and the runtime system on how to start processes. An application may pass MPI_INFO_NULL in C or Fortran. Portable programs not requiring detailed control over process locations should use MPI_INFO_NULL. .sp @@ -222,7 +211,7 @@ All arguments before the \fIroot\fP argument are examined only on the process wh .sp The \fIarray_of_errcodes\fP Argument .sp -The \fIarray_of_errcodes\fP is an array of length \fImaxprocs\fP in which MPI reports the status of the processes that MPI was requested to start. If all \fImaxprocs\fP processes were spawned, \fIarray_of_errcodes\fP is filled in with the value MPI_SUCCESS. If anyof the processes are \fInot\fP spawned, \fIarray_of_errcodes\fP is filled in with the value MPI_ERR_SPAWN. In C or Fortran, an application may pass MPI_ERRCODES_IGNORE if it is not interested in the error codes. In C++ this constant does not exist, and the \fIarray_of_errcodes\fP argument may be omitted from the argument list. +The \fIarray_of_errcodes\fP is an array of length \fImaxprocs\fP in which MPI reports the status of the processes that MPI was requested to start. If all \fImaxprocs\fP processes were spawned, \fIarray_of_errcodes\fP is filled in with the value MPI_SUCCESS. If anyof the processes are \fInot\fP spawned, \fIarray_of_errcodes\fP is filled in with the value MPI_ERR_SPAWN. In C or Fortran, an application may pass MPI_ERRCODES_IGNORE if it is not interested in the error codes. .SH NOTES .ft R @@ -230,7 +219,7 @@ Completion of MPI_Comm_spawn in the parent does not necessarily mean that MPI_In .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_spawn_multiple.3in b/ompi/mpi/man/man3/MPI_Comm_spawn_multiple.3in index e7d47de3ea..21414043bd 100644 --- a/ompi/mpi/man/man3/MPI_Comm_spawn_multiple.3in +++ b/ompi/mpi/man/man3/MPI_Comm_spawn_multiple.3in @@ -3,6 +3,7 @@ .\" Copyright (c) 2010-2018 Cisco Systems, Inc. All rights reserved .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_spawn_multiple 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -46,20 +47,6 @@ MPI_Comm_spawn_multiple(\fIcount\fP, \fIarray_of_commands\fP, \fIarray_of_argv\f INTEGER :: \fIarray_of_errcodes(*)\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Intercomm MPI::Intracomm::Spawn_multiple(int \fIcount\fP, - const char* \fIarray_of_commands\fP[], const char** \fIarray_of_argv\fP[], - const int \fIarray_of_maxprocs\fP[], const MPI::Info \fIarray_of_info\fP[], - int \fIroot\fP, int \fIarray_of_errcodes\fP[]) - -MPI::Intercomm MPI::Intracomm::Spawn_multiple(int \fIcount\fP, - const char* \fIarray_of_commands\fP[], const char** \fIarray_of_argv\fP[], - const int \fIarray_of_maxprocs\fP[], const MPI::Info \fIarray_of_info\fP[], - int \fIroot\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -267,7 +254,7 @@ MPI_Comm_spawn_multiple instead of calling MPI_Comm_spawn(3) several times. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_split.3in b/ompi/mpi/man/man3/MPI_Comm_split.3in index a721f56fbe..3dd360e680 100644 --- a/ompi/mpi/man/man3/MPI_Comm_split.3in +++ b/ompi/mpi/man/man3/MPI_Comm_split.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_split 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,14 +34,6 @@ MPI_Comm_split(\fIcomm\fP, \fIcolor\fP, \fIkey\fP, \fInewcomm\fP, \fIierror\fP) TYPE(MPI_Comm), INTENT(OUT) :: \fInewcomm\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Intercomm MPI::Intercomm::Split(int \fIcolor\fP, int \fIkey\fP) const - -MPI::Intracomm MPI::Intracomm::Split(int \fIcolor\fP, int \fIkey\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -89,7 +82,7 @@ Essentially, making the key value zero for all processes of a given color means that one needn't really pay attention to the rank-order of the processes in the new communicator. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Comm_test_inter.3in b/ompi/mpi/man/man3/MPI_Comm_test_inter.3in index 9896896ad4..69ce53ef97 100644 --- a/ompi/mpi/man/man3/MPI_Comm_test_inter.3in +++ b/ompi/mpi/man/man3/MPI_Comm_test_inter.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Comm_test_inter 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -32,12 +33,6 @@ MPI_Comm_test_inter(\fIcomm\fP, \fIflag\fP, \fIierror\fP) LOGICAL, INTENT(OUT) :: \fIflag\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -bool Comm::Is_inter() const - .fi .SH INPUT PARAMETER .ft R @@ -76,7 +71,7 @@ intercommunicator: MPI_Comm_remote_size, MPI_Comm_remote_group. The intercommunicator accessors (MPI_Comm_test_inter, MPI_Comm_remote_size, MPI_Comm_remote_group) are all local operations. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Dims_create.3in b/ompi/mpi/man/man3/MPI_Dims_create.3in index 2033264cd5..3d2b02be2d 100644 --- a/ompi/mpi/man/man3/MPI_Dims_create.3in +++ b/ompi/mpi/man/man3/MPI_Dims_create.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Dims_create 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Dims_create(\fInnodes\fP, \fIndims\fP, \fIdims\fP, \fIierror\fP) INTEGER, INTENT(INOUT) :: \fIdims(ndims)\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Compute_dims(int \fInnodes\fP, int \fIndims\fP, int \fIdims\fP[]) - .fi .SH INPUT PARAMETERS .ft R @@ -84,7 +79,7 @@ call function call on return .fi .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Errhandler_create.3in b/ompi/mpi/man/man3/MPI_Errhandler_create.3in index 5a7f1fd04c..1c7aebd982 100644 --- a/ompi/mpi/man/man3/MPI_Errhandler_create.3in +++ b/ompi/mpi/man/man3/MPI_Errhandler_create.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Errhandler_create 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -45,8 +46,6 @@ Fortran only: Error status (integer). .ft R Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Comm_create_errhandler instead. .sp -This deprecated routine is not available in C++. -.sp Registers the user routine function for use as an MPI exception handler. Returns in errhandler a handle to the registered exception handler. .sp In the C language, the user routine should be a C function of type MPI_Handler_function, which is defined as @@ -63,7 +62,7 @@ to be returned by the MPI routine that raised the error. If the routine would ha The MPI-1 Standard states that an implementation may make the output value (errhandler) simply the address of the function. However, the action of MPI_Errhandler_ free makes this impossible, since it is required to set the value of the argument to MPI_ERRHANDLER_NULL. In addition, the actual error handler must remain until all communicators that use it are freed. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Errhandler_free.3in b/ompi/mpi/man/man3/MPI_Errhandler_free.3in index 4b7f9f23db..b7accb7889 100644 --- a/ompi/mpi/man/man3/MPI_Errhandler_free.3in +++ b/ompi/mpi/man/man3/MPI_Errhandler_free.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Errhandler_free 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -30,12 +31,6 @@ MPI_Errhandler_free(\fIerrhandler\fP, \fIierror\fP) TYPE(MPI_Errhandler), INTENT(INOUT) :: \fIerrhandler\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Errhandler::Free() - .fi .SH INPUT PARAMETER .ft R @@ -54,7 +49,7 @@ Fortran only: Error status (integer). Marks the error handler associated with errhandler for deallocation and sets errhandler to MPI_ERRHANDLER_NULL. The error handler will be deallocated after all communicators associated with it have been deallocated. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Errhandler_get.3in b/ompi/mpi/man/man3/MPI_Errhandler_get.3in index 7448fdfc9c..8a23805dce 100644 --- a/ompi/mpi/man/man3/MPI_Errhandler_get.3in +++ b/ompi/mpi/man/man3/MPI_Errhandler_get.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Errhandler_get 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -43,15 +44,13 @@ Fortran only: Error status (integer). .ft R Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Comm_get_errhandler instead. .sp -This deprecated routine is not available in C++. -.sp Returns in errhandler (a handle to) the error handler that is currently associated with communicator comm. .sp \fBExample:\fP A library function may register at its entry point the current error handler for a communicator, set its own private error handler for this communicator, and restore before exiting the previous error handler. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Errhandler_set.3in b/ompi/mpi/man/man3/MPI_Errhandler_set.3in index e4c1d3d773..928cae994e 100644 --- a/ompi/mpi/man/man3/MPI_Errhandler_set.3in +++ b/ompi/mpi/man/man3/MPI_Errhandler_set.3in @@ -1,6 +1,7 @@ .\" -*- nroff -*- .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Errhandler_set 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -41,12 +42,10 @@ Fortran only: Error status (integer). .ft R Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Comm_set_errhandler instead. .sp -This deprecated routine is not available in C++. -.sp Associates the new error handler errhandler with communicator comm at the calling process. Note that an error handler is always associated with the communicator. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Error_class.3in b/ompi/mpi/man/man3/MPI_Error_class.3in index 09d6b8dd72..21397da88c 100644 --- a/ompi/mpi/man/man3/MPI_Error_class.3in +++ b/ompi/mpi/man/man3/MPI_Error_class.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Error_class 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Error_class(\fIerrorcode\fP, \fIerrorclass\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIerrorclass\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int Get_error_class(int \fIerrorcode\fP) - .fi .SH INPUT PARAMETER .ft R @@ -59,7 +54,7 @@ Fortran only: Error status (integer). The function MPI_Error_class maps each standard error code (error class) onto itself. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Error_string.3in b/ompi/mpi/man/man3/MPI_Error_string.3in index f0b7ef8f33..4bf346eea3 100644 --- a/ompi/mpi/man/man3/MPI_Error_string.3in +++ b/ompi/mpi/man/man3/MPI_Error_string.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Error_string 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,12 +34,6 @@ MPI_Error_string(\fIerrorcode\fP, \fIstring\fP, \fIresultlen\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIresultlen\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Get_error_string(int \fIerrorcode\fP, char* \fIname\fP, int& \fIresultlen\fP) - .fi .SH INPUT PARAMETER .ft R @@ -67,7 +62,7 @@ The number of characters actually written is returned in the output argument, resultlen. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Exscan.3in b/ompi/mpi/man/man3/MPI_Exscan.3in index fe9a3a1443..8741eff643 100644 --- a/ompi/mpi/man/man3/MPI_Exscan.3in +++ b/ompi/mpi/man/man3/MPI_Exscan.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Exscan 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -58,14 +59,6 @@ MPI_Iexscan(\fIsendbuf\fP, \fIrecvbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIop\fP, TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Intracomm::Exscan(const void* \fIsendbuf\fP, void* \fIrecvbuf\fP, - int \fIcount\fP, const MPI::Datatype& \fIdatatype\fP, - const MPI::Op& \fIop\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -152,10 +145,7 @@ all collective routines return the same error value. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_File_call_errhandler.3in b/ompi/mpi/man/man3/MPI_File_call_errhandler.3in index c72185db68..ecf27696f5 100644 --- a/ompi/mpi/man/man3/MPI_File_call_errhandler.3in +++ b/ompi/mpi/man/man3/MPI_File_call_errhandler.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_call_errhandler 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -34,12 +35,6 @@ MPI_File_call_errhandler(\fIfh\fP, \fIerrorcode\fP, \fIierror\fP) INTEGER, INTENT(IN) :: \fIerrorcode\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Call_errhandler(int \fIerrorcode\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -70,10 +65,7 @@ for files is MPI_ERRORS_RETURN. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp See the MPI man page for a full list of MPI error codes. diff --git a/ompi/mpi/man/man3/MPI_File_close.3in b/ompi/mpi/man/man3/MPI_File_close.3in index b454b397de..0f1b2a9f9d 100644 --- a/ompi/mpi/man/man3/MPI_File_close.3in +++ b/ompi/mpi/man/man3/MPI_File_close.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_close 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,12 +34,6 @@ MPI_File_close(\fIfh\fP, \fIierror\fP) TYPE(MPI_File), INTENT(INOUT) :: \fIfh\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Close() - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -63,7 +58,7 @@ ensuring that all outstanding requests associated with have completed before calling MPI_File_close. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_create_errhandler.3in b/ompi/mpi/man/man3/MPI_File_create_errhandler.3in index 7076b7c8c6..3974c2c661 100644 --- a/ompi/mpi/man/man3/MPI_File_create_errhandler.3in +++ b/ompi/mpi/man/man3/MPI_File_create_errhandler.3in @@ -2,6 +2,7 @@ .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright 2009-2010 Cisco Systems, Inc. All rights reserved. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_create_errhandler 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,14 +34,6 @@ MPI_File_create_errhandler(\fIfile_errhandler_fn\fP, \fIerrhandler\fP, \fIierror TYPE(MPI_Errhandler), INTENT(OUT) :: \fIerrhandler\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static MPI::Errhandler - MPI::File::Create_errhandler(MPI::File::Errhandler_function* - \fIfunction\fP) - .fi .SH DEPRECATED TYPE NAME NOTE .ft R @@ -86,17 +79,9 @@ In the Fortran language, the user routine should be of the form: SUBROUTINE FILE_ERRHANDLER_FUNCTION(FILE, ERROR_CODE, ...) INTEGER FILE, ERROR_CODE .fi -.sp -In C++, the user routine \fIfunction\fP should be of the form: -.sp -.nf - typedef void MPI::File::Errhandler_function(MPI::File &, int *, - ...); -.fi -.sp .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_delete.3in b/ompi/mpi/man/man3/MPI_File_delete.3in index 6b871fd739..72d9cee190 100644 --- a/ompi/mpi/man/man3/MPI_File_delete.3in +++ b/ompi/mpi/man/man3/MPI_File_delete.3in @@ -5,6 +5,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_delete 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -36,13 +37,6 @@ MPI_File_delete(\fIfilename\fP, \fIinfo\fP, \fIierror\fP) TYPE(MPI_Info), INTENT(IN) :: \fIinfo\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static void MPI::File::Delete(const char* \fIfilename\fP, const - MPI::Info& \fIinfo\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -66,7 +60,7 @@ MPI_File_delete deletes the file identified by the file name .sp .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_get_amode.3in b/ompi/mpi/man/man3/MPI_File_get_amode.3in index c41af6008e..8100dadba9 100644 --- a/ompi/mpi/man/man3/MPI_File_get_amode.3in +++ b/ompi/mpi/man/man3/MPI_File_get_amode.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_get_amode 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,12 +35,6 @@ MPI_File_get_amode(\fIfh\fP, \fIamode\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIamode\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int MPI::File::Get_amode() const - .fi .SH INPUT PARAMETER .ft R @@ -65,7 +60,7 @@ the access mode associated with the open file .I fh. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_get_atomicity.3in b/ompi/mpi/man/man3/MPI_File_get_atomicity.3in index 3147f4cb8e..3d9631cd74 100644 --- a/ompi/mpi/man/man3/MPI_File_get_atomicity.3in +++ b/ompi/mpi/man/man3/MPI_File_get_atomicity.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_get_atomicity 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -35,12 +36,6 @@ MPI_File_get_atomicity(\fIfh\fP, \fIflag\fP, \fIierror\fP) LOGICAL, INTENT(OUT) :: \fIflag\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -bool MPI::File::Get_atomicity() const - .fi .SH INPUT PARAMETER .ft R @@ -70,7 +65,7 @@ is nonatomic mode is currently enabled. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_get_byte_offset.3in b/ompi/mpi/man/man3/MPI_File_get_byte_offset.3in index f2b2128aad..67bd05731a 100644 --- a/ompi/mpi/man/man3/MPI_File_get_byte_offset.3in +++ b/ompi/mpi/man/man3/MPI_File_get_byte_offset.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_get_byte_offset 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,13 +38,6 @@ MPI_File_get_byte_offset(\fIfh\fP, \fIoffset\fP, \fIdisp\fP, \fIierror\fP) INTEGER(KIND=MPI_OFFSET_KIND), INTENT(OUT) :: \fIdisp\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Offset MPI::File::Get_byte_offset(const MPI::Offset \fIdisp\fP) - const - .fi .SH INPUT PARAMETERS .ft R @@ -84,7 +78,7 @@ where MPI_OFFSET_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_get_errhandler.3in b/ompi/mpi/man/man3/MPI_File_get_errhandler.3in index c4ab3ef0d7..1f26f9e5b4 100644 --- a/ompi/mpi/man/man3/MPI_File_get_errhandler.3in +++ b/ompi/mpi/man/man3/MPI_File_get_errhandler.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_get_errhandler 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,12 +35,6 @@ MPI_File_get_errhandler(\fIfile\fP, \fIerrhandler\fP, \fIierror\fP) TYPE(MPI_Errhandler), INTENT(OUT) :: \fIerrhandler\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Errhandler MPI::File::Get_errhandler() const - .fi .SH INPUT PARAMETER .ft R @@ -62,7 +57,7 @@ Fortran only: Error status (integer). Returns in \fIerrhandler\fP (a handle to) the error handler that is currently associated with file \fIfile\fP. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_get_group.3in b/ompi/mpi/man/man3/MPI_File_get_group.3in index 4dd92bc7f5..cd945151d9 100644 --- a/ompi/mpi/man/man3/MPI_File_get_group.3in +++ b/ompi/mpi/man/man3/MPI_File_get_group.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_get_group 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,12 +35,6 @@ MPI_File_get_group(\fIfh\fP, \fIgroup\fP, \fIierror\fP) TYPE(MPI_Group), INTENT(OUT) :: \fIgroup\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Group MPI::File::Get_group() const - .fi .SH INPUT PARAMETER .ft R @@ -67,7 +62,7 @@ The user is responsible for freeing using MPI_Group_free. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_get_info.3in b/ompi/mpi/man/man3/MPI_File_get_info.3in index c0f52d2b73..d97cefa4c7 100644 --- a/ompi/mpi/man/man3/MPI_File_get_info.3in +++ b/ompi/mpi/man/man3/MPI_File_get_info.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_get_info 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -35,12 +36,6 @@ MPI_File_get_info(\fIfh\fP, \fIinfo_used\fP, \fIierror\fP) TYPE(MPI_Info), INTENT(OUT) :: \fIinfo_used\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Info MPI::File::Get_info() const - .fi .SH INPUT PARAMETER .ft R @@ -103,7 +98,7 @@ NON-SETTABLE HINTS: - filename: Access this hint to get the name of the file. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_get_position.3in b/ompi/mpi/man/man3/MPI_File_get_position.3in index 8a7fe609ee..6405a62baf 100644 --- a/ompi/mpi/man/man3/MPI_File_get_position.3in +++ b/ompi/mpi/man/man3/MPI_File_get_position.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_get_position 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -35,12 +36,6 @@ MPI_File_get_position(\fIfh\fP, \fIoffset\fP, \fIierror\fP) INTEGER(KIND=MPI_OFFSET_KIND), INTENT(OUT) :: \fIoffset\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Offset MPI::File::Get_position() const - .fi .SH INPUT PARAMETER .ft R @@ -79,7 +74,7 @@ where MPI_ADDRESS_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_get_position_shared.3in b/ompi/mpi/man/man3/MPI_File_get_position_shared.3in index bfe027482e..00241bf4d4 100644 --- a/ompi/mpi/man/man3/MPI_File_get_position_shared.3in +++ b/ompi/mpi/man/man3/MPI_File_get_position_shared.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_get_position_shared 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,12 +35,6 @@ MPI_File_get_position_shared(\fIfh\fP, \fIoffset\fP, \fIierror\fP) INTEGER(KIND=MPI_OFFSET_KIND), INTENT(OUT) :: \fIoffset\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Offset MPI::File::Get_position_shared() const - .fi .SH INPUT PARAMETER .ft R @@ -78,7 +73,7 @@ where MPI_ADDRESS_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_get_size.3in b/ompi/mpi/man/man3/MPI_File_get_size.3in index e368c362b7..e13aae9823 100644 --- a/ompi/mpi/man/man3/MPI_File_get_size.3in +++ b/ompi/mpi/man/man3/MPI_File_get_size.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_get_size 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -35,12 +36,6 @@ MPI_File_get_size(\fIfh\fP, \fIsize\fP, \fIierror\fP) INTEGER(KIND=MPI_OFFSET_KIND), INTENT(OUT) :: \fIsize\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Offset MPI::File::Get_size() const - .fi .SH INPUT PARAMETERS .ft R @@ -78,7 +73,7 @@ where MPI_ADDRESS_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_get_type_extent.3in b/ompi/mpi/man/man3/MPI_File_get_type_extent.3in index c1ed7517e4..2199129ed2 100644 --- a/ompi/mpi/man/man3/MPI_File_get_type_extent.3in +++ b/ompi/mpi/man/man3/MPI_File_get_type_extent.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_get_type_extent 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,13 +38,6 @@ MPI_File_get_type_extent(\fIfh\fP, \fIdatatype\fP, \fIextent\fP, \fIierror\fP) INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(OUT) :: \fIextent\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Aint MPI::File::Get_type_extent(const MPI::Datatype& - \fIdatatype\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -87,7 +81,7 @@ and gives the length of the declared integer in bytes. If the file data representation is other than "native," care must be taken in constructing etypes and file types. Any of the data-type constructor functions may be used; however, for those functions that accept displacements in bytes, the displacements must be specified in terms of their values in the file for the file data representation being used. MPI will interpret these byte displacements as is; no scaling will be done. The function MPI_File_get_type_extent can be used to calculate the extents of data types in the file. For etypes and file types that are portable data types, MPI will scale any displacements in the data types to match the file data representation. Data types passed as arguments to read/write routines specify the data layout in memory; therefore, they must always be constructed using displacements corresponding to displacements in memory. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_get_view.3in b/ompi/mpi/man/man3/MPI_File_get_view.3in index 604f08a6e9..aee619c211 100644 --- a/ompi/mpi/man/man3/MPI_File_get_view.3in +++ b/ompi/mpi/man/man3/MPI_File_get_view.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_get_view 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -41,14 +42,6 @@ MPI_File_get_view(\fIfh\fP, \fIdisp\fP, \fIetype\fP, \fIfiletype\fP, \fIdatarep\ CHARACTER(LEN=*), INTENT(OUT) :: \fIdatarep\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Get_view(MPI::Offset& \fIdisp\fP, - MPI::Datatype& \fIetype\fP, - MPI::Datatype& \fIfiletype\fP, char* \fIdatarep\fP) const - .fi .SH INPUT PARAMETER .ft R @@ -101,7 +94,7 @@ where MPI_OFFSET_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_iread.3in b/ompi/mpi/man/man3/MPI_File_iread.3in index c59024efcf..df4ca42536 100644 --- a/ompi/mpi/man/man3/MPI_File_iread.3in +++ b/ompi/mpi/man/man3/MPI_File_iread.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_iread 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -39,13 +40,6 @@ MPI_File_iread(\fIfh\fP, \fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIrequest\fP, TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Request MPI::File::Iread(void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -95,7 +89,7 @@ All other fields of are undefined. It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_iread_all.3in b/ompi/mpi/man/man3/MPI_File_iread_all.3in index 39f29cc07e..374604761a 100644 --- a/ompi/mpi/man/man3/MPI_File_iread_all.3in +++ b/ompi/mpi/man/man3/MPI_File_iread_all.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_iread_all 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -88,7 +89,7 @@ All other fields of are undefined. It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_iread_at.3in b/ompi/mpi/man/man3/MPI_File_iread_at.3in index 7b8144b673..cc65fa0c67 100644 --- a/ompi/mpi/man/man3/MPI_File_iread_at.3in +++ b/ompi/mpi/man/man3/MPI_File_iread_at.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_iread_at 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -42,13 +43,6 @@ MPI_File_iread_at(\fIfh\fP, \fIoffset\fP, \fIbuf\fP, \fIcount\fP, \fIdatatype\fP TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Request MPI::File::Iread_at(MPI::Offset \fIoffset\fP, void* \fIbuf\fP, - int \fIcount\fP, const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -122,7 +116,7 @@ where MPI_OFFSET_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_iread_at_all.3in b/ompi/mpi/man/man3/MPI_File_iread_at_all.3in index 7efefa6d87..c0c93bd67f 100644 --- a/ompi/mpi/man/man3/MPI_File_iread_at_all.3in +++ b/ompi/mpi/man/man3/MPI_File_iread_at_all.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_iread_at_all 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -115,7 +116,7 @@ where MPI_OFFSET_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_iread_shared.3in b/ompi/mpi/man/man3/MPI_File_iread_shared.3in index 74cc355dbd..0fbbdf3949 100644 --- a/ompi/mpi/man/man3/MPI_File_iread_shared.3in +++ b/ompi/mpi/man/man3/MPI_File_iread_shared.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_iread_shared 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -39,13 +40,6 @@ MPI_File_iread_shared(\fIfh\fP, \fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIreque TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Request MPI::File::Iread_shared(void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -81,7 +75,7 @@ Fortran only: Error status (integer). MPI_File_iread_shared is a nonblocking version of the MPI_File_read_shared interface. It uses the shared file pointer to read files. The order of serialization among the processors is not deterministic for this noncollective routine, so you need to use other methods of synchronization to impose a particular order among processors. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_iwrite.3in b/ompi/mpi/man/man3/MPI_File_iwrite.3in index 6a31b6eaac..f0850bdd6e 100644 --- a/ompi/mpi/man/man3/MPI_File_iwrite.3in +++ b/ompi/mpi/man/man3/MPI_File_iwrite.3in @@ -5,6 +5,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_iwrite 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -40,13 +41,6 @@ MPI_File_iwrite(\fIfh\fP, \fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIrequest\fP, TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Request MPI::File::Iwrite(const void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -100,7 +94,7 @@ are undefined. It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was open. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_iwrite_all.3in b/ompi/mpi/man/man3/MPI_File_iwrite_all.3in index c392792657..1440a502b0 100644 --- a/ompi/mpi/man/man3/MPI_File_iwrite_all.3in +++ b/ompi/mpi/man/man3/MPI_File_iwrite_all.3in @@ -5,6 +5,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_iwrite_all 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -93,7 +94,7 @@ are undefined. It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was open. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_iwrite_at.3in b/ompi/mpi/man/man3/MPI_File_iwrite_at.3in index 1ef43b4a66..4adb62d77f 100644 --- a/ompi/mpi/man/man3/MPI_File_iwrite_at.3in +++ b/ompi/mpi/man/man3/MPI_File_iwrite_at.3in @@ -5,6 +5,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_iwrite_at 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -42,13 +43,6 @@ MPI_File_iwrite_at(\fIfh\fP, \fIoffset\fP, \fIbuf\fP, \fIcount\fP, \fIdatatype\f TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Request MPI::File::Iwrite_at(MPI::Offset \fIoffset\fP, const void* \fIbuf\fP, - int \fIcount\fP, const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -124,7 +118,7 @@ where MPI_OFFSET_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_iwrite_at_all.3in b/ompi/mpi/man/man3/MPI_File_iwrite_at_all.3in index afcd52d0af..3b9db67c41 100644 --- a/ompi/mpi/man/man3/MPI_File_iwrite_at_all.3in +++ b/ompi/mpi/man/man3/MPI_File_iwrite_at_all.3in @@ -5,6 +5,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_iwrite_at_all 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -117,7 +118,7 @@ where MPI_OFFSET_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_iwrite_shared.3in b/ompi/mpi/man/man3/MPI_File_iwrite_shared.3in index f2d098d5b8..33c9f2285e 100644 --- a/ompi/mpi/man/man3/MPI_File_iwrite_shared.3in +++ b/ompi/mpi/man/man3/MPI_File_iwrite_shared.3in @@ -5,6 +5,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_iwrite_shared 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -42,13 +43,6 @@ MPI_File_iwrite_shared(\fIfh\fP, \fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIrequ TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Request MPI::File::Iwrite_shared(const void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -83,7 +77,7 @@ Fortran only: Error status (integer). MPI_File_iwrite_shared is a nonblocking routine that uses the shared file pointer to write files. The order of serialization is not deterministic for this noncollective routine, so you need to use other methods of synchronization to impose a particular order. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_open.3in b/ompi/mpi/man/man3/MPI_File_open.3in index 8fe252edba..32ac6c4c22 100644 --- a/ompi/mpi/man/man3/MPI_File_open.3in +++ b/ompi/mpi/man/man3/MPI_File_open.3in @@ -5,6 +5,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_open 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -40,13 +41,6 @@ MPI_File_open(\fIcomm\fP, \fIfilename\fP, \fIamode\fP, \fIinfo\fP, \fIfh\fP, \fI TYPE(MPI_File), INTENT(OUT) :: \fIfh\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static MPI::File MPI::File::Open(const MPI::Intracomm& \fIcomm\fP, - const char* \fIfilename\fP, int \fIamode\fP, const MPI::Info& \fIinfo\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -190,7 +184,7 @@ NON-SETTABLE HINTS: - filename: Access this hint to get the name of the file. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_preallocate.3in b/ompi/mpi/man/man3/MPI_File_preallocate.3in index 1470348f09..e6acaf3472 100644 --- a/ompi/mpi/man/man3/MPI_File_preallocate.3in +++ b/ompi/mpi/man/man3/MPI_File_preallocate.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_preallocate 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -35,12 +36,6 @@ MPI_File_preallocate(\fIfh\fP, \fIsize\fP, \fIierror\fP) INTEGER(KIND=MPI_OFFSET_KIND), INTENT(IN) :: \fIsize\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Preallocate(MPI::Offset \fIsize\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -88,7 +83,7 @@ When using the collective routine MPI_File_set_size on a UNIX file, if the size Sun MPI I/O does not necessarily allocate file space for such new regions. You may reserve file space either by using MPI_File_preallocate or by performing a read or write to certain bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_read.3in b/ompi/mpi/man/man3/MPI_File_read.3in index 932fca999d..f8b355f372 100644 --- a/ompi/mpi/man/man3/MPI_File_read.3in +++ b/ompi/mpi/man/man3/MPI_File_read.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_read 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -40,16 +41,6 @@ MPI_File_read(\fIfh\fP, \fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIstatus\fP, \f TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Read(void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP, MPI::Status& \fIstatus\fP) - -void MPI::File::Read(void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -96,7 +87,7 @@ are undefined. It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_read_all.3in b/ompi/mpi/man/man3/MPI_File_read_all.3in index e236192f6d..038060df40 100644 --- a/ompi/mpi/man/man3/MPI_File_read_all.3in +++ b/ompi/mpi/man/man3/MPI_File_read_all.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_read_all 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -40,16 +41,6 @@ MPI_File_read_all(\fIfh\fP, \fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIstatus\fP TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Read_all(void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP, MPI::Status& \fIstatus\fP) - -void MPI::File::Read_all(void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -96,7 +87,7 @@ are undefined. It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_read_all_begin.3in b/ompi/mpi/man/man3/MPI_File_read_all_begin.3in index 0cf4717f31..0fdf627e35 100644 --- a/ompi/mpi/man/man3/MPI_File_read_all_begin.3in +++ b/ompi/mpi/man/man3/MPI_File_read_all_begin.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_read_all_begin 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -38,13 +39,6 @@ MPI_File_read_all_begin(\fIfh\fP, \fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIier TYPE(MPI_Datatype), INTENT(IN) :: \fIdatatype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Read_all_begin(void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -89,7 +83,7 @@ file specified by the current view. All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_read_all_end.3in b/ompi/mpi/man/man3/MPI_File_read_all_end.3in index ed639216a0..6957ab5c13 100644 --- a/ompi/mpi/man/man3/MPI_File_read_all_end.3in +++ b/ompi/mpi/man/man3/MPI_File_read_all_end.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_read_all_end 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,14 +38,6 @@ MPI_File_read_all_end(\fIfh\fP, \fIbuf\fP, \fIstatus\fP, \fIierror\fP) TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Read_all_end(void* \fIbuf\fP, MPI::Status& \fIstatus\fP) - -void MPI::File::Read_all_end(void* \fIbuf\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -84,7 +77,7 @@ are undefined. All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_read_at.3in b/ompi/mpi/man/man3/MPI_File_read_at.3in index 7781fa4dec..ac1eea5583 100644 --- a/ompi/mpi/man/man3/MPI_File_read_at.3in +++ b/ompi/mpi/man/man3/MPI_File_read_at.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_read_at 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -43,17 +44,6 @@ MPI_File_read_at(\fIfh\fP, \fIoffset\fP, \fIbuf\fP, \fIcount\fP, \fIdatatype\fP, TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Read_at(MPI::Offset \fIoffset\fP, void* \fIbuf\fP, - int \fIcount\fP, const MPI::Datatype& \fIdatatype\fP, - MPI::Status& \fIstatus\fP) - -void MPI::File::Read_at(MPI::Offset \fIoffset\fP, void* \fIbuf\fP, - int \fIcount\fP, const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -124,7 +114,7 @@ where MPI_OFFSET_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_read_at_all.3in b/ompi/mpi/man/man3/MPI_File_read_at_all.3in index 48b26d9dee..715c7c18d7 100644 --- a/ompi/mpi/man/man3/MPI_File_read_at_all.3in +++ b/ompi/mpi/man/man3/MPI_File_read_at_all.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_read_at_all 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -43,16 +44,6 @@ MPI_File_read_at_all(\fIfh\fP, \fIoffset\fP, \fIbuf\fP, \fIcount\fP, \fIdatatype TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Read_at_all(MPI::Offset \fIoffset\fP, void* \fIbuf\fP, - int \fIcount\fP, const MPI::Datatype& \fIdatatype\fP, MPI::Status& \fIstatus\fP) - -void MPI::File::Read_at_all(MPI::Offset \fIoffset\fP, void* \fIbuf\fP, - int \fIcount\fP, const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -120,7 +111,7 @@ where MPI_OFFSET_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_read_at_all_begin.3in b/ompi/mpi/man/man3/MPI_File_read_at_all_begin.3in index 18e316317d..7fbd263dde 100644 --- a/ompi/mpi/man/man3/MPI_File_read_at_all_begin.3in +++ b/ompi/mpi/man/man3/MPI_File_read_at_all_begin.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_read_at_all_begin 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -42,13 +43,6 @@ MPI_File_read_at_all_begin(\fIfh\fP, \fIoffset\fP, \fIbuf\fP, \fIcount\fP, \fIda TYPE(MPI_Datatype), INTENT(IN) :: \fIdatatype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Read_at_all_begin(MPI::Offset \fIoffset\fP, void* \fIbuf\fP, - int \fIcount\fP, const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -113,7 +107,7 @@ and gives the length of the declared integer in bytes. All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_read_at_all_end.3in b/ompi/mpi/man/man3/MPI_File_read_at_all_end.3in index 4964964947..3a6676766b 100644 --- a/ompi/mpi/man/man3/MPI_File_read_at_all_end.3in +++ b/ompi/mpi/man/man3/MPI_File_read_at_all_end.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_read_at_all_end 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,14 +38,6 @@ MPI_File_read_at_all_end(\fIfh\fP, \fIbuf\fP, \fIstatus\fP, \fIierror\fP) TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Read_at_all_end(void* \fIbuf\fP, MPI::Status& \fIstatus\fP) - -void MPI::File::Read_at_all_end(void* \fIbuf\fP) - .fi .SH INPUT PARAMETER .ft R @@ -80,7 +73,7 @@ are undefined. All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_read_ordered.3in b/ompi/mpi/man/man3/MPI_File_read_ordered.3in index 966bec37d5..1bb16a7708 100644 --- a/ompi/mpi/man/man3/MPI_File_read_ordered.3in +++ b/ompi/mpi/man/man3/MPI_File_read_ordered.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_read_ordered 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -40,16 +41,6 @@ MPI_File_read_ordered(\fIfh\fP, \fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIstatu TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Read_ordered(void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP, MPI::Status& \fIstatus\fP) - -void MPI::File::Read_ordered(void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -101,7 +92,7 @@ elements read in The shared file pointer is updated by the amounts of data requested by all processes of the group. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_read_ordered_begin.3in b/ompi/mpi/man/man3/MPI_File_read_ordered_begin.3in index f582501417..276cdb9fdf 100644 --- a/ompi/mpi/man/man3/MPI_File_read_ordered_begin.3in +++ b/ompi/mpi/man/man3/MPI_File_read_ordered_begin.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_read_ordered_begin 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -38,13 +39,6 @@ MPI_File_read_ordered_begin(\fIfh\fP, \fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \f TYPE(MPI_Datatype), INTENT(IN) :: \fIdatatype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Read_ordered_begin(void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -96,7 +90,7 @@ For each process, the location in the file at which data is read is the position All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_read_ordered_end.3in b/ompi/mpi/man/man3/MPI_File_read_ordered_end.3in index 6020c9c8fd..fcf80a3f56 100644 --- a/ompi/mpi/man/man3/MPI_File_read_ordered_end.3in +++ b/ompi/mpi/man/man3/MPI_File_read_ordered_end.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_read_ordered_end 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,14 +38,6 @@ MPI_File_read_ordered_end(\fIfh\fP, \fIbuf\fP, \fIstatus\fP, \fIierror\fP) TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Read_ordered_end(void* \fIbuf\fP, MPI::Status& \fIstatus\fP) - -void MPI::File::Read_ordered_end(void* \fIbuf\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -81,7 +74,7 @@ The shared file pointer is updated by the amounts of data requested by all proce All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_read_shared.3in b/ompi/mpi/man/man3/MPI_File_read_shared.3in index 9da3ba64ed..e66eb15819 100644 --- a/ompi/mpi/man/man3/MPI_File_read_shared.3in +++ b/ompi/mpi/man/man3/MPI_File_read_shared.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_read_shared 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -40,16 +41,6 @@ MPI_File_read_shared(\fIfh\fP, \fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIstatus TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Read_shared(void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP, MPI::Status& \fIstatus\fP) - -void MPI::File::Read_shared(void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -85,7 +76,7 @@ Fortran only: Error status (integer). MPI_File_read_shared is a blocking routine that uses the shared file pointer to read files. The order of serialization is not deterministic for this noncollective routine. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_seek.3in b/ompi/mpi/man/man3/MPI_File_seek.3in index 7c85c7c093..bead5615a0 100644 --- a/ompi/mpi/man/man3/MPI_File_seek.3in +++ b/ompi/mpi/man/man3/MPI_File_seek.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_seek 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,12 +38,6 @@ MPI_File_seek(\fIfh\fP, \fIoffset\fP, \fIwhence\fP, \fIierror\fP) INTEGER, INTENT(IN) :: \fIwhence\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Seek(MPI::Offset \fIoffset\fP, int \fIwhence\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -103,7 +98,7 @@ where MPI_OFFSET_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_seek_shared.3in b/ompi/mpi/man/man3/MPI_File_seek_shared.3in index 60ee345718..4403529b77 100644 --- a/ompi/mpi/man/man3/MPI_File_seek_shared.3in +++ b/ompi/mpi/man/man3/MPI_File_seek_shared.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_seek_shared 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,12 +38,6 @@ MPI_File_seek_shared(\fIfh\fP, \fIoffset\fP, \fIwhence\fP, \fIierror\fP) INTEGER, INTENT(IN) :: \fIwhence\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Seek_shared(MPI::Offset \fIoffset\fP, int \fIwhence\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -113,7 +108,7 @@ where MPI_OFFSET_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_set_atomicity.3in b/ompi/mpi/man/man3/MPI_File_set_atomicity.3in index 00fdcbc96d..93d1f4caf7 100644 --- a/ompi/mpi/man/man3/MPI_File_set_atomicity.3in +++ b/ompi/mpi/man/man3/MPI_File_set_atomicity.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_set_atomicity 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,12 +35,6 @@ MPI_File_set_atomicity(\fIfh\fP, \fIflag\fP, \fIierror\fP) LOGICAL, INTENT(IN) :: \fIflag\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Set_atomicity(bool \fIflag\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -77,7 +72,7 @@ nonatomic mode is set. The default value on a call to MPI_File_open in Open MPI is \fItrue\fP for jobs running on more than one node, \fIfalse\fP for jobs running on a single SMP. For more information, see the MPI-2 standard. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_set_errhandler.3in b/ompi/mpi/man/man3/MPI_File_set_errhandler.3in index b7decfe1fc..e5a15d5f9b 100644 --- a/ompi/mpi/man/man3/MPI_File_set_errhandler.3in +++ b/ompi/mpi/man/man3/MPI_File_set_errhandler.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_set_errhandler 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -32,12 +33,6 @@ MPI_File_set_errhandler(\fIfile\fP, \fIerrhandler\fP, \fIierror\fP) TYPE(MPI_Errhandler), INTENT(IN) :: \fIerrhandler\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Set_errhandler(const MPI::Errhandler& \fIerrhandler\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -62,7 +57,7 @@ Fortran only: Error status (integer). Attaches a new error handler to a file. The error handler must be either a predefined error handler or an error handler created by a call to MPI_File_create_errhandler. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_set_info.3in b/ompi/mpi/man/man3/MPI_File_set_info.3in index e597c40850..ac63a375a1 100644 --- a/ompi/mpi/man/man3/MPI_File_set_info.3in +++ b/ompi/mpi/man/man3/MPI_File_set_info.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_set_info 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,12 +35,6 @@ MPI_File_set_info(\fIfh\fP, \fIinfo\fP, \fIierror\fP) TYPE(MPI_Info), INTENT(IN) :: \fIinfo\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Set_info(const MPI::Info& \fIinfo\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -103,7 +98,7 @@ NON-SETTABLE HINTS: - filename: Access this hint to get the name of the file. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_set_size.3in b/ompi/mpi/man/man3/MPI_File_set_size.3in index b9017ae062..6d5639b1f1 100644 --- a/ompi/mpi/man/man3/MPI_File_set_size.3in +++ b/ompi/mpi/man/man3/MPI_File_set_size.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_set_size 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -35,12 +36,6 @@ MPI_File_set_size(\fIfh\fP, \fIsize\fP, \fIierror\fP) INTEGER(KIND=MPI_OFFSET_KIND), INTENT(IN) :: \fIsize\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Set_size(MPI::Offset \fIsize\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -87,7 +82,7 @@ where MPI_OFFSET_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_set_view.3in b/ompi/mpi/man/man3/MPI_File_set_view.3in index 328450015e..cc4d4691bf 100644 --- a/ompi/mpi/man/man3/MPI_File_set_view.3in +++ b/ompi/mpi/man/man3/MPI_File_set_view.3in @@ -5,6 +5,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_set_view 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -42,15 +43,6 @@ MPI_File_set_view(\fIfh\fP, \fIdisp\fP, \fIetype\fP, \fIfiletype\fP, \fIdatarep\ TYPE(MPI_Info), INTENT(IN) :: \fIinfo\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Set_view(MPI::Offset \fIdisp\fP, - const MPI::Datatype& \fIetype\fP, - const MPI::Datatype& \fIfiletype\fP, const char* \fIdatarep\fP, - const MPI::Info& \fIinfo\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -177,7 +169,7 @@ where MPI_OFFSET_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_sync.3in b/ompi/mpi/man/man3/MPI_File_sync.3in index 8686bdd8a8..2400083bda 100644 --- a/ompi/mpi/man/man3/MPI_File_sync.3in +++ b/ompi/mpi/man/man3/MPI_File_sync.3in @@ -4,6 +4,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_sync 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,12 +34,6 @@ MPI_File_sync(\fIfh\fP, \fIierror\fP) TYPE(MPI_File), INTENT(IN) :: \fIfh\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Sync() - .fi .SH INPUT PARAMETER .ft R @@ -67,7 +62,7 @@ MPI_File_sync is a collective operation. The user is responsible for ensuring th have been completed before calling MPI_File_sync. Otherwise, the call to MPI_File_sync is erroneous. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_write.3in b/ompi/mpi/man/man3/MPI_File_write.3in index 5ec5706f24..91c4ca0b79 100644 --- a/ompi/mpi/man/man3/MPI_File_write.3in +++ b/ompi/mpi/man/man3/MPI_File_write.3in @@ -5,6 +5,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_write 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -42,16 +43,6 @@ MPI_File_write(\fIfh\fP, \fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIstatus\fP, \ TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Write(const void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP, MPI::Status& \fIstatus\fP) - -void MPI::File::Write(const void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -103,7 +94,7 @@ are undefined. It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_write_all.3in b/ompi/mpi/man/man3/MPI_File_write_all.3in index c697af8158..ec8ce2e416 100644 --- a/ompi/mpi/man/man3/MPI_File_write_all.3in +++ b/ompi/mpi/man/man3/MPI_File_write_all.3in @@ -5,6 +5,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_write_all 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -41,16 +42,6 @@ MPI_File_write_all(\fIfh\fP, \fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIstatus\f TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Write_all(const void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP, MPI::Status& \fIstatus\fP) - -void MPI::File::Write_all(const void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -99,7 +90,7 @@ are undefined. It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_write_all_begin.3in b/ompi/mpi/man/man3/MPI_File_write_all_begin.3in index d1d13a83c7..349020c5aa 100644 --- a/ompi/mpi/man/man3/MPI_File_write_all_begin.3in +++ b/ompi/mpi/man/man3/MPI_File_write_all_begin.3in @@ -5,6 +5,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_write_all_begin 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -39,13 +40,6 @@ MPI_File_write_all_begin(\fIfh\fP, \fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIie TYPE(MPI_Datatype), INTENT(IN) :: \fIdatatype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Write_all_begin(const void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -91,7 +85,7 @@ file specified by the current view. All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_write_all_end.3in b/ompi/mpi/man/man3/MPI_File_write_all_end.3in index 3a63c52ad8..c53fb09689 100644 --- a/ompi/mpi/man/man3/MPI_File_write_all_end.3in +++ b/ompi/mpi/man/man3/MPI_File_write_all_end.3in @@ -5,6 +5,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_write_all_end 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,14 +38,6 @@ MPI_File_write_all_end(\fIfh\fP, \fIbuf\fP, \fIstatus\fP, \fIierror\fP) TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Write_all_end(const void* \fIbuf\fP, MPI::Status& \fIstatus\fP) - -void MPI::File::Write_all_end(const void* \fIbuf\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -86,7 +79,7 @@ are undefined. All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_write_at.3in b/ompi/mpi/man/man3/MPI_File_write_at.3in index 5348cf15b2..12d37e9895 100644 --- a/ompi/mpi/man/man3/MPI_File_write_at.3in +++ b/ompi/mpi/man/man3/MPI_File_write_at.3in @@ -5,6 +5,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_write_at 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -43,16 +44,6 @@ MPI_File_write_at(\fIfh\fP, \fIoffset\fP, \fIbuf\fP, \fIcount\fP, \fIdatatype\fP TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Write_at(MPI::Offset \fIoffset\fP, const void* \fIbuf\fP, - int \fIcount\fP, const MPI::Datatype& \fIdatatype\fP, MPI::Status& \fIstatus\fP) - -void MPI::File::Write_at(MPI::Offset \fIoffset\fP, const void* \fIbuf\fP, - int \fIcount\fP, const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -122,7 +113,7 @@ where MPI_OFFSET_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_write_at_all.3in b/ompi/mpi/man/man3/MPI_File_write_at_all.3in index ee0aaa8e10..722b520a32 100644 --- a/ompi/mpi/man/man3/MPI_File_write_at_all.3in +++ b/ompi/mpi/man/man3/MPI_File_write_at_all.3in @@ -5,6 +5,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_write_at_all 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -43,17 +44,6 @@ MPI_File_write_at_all(\fIfh\fP, \fIoffset\fP, \fIbuf\fP, \fIcount\fP, \fIdatatyp TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Write_at_all(MPI::Offset \fIoffset\fP, const void* \fIbuf\fP, - int \fIcount\fP, const MPI::Datatype& \fIdatatype\fP, - MPI::Status& \fIstatus\fP) - -void MPI::File::Write_at_all(MPI::Offset \fIoffset\fP, const void* \fIbuf\fP, - int \fIcount\fP, const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -121,7 +111,7 @@ where MPI_OFFSET_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_write_at_all_begin.3in b/ompi/mpi/man/man3/MPI_File_write_at_all_begin.3in index 78abd2b520..885b1ad08a 100644 --- a/ompi/mpi/man/man3/MPI_File_write_at_all_begin.3in +++ b/ompi/mpi/man/man3/MPI_File_write_at_all_begin.3in @@ -5,6 +5,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_write_at_all_begin 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -41,14 +42,6 @@ MPI_File_write_at_all_begin(\fIfh\fP, \fIoffset\fP, \fIbuf\fP, \fIcount\fP, \fId TYPE(MPI_Datatype), INTENT(IN) :: \fIdatatype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Write_at_all_begin(MPI::Offset \fIoffset\fP, - const void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -114,7 +107,7 @@ and gives the length of the declared integer in bytes. All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_write_at_all_end.3in b/ompi/mpi/man/man3/MPI_File_write_at_all_end.3in index c054b44194..c94ce8475e 100644 --- a/ompi/mpi/man/man3/MPI_File_write_at_all_end.3in +++ b/ompi/mpi/man/man3/MPI_File_write_at_all_end.3in @@ -5,6 +5,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_write_at_all_end 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -38,14 +39,6 @@ MPI_File_write_at_all_end(\fIfh\fP, \fIbuf\fP, \fIstatus\fP, \fIierror\fP) TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Write_at_all_end(const void* \fIbuf\fP, MPI::Status& \fIstatus\fP) - -void MPI::File::Write_at_all_end(const void* \fIbuf\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -85,7 +78,7 @@ are undefined. All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_write_ordered.3in b/ompi/mpi/man/man3/MPI_File_write_ordered.3in index d069010485..e8cc2fde28 100644 --- a/ompi/mpi/man/man3/MPI_File_write_ordered.3in +++ b/ompi/mpi/man/man3/MPI_File_write_ordered.3in @@ -5,6 +5,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_write_ordered 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -41,16 +42,6 @@ MPI_File_write_ordered(\fIfh\fP, \fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIstat TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Write_ordered(const void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP, MPI::Status& \fIstatus\fP) - -void MPI::File::Write_ordered(const void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -107,7 +98,7 @@ updated by the amounts of data requested by all processes of the group. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_write_ordered_begin.3in b/ompi/mpi/man/man3/MPI_File_write_ordered_begin.3in index 44a5049ac6..01278ed927 100644 --- a/ompi/mpi/man/man3/MPI_File_write_ordered_begin.3in +++ b/ompi/mpi/man/man3/MPI_File_write_ordered_begin.3in @@ -5,6 +5,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_write_ordered_begin 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -39,13 +40,6 @@ MPI_File_write_ordered_begin(\fIfh\fP, \fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \ TYPE(MPI_Datatype), INTENT(IN) :: \fIdatatype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Write_ordered_begin(const void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -103,7 +97,7 @@ written their data. All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_write_ordered_end.3in b/ompi/mpi/man/man3/MPI_File_write_ordered_end.3in index ed7c23e9bd..e5f0fbabd4 100644 --- a/ompi/mpi/man/man3/MPI_File_write_ordered_end.3in +++ b/ompi/mpi/man/man3/MPI_File_write_ordered_end.3in @@ -5,6 +5,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_write_ordered_end 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -38,14 +39,6 @@ MPI_File_write_ordered_end(\fIfh\fP, \fIbuf\fP, \fIstatus\fP, \fIierror\fP) TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Write_ordered_end(const void* \fIbuf\fP, MPI::Status& \fIstatus\fP) - -void MPI::File::Write_ordered_end(const void* \fIbuf\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -84,7 +77,7 @@ in All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_File_write_shared.3in b/ompi/mpi/man/man3/MPI_File_write_shared.3in index 4325dd481a..61d84b0e8b 100644 --- a/ompi/mpi/man/man3/MPI_File_write_shared.3in +++ b/ompi/mpi/man/man3/MPI_File_write_shared.3in @@ -5,6 +5,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_File_write_shared 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -40,16 +41,6 @@ MPI_File_write_shared(\fIfh\fP, \fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIstatu TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::File::Write_shared(const void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP, MPI::Status& \fIstatus\fP) - -void MPI::File::Write_shared(const void* \fIbuf\fP, int \fIcount\fP, - const MPI::Datatype& \fIdatatype\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -85,7 +76,7 @@ Fortran only: Error status (integer). MPI_File_write_shared is a blocking routine that uses the shared file pointer to write files. The order of serialization is not deterministic for this noncollective routine. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Finalize.3in b/ompi/mpi/man/man3/MPI_Finalize.3in index 08aa3d862e..095583a9d6 100644 --- a/ompi/mpi/man/man3/MPI_Finalize.3in +++ b/ompi/mpi/man/man3/MPI_Finalize.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Finalize 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -29,12 +30,6 @@ USE mpi_f08 MPI_Finalize(\fIierror\fP) INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Finalize() - .fi .SH OUTPUT PARAMETER .ft R @@ -57,7 +52,7 @@ For example, a successful return from a blocking communication operation or from If you would like to cause actions to happen when a process finishes, attach an attribute to MPI_COMM_SELF with a callback function. Then, when MPI_Finalize is called, it will first execute the equivalent of an MPI_Comm_free on MPI_COMM_SELF. This will cause the delete callback function to be executed on all keys associated with MPI_COMM_SELF in an arbitrary order. If no key has been attached to MPI_COMM_SELF, then no callback is invoked. This freeing of MPI_COMM_SELF happens before any other parts of MPI are affected. Calling MPI_Finalized will thus return "false" in any of these callback functions. Once you have done this with MPI_COMM_SELF, the results of MPI_Finalize are not specified. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Finalized.3in b/ompi/mpi/man/man3/MPI_Finalized.3in index c8248d8829..b8a38b4316 100644 --- a/ompi/mpi/man/man3/MPI_Finalized.3in +++ b/ompi/mpi/man/man3/MPI_Finalized.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Finalized 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Finalized(\fIflag\fP, \fIierror\fP) LOGICAL, INTENT(OUT) :: \fIflag\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -bool MPI::Is_finalized() - .fi .SH OUTPUT PARAMETER .ft R @@ -56,7 +51,7 @@ is initialized and after MPI has been finalized (MPI_Initialized is another). .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Free_mem.3in b/ompi/mpi/man/man3/MPI_Free_mem.3in index 5106add107..3c179f8834 100644 --- a/ompi/mpi/man/man3/MPI_Free_mem.3in +++ b/ompi/mpi/man/man3/MPI_Free_mem.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Free_mem 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Free_mem(\fIbase\fP, \fIierror\fP) TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: \fIbase\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Free_mem(void *\fIbase\fP) - .fi .SH INPUT PARAMETER .ft R @@ -55,7 +50,7 @@ Fortran only: Error status (integer). MPI_Free_mem frees memory that has been allocated by MPI_Alloc_mem. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Gather.3in b/ompi/mpi/man/man3/MPI_Gather.3in index ecc8ab2712..f28183dc21 100644 --- a/ompi/mpi/man/man3/MPI_Gather.3in +++ b/ompi/mpi/man/man3/MPI_Gather.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Gather 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -61,15 +62,6 @@ MPI_Igather(\fIsendbuf\fP, \fIsendcount\fP, \fIsendtype\fP, \fIrecvbuf\fP, \fIre TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Comm::Gather(const void* \fIsendbuf\fP, int \fIsendcount\fP, - const MPI::Datatype& \fIsendtype\fP, void* \fIrecvbuf\fP, - int \fIrecvcount\fP, const MPI::Datatype& \fIrecvtype\fP, int \fIroot\fP, - const = 0 - .fi .SH INPUT PARAMETERS .ft R @@ -196,7 +188,7 @@ When the communicator is an inter-communicator, the root process in the first gr .sp .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Gatherv.3in b/ompi/mpi/man/man3/MPI_Gatherv.3in index 7c38c56bce..d0a8dc16da 100644 --- a/ompi/mpi/man/man3/MPI_Gatherv.3in +++ b/ompi/mpi/man/man3/MPI_Gatherv.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Gatherv 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -62,15 +63,6 @@ MPI_Igatherv(\fIsendbuf\fP, \fIsendcount\fP, \fIsendtype\fP, \fIrecvbuf\fP, \fIr TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Comm::Gatherv(const void* \fIsendbuf\fP, int \fIsendcount\fP, - const MPI::Datatype& \fIsendtype\fP, void* \fIrecvbuf\fP, - const int \fIrecvcounts\fP[], const int \fIdispls\fP[], - const MPI::Datatype& \fIrecvtype\fP, int \fIroot\fP) const = 0 - .fi .SH INPUT PARAMETERS .ft R @@ -360,7 +352,7 @@ When the communicator is an inter-communicator, the root process in the first gr .sp .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Get.3in b/ompi/mpi/man/man3/MPI_Get.3in index 991834ca72..6b3c59e645 100644 --- a/ompi/mpi/man/man3/MPI_Get.3in +++ b/ompi/mpi/man/man3/MPI_Get.3in @@ -3,6 +3,7 @@ .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2014 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Get 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -65,15 +66,6 @@ MPI_Rget(\fIorigin_addr\fP, \fIorigin_count\fP, \fIorigin_datatype\fP, \fItarget TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Win::Get(const void *\fIorigin_addr\fP, int \fIorigin_count\fP, - const MPI::Datatype& \fIorigin_datatype\fP, int \fItarget_rank\fP, - MPI::Aint \fItarget_disp\fP, int \fItarget_count\fP, - const MPI::Datatype& \fItarget_datatype\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -132,7 +124,7 @@ where MPI_ADDRESS_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Get_address.3in b/ompi/mpi/man/man3/MPI_Get_address.3in index 5ed0b5e470..a1ca409541 100644 --- a/ompi/mpi/man/man3/MPI_Get_address.3in +++ b/ompi/mpi/man/man3/MPI_Get_address.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Get_address 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,12 +35,6 @@ MPI_Get_address(\fIlocation\fP, \fIaddress\fP, \fIierror\fP) INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(OUT) :: \fIaddress\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Aint MPI::Get_address(void* \fIlocation\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -81,10 +76,10 @@ EAL A(100,100) .SH NOTES .ft R -Current Fortran MPI codes will run unmodified and will port to any system. However, they may fail if addresses larger than 2^32 - 1 are used in the program. New codes should be written so that they use the new functions. This provides compatibility with C/C++ and avoids errors on 64-bit architectures. However, such newly written codes may need to be (slightly) rewritten to port to old Fortran 77 environments that do not support KIND declarations. +Current Fortran MPI codes will run unmodified and will port to any system. However, they may fail if addresses larger than 2^32 - 1 are used in the program. New codes should be written so that they use the new functions. This provides compatibility with C and avoids errors on 64-bit architectures. However, such newly written codes may need to be (slightly) rewritten to port to old Fortran 77 environments that do not support KIND declarations. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Get_count.3in b/ompi/mpi/man/man3/MPI_Get_count.3in index 4f97fe60a4..44b719d74b 100644 --- a/ompi/mpi/man/man3/MPI_Get_count.3in +++ b/ompi/mpi/man/man3/MPI_Get_count.3in @@ -2,6 +2,7 @@ .\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Get_count 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,12 +34,6 @@ MPI_Get_count(\fIstatus\fP, \fIdatatype\fP, \fIcount\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIcount\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int Status::Get_count(const Datatype& \fIdatatype\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -87,7 +82,7 @@ If the value to be returned is larger than can fit into the .I count parameter, an MPI_ERR_TRUNCATE exception is invoked. .sp -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Get_elements.3in b/ompi/mpi/man/man3/MPI_Get_elements.3in index ade19a402a..13bf38ec63 100644 --- a/ompi/mpi/man/man3/MPI_Get_elements.3in +++ b/ompi/mpi/man/man3/MPI_Get_elements.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Get_elements 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -45,12 +46,6 @@ MPI_Get_elements_x(\fIstatus\fP, \fIdatatype\fP, \fIcount\fP, \fIierror\fP) INTEGER(KIND = MPI_COUNT_KIND), INTENT(OUT) :: \fIcount\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int Status::Get_elements(const Datatype& \fIdatatype\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -97,7 +92,7 @@ MPI_Get_elements and MPI_Get_elements_x behave different from MPI_Get_count, whi The function MPI_Get_elements can also be used after a probe to find the number of elements in the probed message. Note that the two functions MPI_Get_count and MPI_Get_elements return the same values when they are used with primitive data types. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Get_library_version.3in b/ompi/mpi/man/man3/MPI_Get_library_version.3in index f1fed57ace..911243f884 100644 --- a/ompi/mpi/man/man3/MPI_Get_library_version.3in +++ b/ompi/mpi/man/man3/MPI_Get_library_version.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Get_library_version 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -32,11 +33,6 @@ MPI_Get_library_version(\fIversion\fP, \fIresulten\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIresultlen\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -There is no C++ binding for this function. - .fi .SH OUTPUT PARAMETERS .ft R @@ -74,8 +70,6 @@ MPI_MAX_LIBRARY_VERSION_STRING characters long. .sp MPI_Get_library_version is one of the few functions that can be called before MPI_Init and after MPI_Finalize. -.sp -MPI_Get_library_version is an MPI-3 function and has no C++ binding. .SH ERRORS Almost all MPI routines return an error value; C routines as the value diff --git a/ompi/mpi/man/man3/MPI_Get_processor_name.3in b/ompi/mpi/man/man3/MPI_Get_processor_name.3in index 6c546e94f9..4738611dbc 100644 --- a/ompi/mpi/man/man3/MPI_Get_processor_name.3in +++ b/ompi/mpi/man/man3/MPI_Get_processor_name.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Get_processor_name 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -32,12 +33,6 @@ MPI_Get_processor_name(\fIname\fP, \fIresultlen\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIresultlen\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Get_processor_name(char* \fIname\fP, int& \fIresultlen\fP) - .fi .SH OUTPUT PARAMETERS .ft R @@ -65,7 +60,7 @@ The user must provide at least MPI_MAX_PROCESSOR_NAME space to write the process .sp .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Get_version.3in b/ompi/mpi/man/man3/MPI_Get_version.3in index 56ef789c8a..092375b907 100644 --- a/ompi/mpi/man/man3/MPI_Get_version.3in +++ b/ompi/mpi/man/man3/MPI_Get_version.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Get_version 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -30,12 +31,6 @@ MPI_Get_version(\fIversion\fP, \fIsubversion\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIversion\fP, \fIsubversion\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Get_version(int& \fIversion\fP, int& \fIsubversion\fP) - .fi .SH OUTPUT PARAMETERS .ft R @@ -62,7 +57,7 @@ Since Open MPI is MPI 3.1 compliant, this function will return a version value o MPI_Get_version is one of the few functions that can be called before MPI_Init and after MPI_Finalize. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Graph_create.3in b/ompi/mpi/man/man3/MPI_Graph_create.3in index e8155b9fdb..c63782bf2b 100644 --- a/ompi/mpi/man/man3/MPI_Graph_create.3in +++ b/ompi/mpi/man/man3/MPI_Graph_create.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Graph_create 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -39,13 +40,6 @@ MPI_Graph_create(\fIcomm_old\fP, \fInnodes\fP, \fIindex\fP, \fIedges\fP, \fIreor TYPE(MPI_Comm), INTENT(OUT) :: \fIcomm_graph\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Graphcomm Intracomm::Create_graph(int \fInnodes\fP, const int \fIindex\fP[], - const int \fIedges\fP[], bool \fIreorder\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -112,7 +106,7 @@ node zero is stored in edges(j), for 1 <= j <= index(1) and the list of neighbors of node i, i > 0, is stored in edges(j), index(i) + 1 <= j <= index(i + 1). .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Graph_get.3in b/ompi/mpi/man/man3/MPI_Graph_get.3in index fa6e78c089..536e6c45ff 100644 --- a/ompi/mpi/man/man3/MPI_Graph_get.3in +++ b/ompi/mpi/man/man3/MPI_Graph_get.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Graph_get 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,13 +35,6 @@ MPI_Graph_get(\fIcomm\fP, \fImaxindex\fP, \fImaxedges\fP, \fIindex\fP, \fIedges\ INTEGER, INTENT(OUT) :: \fIindex(maxindex)\fP, \fIedges(maxedges)\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Graphcomm::Get_topo(int \fImaxindex\fP, int \fImaxedges\fP, - int \fIindex\fP[], int \fIedges\fP[]) const - .fi .SH INPUT PARAMETERS .ft R @@ -75,7 +69,7 @@ Functions MPI_Graphdims_get and MPI_Graph_get retrieve the graph-topology inform The information provided by MPI_Graphdims_get can be used to dimension the vectors index and edges correctly for a call to MPI_Graph_get. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Graph_map.3in b/ompi/mpi/man/man3/MPI_Graph_map.3in index 8a1142ced4..ea2921c4a7 100644 --- a/ompi/mpi/man/man3/MPI_Graph_map.3in +++ b/ompi/mpi/man/man3/MPI_Graph_map.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Graph_map 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,13 +35,6 @@ MPI_Graph_map(\fIcomm\fP, \fInnodes\fP, \fIindex\fP, \fIedges\fP, \fInewrank\fP, INTEGER, INTENT(OUT) :: \fInewrank\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int Graphcomm::Map(int \fInnodes\fP, const int \fIindex\fP[], - const int \fIedges\fP[]) const - .fi .SH INPUT PARAMETERS .ft R @@ -73,7 +67,7 @@ MPI_Cart_map and MPI_Graph_map can be used to implement all other topology functions. In general they will not be called by the user directly, unless he or she is creating additional virtual topology capability other than that provided by MPI. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Graph_neighbors.3in b/ompi/mpi/man/man3/MPI_Graph_neighbors.3in index 4614682bbd..43f6f32cd2 100644 --- a/ompi/mpi/man/man3/MPI_Graph_neighbors.3in +++ b/ompi/mpi/man/man3/MPI_Graph_neighbors.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Graph_neighbors 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,13 +34,6 @@ MPI_Graph_neighbors(\fIcomm\fP, \fIrank\fP, \fImaxneighbors\fP, \fIneighbors\fP, INTEGER, INTENT(OUT) :: \fIneighbors(maxneighbors)\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Graphcomm::Get_neighbors(int \fIrank\fP, int \fImaxneighbors\fP, - int \fIneighbors\fP[]) const - .fi .SH INPUT PARAMETERS .ft R @@ -100,7 +94,7 @@ C perform unshuffle permutation .fi .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Graph_neighbors_count.3in b/ompi/mpi/man/man3/MPI_Graph_neighbors_count.3in index 0ace975e36..9adbe97c9a 100644 --- a/ompi/mpi/man/man3/MPI_Graph_neighbors_count.3in +++ b/ompi/mpi/man/man3/MPI_Graph_neighbors_count.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Graph_neighbors_count 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,12 +34,6 @@ MPI_Graph_neighbors_count(\fIcomm\fP, \fIrank\fP, \fInneighbors\fP, \fIierror\fP INTEGER, INTENT(OUT) :: \fInneighbors\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int Graphcomm::Get_neighbors_count(int \fIrank\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -64,7 +59,7 @@ Fortran only: Error status (integer). MPI_Graph_neighbors_count and MPI_Graph_neighbors provide adjacency information for a general, graph topology. MPI_Graph_neighbors_count returns the number of neighbors for the process signified by rank. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Graphdims_get.3in b/ompi/mpi/man/man3/MPI_Graphdims_get.3in index 1e9536c133..9c9d9ab9c7 100644 --- a/ompi/mpi/man/man3/MPI_Graphdims_get.3in +++ b/ompi/mpi/man/man3/MPI_Graphdims_get.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Graphdims_get 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Graphdims_get(\fIcomm\fP, \fInnodes\fP, \fInedges\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fInnodes\fP, \fInedges\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Graphcomm::Get dims(int \fInnodes\fP[], int \fInedges\fP[]) const - .fi .SH INPUT PARAMETER .ft R @@ -64,7 +59,7 @@ Functions MPI_Graphdims_get and MPI_Graph_get retrieve the graph-topology inform The information provided by MPI_Graphdims_get can be used to dimension the vectors index and edges correctly for a call to MPI_Graph_get. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Grequest_complete.3in b/ompi/mpi/man/man3/MPI_Grequest_complete.3in index e42b16fa85..051f516e37 100644 --- a/ompi/mpi/man/man3/MPI_Grequest_complete.3in +++ b/ompi/mpi/man/man3/MPI_Grequest_complete.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Grequest_complete 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -30,12 +31,6 @@ MPI_Grequest_complete(\fIrequest\fP, \fIierror\fP) TYPE(MPI_Request), INTENT(IN) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Grequest::Complete() - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -56,7 +51,7 @@ MPI_Grequest_complete informs MPI that the operations represented by the general MPI imposes no restrictions on the code executed by the callback functions. However, new nonblocking operations should be defined so that the general semantic rules about MPI calls such as MPI_Test, MPI_Request_free, or MPI_Cancel still hold. For example, all these calls are supposed to be local and nonblocking. Therefore, the callback functions \fIquery_fn\fP, \fIfree_fn\fP, or \fIcancel_fn\fP should invoke blocking MPI communication calls only if the context is such that these calls are guaranteed to return in finite time. Once MPI_Cancel has been invoked, the canceled operation should complete in finite time, regardless of the state of other processes (the operation has acquired "local" semantics). It should either succeed or fail without side-effects. The user should guarantee these same properties for newly defined operations. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Grequest_start.3in b/ompi/mpi/man/man3/MPI_Grequest_start.3in index e273850888..793aede59e 100644 --- a/ompi/mpi/man/man3/MPI_Grequest_start.3in +++ b/ompi/mpi/man/man3/MPI_Grequest_start.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Grequest_start 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -41,16 +42,6 @@ MPI_Grequest_start(\fIquery_fn\fP, \fIfree_fn\fP, \fIcancel_fn\fP, \fIextra_stat TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static MPI::Grequest - MPI::Grequest::Start(const MPI::Grequest::Query_function - \fIquery_fn\fP, const MPI::Grequest::Free_function \fIfree_fn\fP, - const MPI::Grequest::Cancel_function \fIcancel_fn\fP, - void \fI*extra_state\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -96,13 +87,6 @@ In Fortran, it is INTEGER(KIND=MPI_ADDRESS_KIND) \fIEXTRA_STATE\fP .fi .sp -and in C++, it is -.sp -.nf - typedef int MPI::Grequest::Query_function(void* \fIextra_state\fP, - MPI::Status& \fIstatus\fP); -.fi -.sp The \fIquery_fn\fP function computes the status that should be returned for the generalized request. The status also includes information about successful/unsuccessful cancellation of the request (result to be returned by MPI_Test_cancelled). .sp The \fIquery_fn\fP function is invoked by the MPI_{Wait|Test}{any|some|all} call that completed the generalized request associated with this callback. The callback function is also invoked by calls to MPI_Request_get_status if the request is complete when the call occurs. In both cases, the callback is passed a reference to the corresponding status variable passed by the user to the MPI call. If the user provided MPI_STATUS_IGNORE or MPI_STATUSES_IGNORE to the MPI function that causes \fIquery_fn\fP to be called, then MPI will pass a valid status object to \fIquery_fn\fP, and this status will be ignored upon return of the callback function. Note that \fIquery_fn\fP is invoked only after MPI_Grequest_complete is called on the request; it may be invoked several times for the same generalized request. Note also that a call to MPI_{Wait|Test}{some|all} may cause multiple invocations of \fIquery_fn\fP callback functions, one for each generalized request that is completed by the MPI call. The order of these invocations is not specified by MPI. @@ -113,7 +97,7 @@ In C, the free function is typedef int MPI_Grequest_free_function(void *\fIextra_state\fP); .fi .sp -In Fortran, it is +And in Fortran, it is .sp .nf SUBROUTINE GREQUEST_FREE_FUNCTION(\fIEXTRA_STATE, IERROR\fP) @@ -121,12 +105,6 @@ In Fortran, it is INTEGER(KIND=MPI_ADDRESS_KIND) \fIEXTRA_STATE\fP .fi .sp -And in C++, it is -.sp -.nf - typedef int MPI::Grequest::Free_function(void* \fIextra_state\fP); -.fi -.sp The \fIfree_fn\fP callback function is invoked to clean up user-allocated resources when the generalized request is freed. .sp The \fIfree_fn\fP function is invoked by the MPI_{Wait|Test}{any|some|all} call that completed the generalized request associated with this callback. \fIfree_fn\fP is invoked after the call to \fIquery_fn\fP for the same request. However, if the MPI call completed multiple generalized requests, the order in which \fIfree_fn\fP callback functions are invoked is not specified by MPI. @@ -148,13 +126,6 @@ In Fortran, the cancel function is LOGICAL \fICOMPLETE\fP .fi .sp -In C++, the cancel function is -.sp -.nf - typedef in MPI::Grequest::Cancel_function(void* \fIextra_state\fP, - bool \fIcomplete\fP); -.fi -.sp The \fIcancel_fn\fP function is invoked to start the cancellation of a generalized request. It is called by MPI_Request_cancel(request). MPI passes to the callback function complete=true if MPI_Grequest_complete has already been called on the request, and complete=false otherwise. .SH FORTRAN 77 NOTES @@ -171,7 +142,7 @@ where MPI_ADDRESS_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Group_compare.3in b/ompi/mpi/man/man3/MPI_Group_compare.3in index d1c6d2f5d8..de959ef376 100644 --- a/ompi/mpi/man/man3/MPI_Group_compare.3in +++ b/ompi/mpi/man/man3/MPI_Group_compare.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Group_compare 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Group_compare(\fIgroup1\fP, \fIgroup2\fP, \fIresult\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIresult\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static int Group::Compare(const Group& \fIgroup1\fP, const Group& \fIgroup2\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -62,7 +57,7 @@ Fortran only: Error status (integer). MPI_IDENT results if the group members and group order is exactly the same in both groups. This happens for instance if group1 and group2 are the same handle. MPI_SIMILAR results if the group members are the same but the order is different. MPI_UNEQUAL results otherwise. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Group_difference.3in b/ompi/mpi/man/man3/MPI_Group_difference.3in index 9ba0c03893..0c2566073a 100644 --- a/ompi/mpi/man/man3/MPI_Group_difference.3in +++ b/ompi/mpi/man/man3/MPI_Group_difference.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Group_difference 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -32,12 +33,6 @@ MPI_Group_difference(\fIgroup1\fP, \fIgroup2\fP, \fInewgroup\fP, \fIierror\fP) TYPE(MPI_Group), INTENT(OUT) :: \fInewgroup\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static Group Group::Difference(const Group& \fIgroup1\fP, const Group& \fIgroup2\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -78,7 +73,7 @@ Note that for these operations the order of processes in the output group is det The new group can be empty, that is, equal to MPI_GROUP_EMPTY. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Group_excl.3in b/ompi/mpi/man/man3/MPI_Group_excl.3in index 08fcdf0537..74fd0334fe 100644 --- a/ompi/mpi/man/man3/MPI_Group_excl.3in +++ b/ompi/mpi/man/man3/MPI_Group_excl.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Group_excl 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,12 +35,6 @@ MPI_Group_excl(\fIgroup\fP, \fIn\fP, \fIranks\fP, \fInewgroup\fP, \fIierror\fP) TYPE(MPI_Group), INTENT(OUT) :: \fInewgroup\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Group Group::Excl(int \fIn\fP, const int \fIranks\fP[]) const - .fi .SH INPUT PARAMETERS .ft R @@ -72,7 +67,7 @@ The function MPI_Group_excl creates a group of processes newgroup that is obtain Currently, each of the ranks to exclude must be a valid rank in the group and all elements must be distinct or the function is erroneous. This restriction is per the draft. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Group_free.3in b/ompi/mpi/man/man3/MPI_Group_free.3in index fa255b7ec1..c5fbade5c3 100644 --- a/ompi/mpi/man/man3/MPI_Group_free.3in +++ b/ompi/mpi/man/man3/MPI_Group_free.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Group_free 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -30,12 +31,6 @@ MPI_Group_free(\fIgroup\fP, \fIierror\fP) TYPE(MPI_Group), INTENT(INOUT) :: \fIgroup\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Group::Free() - .fi .SH INPUT/OUTPUT PARAMETER .TP 1i @@ -57,7 +52,7 @@ This operation marks a group object for deallocation. The handle group is set to On return, group is set to MPI_GROUP_NULL. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Group_incl.3in b/ompi/mpi/man/man3/MPI_Group_incl.3in index 1b84cdd496..7f2873ef13 100644 --- a/ompi/mpi/man/man3/MPI_Group_incl.3in +++ b/ompi/mpi/man/man3/MPI_Group_incl.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Group_incl 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,12 +35,6 @@ MPI_Group_incl(\fIgroup\fP, \fIn\fP, \fIranks\fP, \fInewgroup\fP, \fIierror\fP) TYPE(MPI_Group), INTENT(OUT) :: \fInewgroup\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Group Group::Incl(int \fIn\fP, const int \fIranks\fP[]) const - .fi .SH INPUT PARAMETERS .ft R @@ -73,7 +68,7 @@ This implementation does not currently check to ensure that there are no duplicates in the list of ranks. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Group_intersection.3in b/ompi/mpi/man/man3/MPI_Group_intersection.3in index 326ac3e221..305368a4cc 100644 --- a/ompi/mpi/man/man3/MPI_Group_intersection.3in +++ b/ompi/mpi/man/man3/MPI_Group_intersection.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Group_intersection 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -32,12 +33,6 @@ MPI_Group_intersection(\fIgroup1\fP, \fIgroup2\fP, \fInewgroup\fP, \fIierror\fP) TYPE(MPI_Group), INTENT(OUT) :: \fInewgroup\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static Group Group::Intersect(const Group& \fIgroup1\fP, const Group& \fIgroup2\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -78,7 +73,7 @@ Note that for these operations the order of processes in the output group is det The new group can be empty, that is, equal to MPI_GROUP_EMPTY. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Group_range_excl.3in b/ompi/mpi/man/man3/MPI_Group_range_excl.3in index 9e9b26446d..65934e234a 100644 --- a/ompi/mpi/man/man3/MPI_Group_range_excl.3in +++ b/ompi/mpi/man/man3/MPI_Group_range_excl.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Group_range_excl 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,12 +34,6 @@ MPI_Group_range_excl(\fIgroup\fP, \fIn\fP, \fIranges\fP, \fInewgroup\fP, \fIierr TYPE(MPI_Group), INTENT(OUT) :: \fInewgroup\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Group Group::Range_excl(int \fIn\fP, const int \fIranges\fP[][3]) const - .fi .SH INPUT PARAMETERS .ft R @@ -70,7 +65,7 @@ The functionality of this routine is specified to be equivalent to expanding the array of ranges to an array of the excluded ranks and passing the resulting array of ranks and other arguments to MPI_Group_excl. A call to MPI_Group_excl is equivalent to a call to MPI_Group_range_excl with each rank i in ranks replaced by the triplet (i,i,1) in the argument ranges. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Group_range_incl.3in b/ompi/mpi/man/man3/MPI_Group_range_incl.3in index 16a4c260da..c53ed85022 100644 --- a/ompi/mpi/man/man3/MPI_Group_range_incl.3in +++ b/ompi/mpi/man/man3/MPI_Group_range_incl.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Group_range_incl 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,12 +34,6 @@ MPI_Group_range_incl(\fIgroup\fP, \fIn\fP, \fIranges\fP, \fInewgroup\fP, \fIierr TYPE(MPI_Group), INTENT(OUT) :: \fInewgroup\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Group Group::Range_incl(int \fIn\fP, const int \fIranges\fP[][3]) const - .fi .SH INPUT PARAMETERS .ft R @@ -91,7 +86,7 @@ The functionality of this routine is specified to be equivalent to expanding the This implementation does not currently check to see that the list of ranges to include are valid ranks in the group. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Group_rank.3in b/ompi/mpi/man/man3/MPI_Group_rank.3in index 9b1c0eeeae..17952e25c9 100644 --- a/ompi/mpi/man/man3/MPI_Group_rank.3in +++ b/ompi/mpi/man/man3/MPI_Group_rank.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Group_rank 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Group_rank(\fIgroup\fP, \fIrank\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIrank\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int Group::Get_rank() const - .fi .SH INPUT PARAMETERS .ft R @@ -59,7 +54,7 @@ Fortran only: Error status (integer). MPI_Group_rank returns as the output parameter \fIrank\fP the rank of the calling process in group. If the process is not a member of group then MPI_UNDEFINED is returned. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Group_size.3in b/ompi/mpi/man/man3/MPI_Group_size.3in index c8d043374e..04ba8c002d 100644 --- a/ompi/mpi/man/man3/MPI_Group_size.3in +++ b/ompi/mpi/man/man3/MPI_Group_size.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Group_size 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Group_size(\fIgroup\fP, \fIsize\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIsize\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int Group::Get_size() const - .fi .SH INPUT PARAMETERS .ft R @@ -59,7 +54,7 @@ Fortran only: Error status (integer). MPI_Group_size returns in \fIsize\fP the number of processes in the group. Thus, if group = MPI_GROUP_EMPTY, then the call will return size = 0. On the other hand, a call with group = MPI_GROUP_NULL is erroneous. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Group_translate_ranks.3in b/ompi/mpi/man/man3/MPI_Group_translate_ranks.3in index 9c28f0ee35..5eac638281 100644 --- a/ompi/mpi/man/man3/MPI_Group_translate_ranks.3in +++ b/ompi/mpi/man/man3/MPI_Group_translate_ranks.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Group_translate_ranks 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -35,13 +36,6 @@ MPI_Group_translate_ranks(\fIgroup1\fP, \fIn\fP, \fIranks1\fP, \fIgroup2\fP, \fI INTEGER, INTENT(OUT) :: \fIranks2(n)\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static void Group::Translate_ranks (const Group& \fIgroup1\fP, int \fIn\fP, - const int \fIranks1\fP[], const Group& \fIgroup2\fP, int \fIranks2\fP[]) - .fi .SH INPUT PARAMETERS .ft R @@ -73,7 +67,7 @@ Fortran only: Error status (integer). This function is important for determining the relative numbering of the same processes in two different groups. For instance, if one knows the ranks of certain processes in the group of MPI_COMM_WORLD, one might want to know their ranks in a subset of that group. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Group_union.3in b/ompi/mpi/man/man3/MPI_Group_union.3in index 5258505e8f..84a4007963 100644 --- a/ompi/mpi/man/man3/MPI_Group_union.3in +++ b/ompi/mpi/man/man3/MPI_Group_union.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Group_union 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -32,12 +33,6 @@ MPI_Group_union(\fIgroup1\fP, \fIgroup2\fP, \fInewgroup\fP, \fIierror\fP) TYPE(MPI_Group), INTENT(OUT) :: \fInewgroup\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static Group Group::Union(const Group& \fIgroup1\fP, const Group& \fIgroup2\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -79,7 +74,7 @@ Note that for these operations the order of processes in the output group is det The new group can be empty, that is, equal to MPI_GROUP_EMPTY. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Ibsend.3in b/ompi/mpi/man/man3/MPI_Ibsend.3in index 949ae42f2e..e97d434c81 100644 --- a/ompi/mpi/man/man3/MPI_Ibsend.3in +++ b/ompi/mpi/man/man3/MPI_Ibsend.3in @@ -3,6 +3,7 @@ .\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Ibsend 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,13 +38,6 @@ MPI_Ibsend(\fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIdest\fP, \fItag\fP, \fIcom TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Request Comm::Ibsend(const void* \fIbuf\fP, int \fIcount\fP, const - Datatype& \fIdatatype\fP, int \fIdest\fP, int \fItag\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -83,7 +77,7 @@ MPI_Ibsend posts a buffered-mode, nonblocking send. Nonblocking calls allocate a A nonblocking send call indicates that the system may start copying data out of the send buffer. The sender should not modify any part of the send buffer after a nonblocking send operation is called, until the send completes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Improbe.3in b/ompi/mpi/man/man3/MPI_Improbe.3in index 680dd04219..ffa67e3e8c 100644 --- a/ompi/mpi/man/man3/MPI_Improbe.3in +++ b/ompi/mpi/man/man3/MPI_Improbe.3in @@ -3,6 +3,7 @@ .\" Copyright 2012 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Improbe 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -38,11 +39,6 @@ MPI_Improbe(\fIsource\fP, \fItag\fP, \fIcomm\fP, \fIflag\fP, \fImessage\fP, \fIs TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -There is no C++ binding for this function. - .fi .SH INPUT PARAMETERS .ft R @@ -95,13 +91,9 @@ matched and can be received by passing the \fImessage\fP handle to the MPI_Mrecv or MPI_Imrecv functions, provided the \fIsource\fP was not MPI_PROC_NULL. -.SH NOTE -This is an MPI-3 function and has no C++ binding. - .SH ERRORS Almost all MPI routines return an error value; C routines as the value -of the function and Fortran routines in the last argument. C++ -functions do not return errors. +of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Imrecv.3in b/ompi/mpi/man/man3/MPI_Imrecv.3in index b453e7db05..72d0cb3a4b 100644 --- a/ompi/mpi/man/man3/MPI_Imrecv.3in +++ b/ompi/mpi/man/man3/MPI_Imrecv.3in @@ -2,6 +2,7 @@ .\" Copyright 2012 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Imrecv 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -36,11 +37,6 @@ MPI_Imrecv(\fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fImessage\fP, \fIrequest\fP, TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -There is no C++ binding for this function. - .fi .SH INPUT PARAMETERS .ft R @@ -94,13 +90,9 @@ ordering rules (e.g., if another message matching the same message signature has matched -- and possible received -- before this MPI_Imrecv is canceled). -.SH NOTE -This is an MPI-3 function and has no C++ binding. - .SH ERRORS Almost all MPI routines return an error value; C routines as the value -of the function and Fortran routines in the last argument. C++ -functions do not return errors. +of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Info_create.3in b/ompi/mpi/man/man3/MPI_Info_create.3in index 2791f2004b..ddf5f60e4d 100644 --- a/ompi/mpi/man/man3/MPI_Info_create.3in +++ b/ompi/mpi/man/man3/MPI_Info_create.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Info_create 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -30,12 +31,6 @@ MPI_Info_create(\fIinfo\fP, \fIierror\fP) TYPE(MPI_Info), INTENT(OUT) :: \fIinfo\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static MPI::Info MPI::Info::Create() - .fi .SH OUTPUT PARAMETERS .ft R @@ -52,7 +47,7 @@ Fortran only: Error status (integer). MPI_Info_create creates a new info object. The newly created object contains no key/value pairs. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Info_delete.3in b/ompi/mpi/man/man3/MPI_Info_delete.3in index d963757e81..dd8ecab5d0 100644 --- a/ompi/mpi/man/man3/MPI_Info_delete.3in +++ b/ompi/mpi/man/man3/MPI_Info_delete.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Info_delete 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,12 +34,6 @@ MPI_Info_delete(\fIinfo\fP, \fIkey\fP, \fIierror\fP) CHARACTER(LEN=*), INTENT(IN) :: \fIkey\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Info::Delete(const char* \fIkey\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -63,7 +58,7 @@ Fortran only: Error status (integer). MPI_Info_delete deletes a (key,value) pair from \fIinfo\fP. If \fIkey\fP is not defined in \fIinfo\fP, the call raises an error of class MPI_ERR_INFO_NOKEY. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Info_dup.3in b/ompi/mpi/man/man3/MPI_Info_dup.3in index 0a74570420..145b5831dc 100644 --- a/ompi/mpi/man/man3/MPI_Info_dup.3in +++ b/ompi/mpi/man/man3/MPI_Info_dup.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Info_dup 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Info_dup(\fIinfo\fP, \fInewinfo\fP, \fIierror\fP) TYPE(MPI_Info), INTENT(OUT) :: \fInewinfo\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Info MPI::Info::Dup() const - .fi .SH INPUT PARAMETER .ft R @@ -59,7 +54,7 @@ Fortran only: Error status (integer). MPI_Info_dup duplicates an existing info object, creating a new object, with the same (key,value) pairs and the same ordering of keys. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Info_free.3in b/ompi/mpi/man/man3/MPI_Info_free.3in index 25963d3b83..138e9bb429 100644 --- a/ompi/mpi/man/man3/MPI_Info_free.3in +++ b/ompi/mpi/man/man3/MPI_Info_free.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Info_free 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -30,12 +31,6 @@ MPI_Info_free(\fIinfo\fP, \fIierror\fP) TYPE(MPI_Info), INTENT(INOUT) :: \fIinfo\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Info::Free() - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -54,7 +49,7 @@ Fortran only: Error status (integer). MPI_Info_free frees \fIinfo\fP and sets it to MPI_INFO_NULL. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Info_get.3in b/ompi/mpi/man/man3/MPI_Info_get.3in index 375b3eec73..22df455ec9 100644 --- a/ompi/mpi/man/man3/MPI_Info_get.3in +++ b/ompi/mpi/man/man3/MPI_Info_get.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Info_get 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,13 +38,6 @@ MPI_Info_get(\fIinfo\fP, \fIkey\fP, \fIvaluelen\fP, \fIvalue\fP, \fIflag\fP, \fI LOGICAL, INTENT(OUT) :: \fIflag\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -bool MPI::Info::Get(const char* \fIkey\fP, int \fIvaluelen\fP, - char* \fIvalue\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -80,7 +74,7 @@ MPI_Info_get retrieves the value associated with \fIkey\fP in a previous call to If \fIkey\fP is larger than MPI_MAX_INFO_KEY, the call is erroneous. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Info_get_nkeys.3in b/ompi/mpi/man/man3/MPI_Info_get_nkeys.3in index 1f3c896369..dc95393363 100644 --- a/ompi/mpi/man/man3/MPI_Info_get_nkeys.3in +++ b/ompi/mpi/man/man3/MPI_Info_get_nkeys.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Info_get_nkeys 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Info_get_nkeys(\fIinfo\fP, \fInkeys\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fInkeys\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int MPI::Info::Get_nkeys() const - .fi .SH INPUT PARAMETER .ft R @@ -59,7 +54,7 @@ Fortran only: Error status (integer). MPI_Info_get_nkeys returns the number of currently defined keys in \fIinfo\fP. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Info_get_nthkey.3in b/ompi/mpi/man/man3/MPI_Info_get_nthkey.3in index 23d73012bb..6995a3ea61 100644 --- a/ompi/mpi/man/man3/MPI_Info_get_nthkey.3in +++ b/ompi/mpi/man/man3/MPI_Info_get_nthkey.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Info_get_nthkey 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,12 +34,6 @@ MPI_Info_get_nthkey(\fIinfo\fP, \fIn\fP, \fIkey\fP, \fIierror\fP) CHARACTER(LEN=*), INTENT(OUT) :: \fIkey\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Info::Get_nthkey(int \fIn\fP, char* \fIkey\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -65,7 +60,7 @@ Fortran only: Error status (integer). MPI_Info_get_nthkey returns the \fIn\fPth defined key in \fIinfo\fP. Keys are numbered 0\...\fIN\fP - 1 where \fIN\fP is the value returned by MPI_Info_get_nkeys. All keys between 0 and \fIN\fP - 1 are guaranteed to be defined. The number of a given key does not change as long as \fIinfo\fP is not modified with MPI_Info_set or MPI_Info_delete. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Info_get_valuelen.3in b/ompi/mpi/man/man3/MPI_Info_get_valuelen.3in index fc77ff6d76..d1e91840e6 100644 --- a/ompi/mpi/man/man3/MPI_Info_get_valuelen.3in +++ b/ompi/mpi/man/man3/MPI_Info_get_valuelen.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Info_get_valuelen 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,13 +38,6 @@ MPI_Info_get_valuelen(\fIinfo\fP, \fIkey\fP, \fIvaluelen\fP, \fIflag\fP, \fIierr LOGICAL, INTENT(OUT) :: \fIflag\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -bool MPI::Info::Get_valuelen(const char* \fIkey\fP, int& \fIvaluelen\fP) - const - .fi .SH INPUT PARAMETERS .ft R @@ -71,12 +65,12 @@ Fortran only: Error status (integer). .SH DESCRIPTION .ft R -MPI_Info_get_valuelen retrieves the length of the \fIvalue\fP associated with \fIkey\fP. If \fIkey\fP is defined, \fIvaluelen\fP is set to the length of its associated value and \fIflag\fP is set to true. If \fIkey\fP is not defined, \fIvaluelen\fP is not touched and \fIflag\fP is set to false. The length returned in C or C++ does not include the end-of-string character. +MPI_Info_get_valuelen retrieves the length of the \fIvalue\fP associated with \fIkey\fP. If \fIkey\fP is defined, \fIvaluelen\fP is set to the length of its associated value and \fIflag\fP is set to true. If \fIkey\fP is not defined, \fIvaluelen\fP is not touched and \fIflag\fP is set to false. The length returned in C does not include the end-of-string character. .sp If \fIkey\fP is larger than MPI_MAX_INFO_KEY, the call is erroneous. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Info_set.3in b/ompi/mpi/man/man3/MPI_Info_set.3in index 2c1f146481..c13bdb8e0b 100644 --- a/ompi/mpi/man/man3/MPI_Info_set.3in +++ b/ompi/mpi/man/man3/MPI_Info_set.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Info_set 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -32,12 +33,6 @@ MPI_Info_set(\fIinfo\fP, \fIkey\fP, \fIvalue\fP, \fIierror\fP) CHARACTER(LEN=*), INTENT(IN) :: \fIkey\fP, \fIvalue\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Info::Set(const char* \fIkey\fP, const char* \fIvalue\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -66,7 +61,7 @@ Fortran only: Error status (integer). MPI_Info_set adds the (key,value) pair to \fIinfo\fP and overrides the value if a value for the same key was previously set. The \fIkey\fP and \fIvalue\fP parameters are null-terminated strings in C. In Fortran, leading and trailing spaces in \fIkey\fP and \fIvalue\fP are stripped. If either \fIkey\fP or \fIvalue\fP is larger than the allowed maximums, the error MPI_ERR_INFO_KEY or MPI_ERR_INFO_VALUE is raised, respectively. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Init.3in b/ompi/mpi/man/man3/MPI_Init.3in index 3eaa392a8b..b68cf035b5 100644 --- a/ompi/mpi/man/man3/MPI_Init.3in +++ b/ompi/mpi/man/man3/MPI_Init.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Init 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -31,22 +32,15 @@ USE mpi_f08 MPI_Init(\fIierror\fP) INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Init(int& \fIargc\fP, char**& \fIargv\fP) -void MPI::Init() - .fi .SH INPUT PARAMETERS .ft R .TP 1i argc -C/C++ only: Pointer to the number of arguments. +C only: Pointer to the number of arguments. .TP 1i argv -C/C++ only: Argument vector. +C only: Argument vector. .SH OUTPUT PARAMETER .ft R @@ -62,7 +56,7 @@ MPI_Initialized and MPI_Finalized. MPI can be initialized at most once; subsequent calls to MPI_Init or MPI_Init_thread are erroneous. .sp All MPI programs must contain a call to MPI_Init or -MPI_Init_thread. Open MPI accepts the C/C++ \fIargc\fP and \fIargv\fP +MPI_Init_thread. Open MPI accepts the C \fIargc\fP and \fIargv\fP arguments to main, but neither modifies, interprets, nor distributes them: .sp @@ -90,10 +84,7 @@ input, or writing to standard output. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Init_thread.3in b/ompi/mpi/man/man3/MPI_Init_thread.3in index 7afe8cc165..c6202bfa0a 100644 --- a/ompi/mpi/man/man3/MPI_Init_thread.3in +++ b/ompi/mpi/man/man3/MPI_Init_thread.3in @@ -2,6 +2,7 @@ .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Init_thread 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" . @@ -34,22 +35,15 @@ MPI_Init_thread(\fIrequired\fP, \fIprovided\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIprovided\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int MPI::Init_thread(int& \fIargc\fP, char**& \fIargv\fP, int \fIrequired\fP) -int MPI::Init_thread(int \fIrequired\fP) - .fi .SH INPUT PARAMETERS .ft R .TP 1i argc -C/C++ only: Pointer to the number of arguments. +C only: Pointer to the number of arguments. .TP 1i argv -C/C++ only: Argument vector. +C only: Argument vector. .TP 1i required Desired level of thread support (integer). @@ -92,8 +86,7 @@ with no restrictions. . .PP The level of thread support available to the program is set in -\fIprovided\fP, except in C++, where it is the return value of the -function. In Open MPI, the value is dependent on how the library was +\fIprovided\fP. In Open MPI, the value is dependent on how the library was configured and built. Note that there is no guarantee that \fIprovided\fP will be greater than or equal to \fIrequired\fP. .sp @@ -104,7 +97,7 @@ value of is equivalent to calling MPI_Init. .sp All MPI programs must contain a call to MPI_Init or -MPI_Init_thread. Open MPI accepts the C/C++ \fIargc\fP and \fIargv\fP +MPI_Init_thread. Open MPI accepts the C \fIargc\fP and \fIargv\fP arguments to main, but neither modifies, interprets, nor distributes them: .sp @@ -186,10 +179,7 @@ not .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Initialized.3in b/ompi/mpi/man/man3/MPI_Initialized.3in index 6db5eab2a7..ce3764ea89 100644 --- a/ompi/mpi/man/man3/MPI_Initialized.3in +++ b/ompi/mpi/man/man3/MPI_Initialized.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Initialized 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Initialized(\fIflag\fP, \fIierror\fP) LOGICAL, INTENT(OUT) :: \fIflag\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -bool Is_initialized() - .fi .SH OUTPUT PARAMETERS .ft R @@ -56,7 +51,7 @@ called before MPI is initialized and after MPI has been finalized (MPI_Finalized is another). .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Intercomm_create.3in b/ompi/mpi/man/man3/MPI_Intercomm_create.3in index 77f4476c77..e2b56b53e8 100644 --- a/ompi/mpi/man/man3/MPI_Intercomm_create.3in +++ b/ompi/mpi/man/man3/MPI_Intercomm_create.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Intercomm_create 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -36,13 +37,6 @@ MPI_Intercomm_create(\fIlocal_comm\fP, \fIlocal_leader\fP, \fIpeer_comm\fP, \fIr TYPE(MPI_Comm), INTENT(OUT) :: \fInewintercomm\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Intercomm Intracomm::Create_intercomm(int \fIlocal_leader\fP, const - Comm& \fIpeer_comm\fP, int \fIremote_leader\fP, int \fItag\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -101,7 +95,7 @@ intercommunicators (like groups are not disjoint. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Intercomm_merge.3in b/ompi/mpi/man/man3/MPI_Intercomm_merge.3in index cf5f25e220..bb2b7ed9b3 100644 --- a/ompi/mpi/man/man3/MPI_Intercomm_merge.3in +++ b/ompi/mpi/man/man3/MPI_Intercomm_merge.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Intercomm_merge 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,12 +35,6 @@ MPI_Intercomm_merge(\fIintercomm\fP, \fIhigh\fP, \fInewintracomm\fP, \fIierror\f TYPE(MPI_Comm), INTENT(OUT) :: \fInewintracomm\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Intracomm Intercomm::Merge(bool \fIhigh\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -65,7 +60,7 @@ Fortran only: Error status (integer). This function creates an intracommunicator from the union of the two groups that are associated with intercomm. All processes should provide the same high value within each of the two groups. If processes in one group provide the value high = false and processes in the other group provide the value high = true, then the union orders the "low" group before the "high" group. If all processes provide the same high argument, then the order of the union is arbitrary. This call is blocking and collective within the union of the two groups. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Iprobe.3in b/ompi/mpi/man/man3/MPI_Iprobe.3in index b07ed63dcd..856fe5a684 100644 --- a/ompi/mpi/man/man3/MPI_Iprobe.3in +++ b/ompi/mpi/man/man3/MPI_Iprobe.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Iprobe 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -35,14 +36,6 @@ MPI_Iprobe(\fIsource\fP, \fItag\fP, \fIcomm\fP, \fIflag\fP, \fIstatus\fP, \fIier TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -bool Comm::Iprobe(int \fIsource\fP, int \fItag\fP, Status& \fIstatus\fP) const - -bool Comm::Iprobe(int \fIsource\fP, int \fItag\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -89,7 +82,7 @@ It is not necessary to receive a message immediately after it has been probed fo Users of libmpi-mt should remember that two threads may do an MPI_Iprobe that actually returns true for the same message for both threads. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Irecv.3in b/ompi/mpi/man/man3/MPI_Irecv.3in index 80beda4b23..a4da7c51a2 100644 --- a/ompi/mpi/man/man3/MPI_Irecv.3in +++ b/ompi/mpi/man/man3/MPI_Irecv.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Irecv 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,13 +38,6 @@ MPI_Irecv(\fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIsource\fP, \fItag\fP, \fIco TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Request Comm::Irecv(void* \fIbuf\fP, int \fIcount\fP, const Datatype& - \fIdatatype\fP, int \fIsource\fP, int \fItag\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -85,7 +79,7 @@ A nonblocking receive call indicates that the system may start writing data into A receive request can be determined being completed by calling the MPI_Wait, MPI_Waitany, MPI_Test, or MPI_Testany with request returned by this function. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Irsend.3in b/ompi/mpi/man/man3/MPI_Irsend.3in index e09b6be49f..a7d9e6cc21 100644 --- a/ompi/mpi/man/man3/MPI_Irsend.3in +++ b/ompi/mpi/man/man3/MPI_Irsend.3in @@ -3,6 +3,7 @@ .\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Irsend 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,13 +38,6 @@ MPI_Irsend(\fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIdest\fP, \fItag\fP, \fIcom TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Request Comm::Irsend(const void* \fIbuf\fP, int \fIcount\fP, const - Datatype& \fIdatatype\fP, int \fIdest\fP, int \fItag\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -83,7 +77,7 @@ MPI_Irsend starts a ready-mode nonblocking send. Nonblocking calls allocate a co A nonblocking send call indicates that the system may start copying data out of the send buffer. The sender should not modify any part of the send buffer after a nonblocking send operation is called, until the send completes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Is_thread_main.3in b/ompi/mpi/man/man3/MPI_Is_thread_main.3in index 56fc438c5c..5a7c6218d7 100644 --- a/ompi/mpi/man/man3/MPI_Is_thread_main.3in +++ b/ompi/mpi/man/man3/MPI_Is_thread_main.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Is_thread_main 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -32,12 +33,6 @@ MPI_Is_thread_main(\fIflag\fP, \fIierror\fP) LOGICAL, INTENT(OUT) :: \fIflag\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -bool MPI::Is_thread_main() - .fi .SH OUTPUT PARAMETERS .TP 1i @@ -57,10 +52,7 @@ MPI_Init_thread). .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Isend.3in b/ompi/mpi/man/man3/MPI_Isend.3in index 9bb3bdf551..c10f4292a7 100644 --- a/ompi/mpi/man/man3/MPI_Isend.3in +++ b/ompi/mpi/man/man3/MPI_Isend.3in @@ -3,6 +3,7 @@ .\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. .\" Copyright 2007-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Isend 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,13 +38,6 @@ MPI_Isend(\fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIdest\fP, \fItag\fP, \fIcomm TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Request Comm::Isend(const void* \fIbuf\fP, int \fIcount\fP, const - Datatype& \fIdatatype\fP, int \fIdest\fP, int \fItag\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -85,7 +79,7 @@ A nonblocking send call indicates that the system may start copying data out of A send request can be determined being completed by calling the MPI_Wait, MPI_Waitany, MPI_Test, or MPI_Testany with request returned by this function. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Issend.3in b/ompi/mpi/man/man3/MPI_Issend.3in index 232ea8ebd3..03d907aab0 100644 --- a/ompi/mpi/man/man3/MPI_Issend.3in +++ b/ompi/mpi/man/man3/MPI_Issend.3in @@ -3,6 +3,7 @@ .\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Issend 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,13 +38,6 @@ MPI_Issend(\fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIdest\fP, \fItag\fP, \fIcom TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Request Comm::Issend(const void* \fIbuf\fP, int \fIcount\fP, const - Datatype& \fIdatatype\fP, int \fIdest\fP, int \fItag\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -85,7 +79,7 @@ Nonblocking calls allocate a communication request object and associate it with A nonblocking send call indicates that the system may start copying data out of the send buffer. The sender should not modify any part of the send buffer after a nonblocking send operation is called, until the send completes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Keyval_create.3in b/ompi/mpi/man/man3/MPI_Keyval_create.3in index 4679513eb5..4f49ef18b9 100644 --- a/ompi/mpi/man/man3/MPI_Keyval_create.3in +++ b/ompi/mpi/man/man3/MPI_Keyval_create.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Keyval_create 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -51,8 +52,6 @@ Fortran only: Error status (integer). .ft R Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Comm_create_keyval instead. .sp -This deprecated routine is not available in C++. -.sp Generates a new attribute key. Keys are locally unique in a process and opaque to the user, though they are explicitly stored in integers. Once allocated, the key value can be used to associate attributes and access them on any locally defined communicator. .sp The copy_fn function is invoked when a communicator is duplicated by MPI_COMM_DUP. copy_fn should be of type MPI_Copy_function, which is defined as follows: @@ -109,7 +108,7 @@ delete_fn may be specified as MPI_NULL_DELETE_FN from either C or FORTRAN; MPI_N The special key value MPI_KEYVAL_INVALID is never returned by MPI_Keyval_create. Therefore, it can be used for static initialization of key values. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Keyval_free.3in b/ompi/mpi/man/man3/MPI_Keyval_free.3in index 7c2d152334..bd26f8b802 100644 --- a/ompi/mpi/man/man3/MPI_Keyval_free.3in +++ b/ompi/mpi/man/man3/MPI_Keyval_free.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Keyval_free 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -39,8 +40,6 @@ Fortran only: Error status (integer). .ft R Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Comm_free_keyval instead. .sp -This deprecated routine is not available in C++. -.sp Frees an extant attribute key. This function sets the value of keyval to MPI_KEYVAL_INVALID. Note that it is not erroneous to free an attribute key that is in use, because the actual free does not transpire until after all references (in other communicators on the process) to the key have been freed. These references need to be explicitly freed by the program, either via calls to MPI_Attr_delete that free one attribute instance, or by calls to MPI_Comm_free that free all attribute instances associated with the freed communicator. .SH NOTE @@ -48,7 +47,7 @@ Frees an extant attribute key. This function sets the value of keyval to MPI_KE Key values are global (they can be used with any and all communicators). .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Lookup_name.3in b/ompi/mpi/man/man3/MPI_Lookup_name.3in index 43413e92bf..8a0367236f 100644 --- a/ompi/mpi/man/man3/MPI_Lookup_name.3in +++ b/ompi/mpi/man/man3/MPI_Lookup_name.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2007-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Lookup_name 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -39,13 +40,6 @@ MPI_Lookup_name(\fIservice_name\fP, \fIinfo\fP, \fIport_name\fP, \fIierror\fP) CHARACTER(LEN=MPI_MAX_PORT_NAME), INTENT(OUT) :: \fIport_name\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Lookup_name(const char *\fIservice_name\fP, const MPI::Info& \fIinfo\fP, - char* \fIport_name\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -119,10 +113,7 @@ man page. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Mprobe.3in b/ompi/mpi/man/man3/MPI_Mprobe.3in index d06790ccdb..32f94fb54e 100644 --- a/ompi/mpi/man/man3/MPI_Mprobe.3in +++ b/ompi/mpi/man/man3/MPI_Mprobe.3in @@ -3,6 +3,7 @@ .\" Copyright 2012 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Mprobe 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -36,11 +37,6 @@ MPI_Mprobe(\fIsource\fP, \fItag\fP, \fIcomm\fP, \fImessage\fP, \fIstatus\fP, \fI TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -There is no C++ binding for this function. - .fi .SH INPUT PARAMETERS .ft R @@ -88,13 +84,9 @@ When MPI_Mprobe returns (from a non-MPI_PROC_NULL \fIsource\fP), the matched message can then be received by passing the \fImessage\fP handle to the MPI_Mrecv or MPI_Imrecv functions. -.SH NOTE -This is an MPI-3 function and has no C++ binding. - .SH ERRORS Almost all MPI routines return an error value; C routines as the value -of the function and Fortran routines in the last argument. C++ -functions do not return errors. +of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Mrecv.3in b/ompi/mpi/man/man3/MPI_Mrecv.3in index 96037e0a56..f8ef966072 100644 --- a/ompi/mpi/man/man3/MPI_Mrecv.3in +++ b/ompi/mpi/man/man3/MPI_Mrecv.3in @@ -2,6 +2,7 @@ .\" Copyright 2012 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Mrecv 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,11 +38,6 @@ MPI_Mrecv(\fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fImessage\fP, \fIstatus\fP, \ TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -There is no C++ binding for this function. - .fi .SH INPUT PARAMETERS .ft R @@ -77,13 +73,9 @@ the call returns immediately with the \fIstatus\fP object set to \fIsource\fP = MPI_PROC_NULL, \fItag\fP = MPI_ANY_TAG, and \fIcount\fP = 0, as if a receive from MPI_PROC_NULL was issued. -.SH NOTE -This is an MPI-3 function and has no C++ binding. - .SH ERRORS Almost all MPI routines return an error value; C routines as the value -of the function and Fortran routines in the last argument. C++ -functions do not return errors. +of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Op_commutative.3in b/ompi/mpi/man/man3/MPI_Op_commutative.3in index 536cb9a7ad..84599cc49a 100644 --- a/ompi/mpi/man/man3/MPI_Op_commutative.3in +++ b/ompi/mpi/man/man3/MPI_Op_commutative.3in @@ -1,5 +1,6 @@ .\" -*- nroff -*- .\" Copyright 2015 FUJITSU LIMITED. All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Op_commutative 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -30,12 +31,6 @@ MPI_Op_commutative(\fIop\fP, \fIcommute\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIcommute\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -bool Op::Is_commutative() - .fi .SH INPUT PARAMETER .TP 1i @@ -57,7 +52,7 @@ Fortran only: Error status (integer). Reduction operations can be queried for their commutativity. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Op_create.3in b/ompi/mpi/man/man3/MPI_Op_create.3in index 126e690fae..05d3768e2e 100644 --- a/ompi/mpi/man/man3/MPI_Op_create.3in +++ b/ompi/mpi/man/man3/MPI_Op_create.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Op_create 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -35,12 +36,6 @@ MPI_Op_create(\fIuser_fn\fP, \fIcommute\fP, \fIop\fP, \fIierror\fP) TYPE(MPI_Op), INTENT(OUT) :: \fIop\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Op::Init(User function* \fIfunction\fP, bool \fIcommute\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -178,7 +173,7 @@ The reason for this is the performance problems in ensuring that all collective routines return the same error value. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Op_free.3in b/ompi/mpi/man/man3/MPI_Op_free.3in index 3f12201f73..d4e436428e 100644 --- a/ompi/mpi/man/man3/MPI_Op_free.3in +++ b/ompi/mpi/man/man3/MPI_Op_free.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Op_free 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -30,12 +31,6 @@ MPI_Op_free(\fIop\fP, \fIierror\fP) TYPE(MPI_Op), INTENT(INOUT) :: \fIop\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Op::Free() - .fi .SH INPUT/OUTPUT PARAMETER .TP 1i @@ -53,7 +48,7 @@ Fortran only: Error status (integer). Marks a user-defined reduction operation for deallocation and sets \fIop\fP to MPI_OP_NULL. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Open_port.3in b/ompi/mpi/man/man3/MPI_Open_port.3in index 2d4e8ce298..8a334384bf 100644 --- a/ompi/mpi/man/man3/MPI_Open_port.3in +++ b/ompi/mpi/man/man3/MPI_Open_port.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2007-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Open_port 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -32,12 +33,6 @@ MPI_Open_port(\fIinfo\fP, \fIport_name\fP, \fIierror\fP) CHARACTER(LEN=MPI_MAX_PORT_NAME), INTENT(OUT) :: \fIport_name\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Open_port(const MPI::Info& \fIinfo\fP, char* \fIport_name\fP) - .fi .SH INPUT PARAMETER .ft R @@ -64,7 +59,7 @@ MPI copies a system-supplied port name into \fIport_name\fP. \fIport_name\fP ide None. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Pack.3in b/ompi/mpi/man/man3/MPI_Pack.3in index d1cbfb4072..ac1a0fb500 100644 --- a/ompi/mpi/man/man3/MPI_Pack.3in +++ b/ompi/mpi/man/man3/MPI_Pack.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Pack 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -39,13 +40,6 @@ MPI_Pack(\fIinbuf\fP, \fIincount\fP, \fIdatatype\fP, \fIoutbuf\fP, \fIoutsize\fP TYPE(MPI_Comm), INTENT(IN) :: \fIcomm\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Datatype::Pack(const void* \fIinbuf\fP, int \fIincount\fP, void *\fIoutbuf\fP, - int \fIoutsize\fP, int& \fIposition\fP, const Comm &\fIcomm\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -112,7 +106,7 @@ The input value of \fIposition\fP is the first location in the output buffer to .fi .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Pack_external.3in b/ompi/mpi/man/man3/MPI_Pack_external.3in index eba3f25d8b..d785c87c3a 100644 --- a/ompi/mpi/man/man3/MPI_Pack_external.3in +++ b/ompi/mpi/man/man3/MPI_Pack_external.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Pack_external 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -48,15 +49,6 @@ MPI_Pack_external(\fIdatarep\fP, \fIinbuf\fP, \fIincount\fP, \fIdatatype\fP, \fI INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(INOUT) :: \fIposition\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Datatype::Pack_external(const char* \fIdatarep\fP, - const void* \fIinbuf\fP, int \fIincount\fP, - void* \fIoutbuf\fP, MPI::Aint \fIoutsize\fP, - MPI::Aint& \fIposition\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -192,10 +184,7 @@ by a sequence of related unpack calls. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Pack_external_size.3in b/ompi/mpi/man/man3/MPI_Pack_external_size.3in index c6656d946d..8d67ddeb66 100644 --- a/ompi/mpi/man/man3/MPI_Pack_external_size.3in +++ b/ompi/mpi/man/man3/MPI_Pack_external_size.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Pack_external_size 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -40,13 +41,6 @@ MPI_Pack_external_size(\fIdatarep\fP, \fIincount\fP, \fIdatatype\fP, \fIsize\fP, INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(OUT) :: \fIsize\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Aint MPI::Datatype::Pack_external_size(const char* \fIdatarep\fP, - int \fIincount\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -92,10 +86,7 @@ provided for future extensibility. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Pack_size.3in b/ompi/mpi/man/man3/MPI_Pack_size.3in index e2e9648c82..3abc9e435b 100644 --- a/ompi/mpi/man/man3/MPI_Pack_size.3in +++ b/ompi/mpi/man/man3/MPI_Pack_size.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Pack_size 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,12 +35,6 @@ MPI_Pack_size(\fIincount\fP, \fIdatatype\fP, \fIcomm\fP, \fIsize\fP, \fIierror\f INTEGER, INTENT(OUT) :: \fIsize\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int Datatype::Pack_size(int \fIincount\fP, const Comm& \fIcomm\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -71,7 +66,7 @@ upper bound on the increment in position that would occur in a call to MPI_Pack, \fBRationale:\fP The call returns an upper bound, rather than an exact bound, since the exact amount of space needed to pack the message may depend on the context (e.g., first message packed in a packing unit may take more space). .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Pcontrol.3in b/ompi/mpi/man/man3/MPI_Pcontrol.3in index 4efa9df21e..4a15f069c1 100644 --- a/ompi/mpi/man/man3/MPI_Pcontrol.3in +++ b/ompi/mpi/man/man3/MPI_Pcontrol.3in @@ -1,6 +1,7 @@ .\" -*- nroff -*- .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Pcontrol 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -28,12 +29,6 @@ USE mpi_f08 MPI_Pcontrol(\fIlevel\fP) INTEGER, INTENT(IN) :: \fIlevel\fP -.fi -.SH C++ Syntax -.nf -#include -void Pcontrol(const int \fIlevel\fP, \...) - .fi .SH INPUT PARAMETER .ft R diff --git a/ompi/mpi/man/man3/MPI_Probe.3in b/ompi/mpi/man/man3/MPI_Probe.3in index 39791b3a3b..a7839a0c8a 100644 --- a/ompi/mpi/man/man3/MPI_Probe.3in +++ b/ompi/mpi/man/man3/MPI_Probe.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Probe 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -32,14 +33,6 @@ MPI_Probe(\fIsource\fP, \fItag\fP, \fIcomm\fP, \fIstatus\fP, \fIierror\fP) TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Comm::Probe(int \fIsource\fP, int \fItag\fP, Status& \fIstatus\fP) const - -void Comm::Probe(int \fIsource\fP, int \fItag\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -122,7 +115,7 @@ CALL MPI_COMM_RANK(comm, rank, ierr) We slightly modified Example 2, using MPI_ANY_SOURCE as the source argument in the two receive calls in statements labeled 100 and 200. The program is now incorrect: The receive operation may receive a message that is distinct from the message probed by the preceding call to MPI_Probe. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Publish_name.3in b/ompi/mpi/man/man3/MPI_Publish_name.3in index 83953c2a77..36fbfc7523 100644 --- a/ompi/mpi/man/man3/MPI_Publish_name.3in +++ b/ompi/mpi/man/man3/MPI_Publish_name.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2007-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Publish_name 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -38,13 +39,6 @@ MPI_Publish_name(\fIservice_name\fP, \fIinfo\fP, \fIport_name\fP, \fIierror\fP) CHARACTER(LEN=*), INTENT(IN) :: \fIservice_name\fP, \fIport_name\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Publish_name(const char* \fIservice_name\fP, const MPI::Info& \fIinfo\fP, - const char* \fIport_name\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -153,10 +147,7 @@ with it. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Put.3in b/ompi/mpi/man/man3/MPI_Put.3in index 17d5918697..3f1e440e13 100644 --- a/ompi/mpi/man/man3/MPI_Put.3in +++ b/ompi/mpi/man/man3/MPI_Put.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Put 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -65,15 +66,6 @@ MPI_Rput(\fIorigin_addr\fP, \fIorigin_count\fP, \fIorigin_datatype\fP, \fItarget TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Win::Put(const void* \fIorigin_addr\fP, int \fIorigin_count\fP, const - MPI::Datatype& \fIorigin_datatype\fP, int \fItarget_rank\fP, MPI::Aint - \fItarget_disp\fP, int \fItarget_count\fP, const MPI::Datatype& - \fItarget_datatype\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -144,7 +136,7 @@ where MPI_ADDRESS_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Query_thread.3in b/ompi/mpi/man/man3/MPI_Query_thread.3in index c9148e945c..c25667fc61 100644 --- a/ompi/mpi/man/man3/MPI_Query_thread.3in +++ b/ompi/mpi/man/man3/MPI_Query_thread.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Query_thread 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -32,12 +33,6 @@ MPI_Query_thread(\fIprovided\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIprovided\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int MPI::Query_thread() - .fi .SH OUTPUT PARAMETERS .ft R @@ -81,10 +76,7 @@ program has been linked with the multithreaded library, in which case .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Recv.3in b/ompi/mpi/man/man3/MPI_Recv.3in index 59da488c8f..8e01654457 100644 --- a/ompi/mpi/man/man3/MPI_Recv.3in +++ b/ompi/mpi/man/man3/MPI_Recv.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2007-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Recv 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,16 +38,6 @@ MPI_Recv(\fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIsource\fP, \fItag\fP, \fIcom TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Comm::Recv(void* \fIbuf\fP, int \fIcount\fP, const Datatype& \fIdatatype\fP, - int \fIsource\fP, int \fItag\fP, Status& \fIstatus\fP) const - -void Comm::Recv(void* \fIbuf\fP, int \fIcount\fP, const Datatype& \fIdatatype\fP, - int \fIsource\fP, int \fItag\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -110,7 +101,7 @@ Source = destination is allowed, that is, a process can send a message to itself If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Recv_init.3in b/ompi/mpi/man/man3/MPI_Recv_init.3in index b23c258a96..d24d6be460 100644 --- a/ompi/mpi/man/man3/MPI_Recv_init.3in +++ b/ompi/mpi/man/man3/MPI_Recv_init.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Recv_init 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,13 +38,6 @@ MPI_Recv_init(\fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIsource\fP, \fItag\fP, \ TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Prequest Comm::Recv_init(void* \fIbuf\fP, int \fIcount\fP, const - Datatype& \fIdatatype\fP, int \fIsource\fP, int \fItag\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -87,7 +81,7 @@ A persistent communication request is inactive after it is created -- no active A communication (send or receive) that uses a persistent request is initiated by the function MPI_Start or MPI_Startall. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Reduce.3in b/ompi/mpi/man/man3/MPI_Reduce.3in index a01c530638..808c92d9a6 100644 --- a/ompi/mpi/man/man3/MPI_Reduce.3in +++ b/ompi/mpi/man/man3/MPI_Reduce.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Reduce 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -60,14 +61,6 @@ MPI_Ireduce(\fIsendbuf\fP, \fIrecvbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIop\fP, TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Intracomm::Reduce(const void* \fIsendbuf\fP, void* \fIrecvbuf\fP, - int \fIcount\fP, const MPI::Datatype& \fIdatatype\fP, const MPI::Op& \fIop\fP, - int \fIroot\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -457,7 +450,7 @@ The reason for this is the performance problems in ensuring that all collective routines return the same error value. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Reduce_local.3in b/ompi/mpi/man/man3/MPI_Reduce_local.3in index bc944137d0..1b5d2f1ea9 100644 --- a/ompi/mpi/man/man3/MPI_Reduce_local.3in +++ b/ompi/mpi/man/man3/MPI_Reduce_local.3in @@ -3,6 +3,7 @@ .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright 2009-2010 Cisco Systems, Inc. All rights reserved. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Reduce_local 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,13 +38,6 @@ MPI_Reduce_local(\fIinbuf\fP, \fIinoutbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIop TYPE(MPI_Op), INTENT(IN) :: \fIop\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Op::Reduce_local(const void* \fIinbuf\fP, void* \fIinoutbuf\fP, - int \fIcount\fP, const MPI::Datatype& \fIdatatype\fP, const MPI::Op& \fIop\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -269,7 +263,7 @@ The reason for this is the performance problems in ensuring that all collective routines return the same error value. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Reduce_scatter.3in b/ompi/mpi/man/man3/MPI_Reduce_scatter.3in index e054d658dd..288c0b69e1 100644 --- a/ompi/mpi/man/man3/MPI_Reduce_scatter.3in +++ b/ompi/mpi/man/man3/MPI_Reduce_scatter.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Reduce_scatter 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -59,14 +60,6 @@ MPI_Ireduce_scatter(\fIsendbuf\fP, \fIrecvbuf\fP, \fIrecvcounts\fP, \fIdatatype\ TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Comm::Reduce_scatter(const void* \fIsendbuf\fP, void* \fIrecvbuf\fP, - int \fIrecvcounts\fP[], const MPI::Datatype& \fIdatatype\fP, - const MPI::Op& \fIop\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -136,7 +129,7 @@ The reason for this is the performance problems in ensuring that all collective routines return the same error value. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Register_datarep.3in b/ompi/mpi/man/man3/MPI_Register_datarep.3in index 541f8483b6..60f08b269e 100644 --- a/ompi/mpi/man/man3/MPI_Register_datarep.3in +++ b/ompi/mpi/man/man3/MPI_Register_datarep.3in @@ -5,6 +5,7 @@ .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2015-2016 Research Organization for Information Science .\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Register_datarep 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -48,16 +49,6 @@ MPI_Register_datarep(\fIdatarep\fP, \fIread_conversion_fn\fP, \fIwrite_conversio INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(IN) :: \fIextra_state\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Register_datarep(const char* \fIdatarep\fP, - MPI::Datarep_conversion_function* \fIread_conversion_fn\fP, - MPI::Datarep_conversion_function* \fIwrite_conversion_fn\fP, - MPI::Datarep_extent_function* \fIdtype_file_extent_fn\fP, - void* \fIextra_state\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -101,10 +92,10 @@ IERROR, which is not defined in the PARAMETERS sections. This argument is used t .sp The C version of each routine returns an error status as an integer return value. .sp -Error classes are found in mpi.h (for C), mpif.h (for Fortran), and mpi++.h (for C++). +Error classes are found in mpi.h (for C) and mpif.h (for Fortran). .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Request_free.3in b/ompi/mpi/man/man3/MPI_Request_free.3in index ee1abf117c..eeb31ca111 100644 --- a/ompi/mpi/man/man3/MPI_Request_free.3in +++ b/ompi/mpi/man/man3/MPI_Request_free.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Request_free 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -29,12 +30,6 @@ MPI_Request_free(\fIrequest\fP, \fIierror\fP) TYPE(MPI_Request), INTENT(INOUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Request::Free() - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -99,7 +94,7 @@ use the request in a wait or test routine (e.g., ). .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Request_get_status.3in b/ompi/mpi/man/man3/MPI_Request_get_status.3in index 0af4da7f34..d4e5414f38 100644 --- a/ompi/mpi/man/man3/MPI_Request_get_status.3in +++ b/ompi/mpi/man/man3/MPI_Request_get_status.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Request_get_status 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,14 +34,6 @@ MPI_Request_get_status(\fIrequest\fP, \fIflag\fP, \fIstatus\fP, \fIierror\fP) TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -bool MPI::Request::Get_status(MPI::Status& \fIstatus\fP) const - -bool MPI::Request::Get_status() const - .fi .SH INPUT PARAMETER .ft @@ -65,7 +58,7 @@ MPI_Request_get_status sets \fIflag\fP=\fItrue\fP if the operation is complete o If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Rsend.3in b/ompi/mpi/man/man3/MPI_Rsend.3in index 23eae2780c..14db0479e9 100644 --- a/ompi/mpi/man/man3/MPI_Rsend.3in +++ b/ompi/mpi/man/man3/MPI_Rsend.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Rsend 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -36,13 +37,6 @@ MPI_Rsend(\fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIdest\fP, \fItag\fP, \fIcomm TYPE(MPI_Comm), INTENT(IN) :: \fIcomm\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Comm::Rsend(const void* \fIbuf\fP, int \fIcount\fP, const Datatype& - \fIdatatype\fP, int \fIdest\fP, int \fItag\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -78,7 +72,7 @@ already posted. It is an error if the receive is not posted before the ready send is called. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Rsend_init.3in b/ompi/mpi/man/man3/MPI_Rsend_init.3in index 4054355665..6746e1f903 100644 --- a/ompi/mpi/man/man3/MPI_Rsend_init.3in +++ b/ompi/mpi/man/man3/MPI_Rsend_init.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Rsend_init 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -38,13 +39,6 @@ MPI_Rsend_init(\fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIdest\fP, \fItag\fP, \f TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Prequest Comm::Rsend_init(const void* \fIbuf\fP, int \fIcount\fP, const - Datatype& \fIdatatype\fP, int \fIdest\fP, int \fItag\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -84,7 +78,7 @@ Creates a persistent communication object for a ready mode send operation, and b A communication (send or receive) that uses a persistent request is initiated by the function MPI_Start. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Scan.3in b/ompi/mpi/man/man3/MPI_Scan.3in index 46da5f589d..bea0382450 100644 --- a/ompi/mpi/man/man3/MPI_Scan.3in +++ b/ompi/mpi/man/man3/MPI_Scan.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Scan 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -57,14 +58,6 @@ MPI_Iscan(\fIsendbuf\fP, \fIrecvbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIop\fP, \ TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Intracomm::Scan(const void* \fIsendbuf\fP, void* \fIrecvbuf\fP, - int \fIcount\fP, const MPI::Datatype& \fIdatatype\fP, - const MPI::Op& \fIop\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -220,10 +213,7 @@ all collective routines return the same error value. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Scatter.3in b/ompi/mpi/man/man3/MPI_Scatter.3in index 2f69be743d..1a97867c17 100644 --- a/ompi/mpi/man/man3/MPI_Scatter.3in +++ b/ompi/mpi/man/man3/MPI_Scatter.3in @@ -3,6 +3,7 @@ .\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Scatter 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -61,15 +62,6 @@ MPI_Iscatter(\fIsendbuf\fP, \fIsendcount\fP, \fIsendtype\fP, \fIrecvbuf\fP, \fIr TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Comm::Scatter(const void* \fIsendbuf\fP, int \fIsendcount\fP, - const MPI::Datatype& \fIsendtype\fP, void* \fIrecvbuf\fP, - int \fIrecvcount\fP, const MPI::Datatype& \fIrecvtype\fP, - int \fIroot\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -179,7 +171,7 @@ Because the in-place option converts the receive buffer into a send-and-receive When the communicator is an inter-communicator, the root process in the first group sends data to all processes in the second group. The first group defines the root process. That process uses MPI_ROOT as the value of its \fIroot\fR argument. The remaining processes use MPI_PROC_NULL as the value of their \fIroot\fR argument. All processes in the second group use the rank of that root process in the first group as the value of their \fIroot\fR argument. The receive buffer argument of the root process in the first group must be consistent with the receive buffer argument of the processes in the second group. .sp .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Scatterv.3in b/ompi/mpi/man/man3/MPI_Scatterv.3in index 515acb0578..f49f0bd64b 100644 --- a/ompi/mpi/man/man3/MPI_Scatterv.3in +++ b/ompi/mpi/man/man3/MPI_Scatterv.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Scatterv 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -61,15 +62,6 @@ MPI_Iscatterv(\fIsendbuf\fP, \fIsendcounts\fP, \fIdispls\fP, \fIsendtype\fP, \fI TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Comm::Scatterv(const void* \fIsendbuf\fP, const int \fIsendcounts\fP[], - const int \fIdispls\fP[], const MPI::Datatype& \fIsendtype\fP, - void* \fIrecvbuf\fP, int \fIrecvcount\fP, const MPI::Datatype& - \fIrecvtype\fP, int \fIroot\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -223,7 +215,7 @@ Because the in-place option converts the receive buffer into a send-and-receive When the communicator is an inter-communicator, the root process in the first group sends data to all processes in the second group. The first group defines the root process. That process uses MPI_ROOT as the value of its \fIroot\fR argument. The remaining processes use MPI_PROC_NULL as the value of their \fIroot\fR argument. All processes in the second group use the rank of that root process in the first group as the value of their \fIroot\fR argument. The receive buffer argument of the root process in the first group must be consistent with the receive buffer argument of the processes in the second group. .sp .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Send.3in b/ompi/mpi/man/man3/MPI_Send.3in index 82e8014dd8..a389ee6e88 100644 --- a/ompi/mpi/man/man3/MPI_Send.3in +++ b/ompi/mpi/man/man3/MPI_Send.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2007-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Send 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -36,13 +37,6 @@ MPI_Send(\fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIdest\fP, \fItag\fP, \fIcomm\ TYPE(MPI_Comm), INTENT(IN) :: \fIcomm\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Comm::Send(const void* \fIbuf\fP, int \fIcount\fP, const Datatype& - \fIdatatype\fP, int \fIdest\fP, int \fItag\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -80,7 +74,7 @@ MPI_Send performs a standard-mode, blocking send. This routine will block until the message is sent to the destination. For an in-depth explanation of the semantics of the standard-mode send, refer to the MPI-1 Standard. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Send_init.3in b/ompi/mpi/man/man3/MPI_Send_init.3in index 715fe82efe..0209db645c 100644 --- a/ompi/mpi/man/man3/MPI_Send_init.3in +++ b/ompi/mpi/man/man3/MPI_Send_init.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Send_init 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -39,13 +40,6 @@ MPI_Send_init(\fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIdest\fP, \fItag\fP, \fI TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Prequest Comm::Send_init(const void* \fIbuf\fP, int \fIcount\fP, const - Datatype& \fIdatatype\fP, int \fIdest\fP, int \fItag\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -85,7 +79,7 @@ Creates a persistent communication request for a standard mode send operation, a A communication (send or receive) that uses a persistent request is initiated by the function MPI_Start or MPI_Startall. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Sendrecv.3in b/ompi/mpi/man/man3/MPI_Sendrecv.3in index 5635fdd67c..d7e2d757e6 100644 --- a/ompi/mpi/man/man3/MPI_Sendrecv.3in +++ b/ompi/mpi/man/man3/MPI_Sendrecv.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Sendrecv 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -46,20 +47,6 @@ MPI_Sendrecv(\fIsendbuf\fP, \fIsendcount\fP, \fIsendtype\fP, \fIdest\fP, \fIsend TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Comm::Sendrecv(const void *\fIsendbuf\fP, int \fIsendcount\fP, const - Datatype& \fIsendtype\fP, int \fIdest\fP, int \fIsendtag\fP, void *\fIrecvbuf\fP, - int \fIrecvcount\fP, const Datatype& \fIrecvtype\fP, int \fIsource\fP, - int \fIrecvtag\fP, Status& \fIstatus\fP) const - -void Comm::Sendrecv(const void *\fIsendbuf\fP, int \fIsendcount\fP, const - Datatype& \fIsendtype\fP, int \fIdest\fP, int \fIsendtag\fP, void *\fIrecvbuf\fP, - int \fIrecvcount\fP, const Datatype& \fIrecvtype\fP, int \fIsource\fP, - int \fIrecvtag\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -118,7 +105,7 @@ MPI_Sendrecv executes a blocking send and receive operation. Both send and recei If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Sendrecv_replace.3in b/ompi/mpi/man/man3/MPI_Sendrecv_replace.3in index 1cc1f47a40..4d28f2021c 100644 --- a/ompi/mpi/man/man3/MPI_Sendrecv_replace.3in +++ b/ompi/mpi/man/man3/MPI_Sendrecv_replace.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Sendrecv_replace 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -41,18 +42,6 @@ MPI_Sendrecv_replace(\fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIdest\fP, \fIsend TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Comm::Sendrecv_replace(void* \fIbuf\fP, int \fIcount\fP, const - Datatype& \fIdatatype\fP, int \fIdest\fP, int \fIsendtag\fP, int \fIsource\fP, - int \fIrecvtag\fP, Status& \fIstatus\fP) const - -void Comm::Sendrecv_replace(void* \fIbuf\fP, int \fIcount\fP, const - Datatype& \fIdatatype\fP, int \fIdest\fP, int \fIsendtag\fP, int \fIsource\fP, - int \fIrecvtag\fP) const - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -104,7 +93,7 @@ MPI_Sendrecv_replace executes a blocking send and receive. The same buffer is us The semantics of a send-receive operation is what would be obtained if the caller forked two concurrent threads, one to execute the send, and one to execute the receive, followed by a join of these two threads. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Sizeof.3in b/ompi/mpi/man/man3/MPI_Sizeof.3in index de9a317581..fb414c41a4 100644 --- a/ompi/mpi/man/man3/MPI_Sizeof.3in +++ b/ompi/mpi/man/man3/MPI_Sizeof.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Sizeof 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -50,19 +51,16 @@ Error status (integer). MPI_SIZEOF returns the size (in bytes) of the machine representation of the given variable. It is a generic Fortran type and has a Fortran binding only. This routine is similar to the sizeof builtin in -C/C++. However, if given an array argument, it returns the size of the +C. However, if given an array argument, it returns the size of the base element, not the size of the whole array. .SH NOTES -This function is not available in C/C++ because it is not necessary. +This function is not available in C because it is not necessary. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Ssend.3in b/ompi/mpi/man/man3/MPI_Ssend.3in index 550e57a5cc..877d362889 100644 --- a/ompi/mpi/man/man3/MPI_Ssend.3in +++ b/ompi/mpi/man/man3/MPI_Ssend.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Ssend 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -36,13 +37,6 @@ MPI_Ssend(\fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIdest\fP, \fItag\fP, \fIcomm TYPE(MPI_Comm), INTENT(IN) :: \fIcomm\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Comm::Ssend(const void* \fIbuf\fP, int \fIcount\fP, const Datatype& - \fIdatatype\fP, int \fIdest\fP, int \fItag\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -76,7 +70,7 @@ Fortran only: Error status (integer). MPI_Ssend performs a synchronous-mode, blocking send. See the MPI-1 Standard for more detailed information about such sends. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Ssend_init.3in b/ompi/mpi/man/man3/MPI_Ssend_init.3in index fed489d11c..f216cd9202 100644 --- a/ompi/mpi/man/man3/MPI_Ssend_init.3in +++ b/ompi/mpi/man/man3/MPI_Ssend_init.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Ssend_init 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -38,13 +39,6 @@ MPI_Ssend_init(\fIbuf\fP, \fIcount\fP, \fIdatatype\fP, \fIdest\fP, \fItag\fP, \f TYPE(MPI_Request), INTENT(OUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Prequest Comm::Ssend_init(const void* \fIbuf\fP, int \fIcount\fP, const - Datatype& \fIdatatype\fP, int \fIdest\fP, int \fItag\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -84,7 +78,7 @@ Creates a persistent communication object for a synchronous mode send operation, A communication (send or receive) that uses a persistent request is initiated by the function MPI_Start. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Start.3in b/ompi/mpi/man/man3/MPI_Start.3in index 4c3f419d6b..32da019a2f 100644 --- a/ompi/mpi/man/man3/MPI_Start.3in +++ b/ompi/mpi/man/man3/MPI_Start.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Start 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -30,12 +31,6 @@ MPI_Start(\fIrequest\fP, \fIierror\fP) TYPE(MPI_Request), INTENT(INOUT) :: \fIrequest\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Prequest::Start() - .fi .SH INPUT PARAMETER .ft R @@ -60,7 +55,7 @@ If the request is for a send with ready mode, then a matching receive should be The call is local, with semantics similar to the nonblocking communication operations (see Section 3.7 in the MPI-1 Standard, "Nonblocking Communication.") That is, a call to MPI_Start with a request created by MPI_Send_init starts a communication in the same manner as a call to MPI_Isend; a call to MPI_Start with a request created by MPI_Bsend_init starts a communication in the same manner as a call to MPI_Ibsend; and so on. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Startall.3in b/ompi/mpi/man/man3/MPI_Startall.3in index 332893bac4..1f2b366134 100644 --- a/ompi/mpi/man/man3/MPI_Startall.3in +++ b/ompi/mpi/man/man3/MPI_Startall.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Startall 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Startall(\fIcount\fP, \fIarray_of_requests\fP, \fIierror\fP) TYPE(MPI_Request), INTENT(INOUT) :: \fIarray_of_requests(count)\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static void Prequest::Startall(int \fIcount\fP, Prequest \fIarray_of_requests\fP[]) - .fi .SH INPUT PARAMETER .ft R @@ -75,7 +70,7 @@ where * indicates zero or more repetitions. If the same communication object is A send operation initiated with MPI_Start can be matched with any receive operation and, likewise, a receive operation initiated with MPI_Start can receive messages generated by any send operation. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Status_set_cancelled.3in b/ompi/mpi/man/man3/MPI_Status_set_cancelled.3in index 9a2505f1e7..e7de779eb0 100644 --- a/ompi/mpi/man/man3/MPI_Status_set_cancelled.3in +++ b/ompi/mpi/man/man3/MPI_Status_set_cancelled.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Status_set_cancelled 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -32,12 +33,6 @@ MPI_Status_set_cancelled(\fIstatus\fP, \fIflag\fP, \fIierror\fP) LOGICAL, INTENT(OUT) :: \fIflag\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Status::Set_cancelled(bool \fIflag\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -66,7 +61,7 @@ If \fIflag\fP is set to true, then a subsequent call to MPI_Test_cancelled(\fIst Users are advised not to reuse the status fields for values other than those for which they were intended. Doing so may lead to unexpected results when using the status object. For example, calling MPI_Get_elements may cause an error if the value is out of range, or it may be impossible to detect such an error. The \fIextra_state\fP argument provided with a generalized request can be used to return information that does not logically belong in \fIstatus\fP. Furthermore, modifying the values in a status set internally by MPI, such as MPI_Recv, may lead to unpredictable results and is strongly discouraged. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Status_set_elements.3in b/ompi/mpi/man/man3/MPI_Status_set_elements.3in index de8dfceab4..ebda3c8dfc 100644 --- a/ompi/mpi/man/man3/MPI_Status_set_elements.3in +++ b/ompi/mpi/man/man3/MPI_Status_set_elements.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Status_set_elements 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -43,12 +44,6 @@ MPI_Status_set_elements_x(\fIstatus\fP, \fIdatatype\fP, \fIcount\fP, \fIierror\f INTEGER(KIND = MPI_COUNT_KIND), INTENT(IN) :: \fIcount\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Status::Set_elements(const MPI::Datatype& \fIdatatype\fP, int \fIcount\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -82,7 +77,7 @@ A subsequent call to MPI_Get_count(\fIstatus, datatype, count\fP), to MPI_Get_el Users are advised not to reuse the status fields for values other than those for which they were intended. Doing so may lead to unexpected results when using the status object. For example, calling MPI_Get_elements may cause an error if the value is out of range, or it may be impossible to detect such an error. The \fIextra_state\fP argument provided with a generalized request can be used to return information that does not logically belong in \fIstatus\fP. Furthermore, modifying the values in a status set internally by MPI, such as MPI_Recv, may lead to unpredictable results and is strongly discouraged. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Test.3in b/ompi/mpi/man/man3/MPI_Test.3in index 6d145defdb..43222245fe 100644 --- a/ompi/mpi/man/man3/MPI_Test.3in +++ b/ompi/mpi/man/man3/MPI_Test.3in @@ -2,6 +2,7 @@ .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright 2007-2008 Cisco Systems, Inc. All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Test 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,14 +34,6 @@ MPI_Test(\fIrequest\fP, \fIflag\fP, \fIstatus\fP, \fIierror\fP) TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -bool Request::Test(Status& \fIstatus\fP) - -bool Request::Test() - .fi .SH INPUT PARAMETER .ft R @@ -78,7 +71,7 @@ receives. The use of the nonblocking MPI_Test call allows the user to schedule alternative activities within a single thread of execution. An event-driven thread scheduler can be emulated with periodic calls to MPI_Test. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Test_cancelled.3in b/ompi/mpi/man/man3/MPI_Test_cancelled.3in index 4d2fd43e06..59db637639 100644 --- a/ompi/mpi/man/man3/MPI_Test_cancelled.3in +++ b/ompi/mpi/man/man3/MPI_Test_cancelled.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Test_cancelled 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,12 +34,6 @@ MPI_Test_cancelled(\fIstatus\fP, \fIflag\fP, \fIierror\fP) LOGICAL, INTENT(OUT) :: \fIflag\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -bool Status::Is_cancelled() const - .fi .SH INPUT PARAMETER .ft R @@ -65,7 +60,7 @@ was canceled successfully. In such a case, all other fields of status (such as \ Cancel can be an expensive operation that should be used only exceptionally. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Testall.3in b/ompi/mpi/man/man3/MPI_Testall.3in index 68d5f19a1c..fc04c52dec 100644 --- a/ompi/mpi/man/man3/MPI_Testall.3in +++ b/ompi/mpi/man/man3/MPI_Testall.3in @@ -2,6 +2,7 @@ .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright (c) 2011 Cisco Systems, Inc. All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Testall 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -37,15 +38,6 @@ MPI_Testall(\fIcount\fP, \fIarray_of_requests\fP, \fIflag\fP, \fIarray_of_status TYPE(MPI_Status) :: \fIarray_of_statuses(*)\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static bool Request::Testall(int \fIcount\fP, Request - \fIarray_of_requests\fP[], Status \fIarray_of_statuses\fP[]) - -static bool Request::Testall(int \fIcount\fP, Request \fIarray_of_requests\fP[]) - .fi .SH INPUT PARAMETERS .ft R @@ -103,11 +95,7 @@ continue past an error. .sp If the invoked error handler allows MPI_Testall to return to the caller, the value MPI_ERR_IN_STATUS will be returned in the C and -Fortran bindings. In C++, if the predefined error handler -MPI::ERRORS_THROW_EXCEPTIONS is used, the value MPI::ERR_IN_STATUS -will be contained in the MPI::Exception object. The MPI_ERROR field -can then be examined in the array of returned statuses to determine -exactly which request(s) generated an exception. +Fortran bindings. .SH SEE ALSO .ft R diff --git a/ompi/mpi/man/man3/MPI_Testany.3in b/ompi/mpi/man/man3/MPI_Testany.3in index 4664799f20..28abc7feed 100644 --- a/ompi/mpi/man/man3/MPI_Testany.3in +++ b/ompi/mpi/man/man3/MPI_Testany.3in @@ -1,6 +1,7 @@ .\" -*- nroff -*- .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Testany 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -36,16 +37,6 @@ MPI_Testany(\fIcount\fP, \fIarray_of_requests\fP, \fIindex\fP, \fIflag\fP, \fIst TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static bool Request::Testany(int \fIcount\fP, Request \fIarray_of_requests\fP[], - int& \fIindex\fP, Status& \fIstatus\fP) - -static bool Request::Testany(int \fIcount\fP, Request \fIarray_of_requests\fP[], - int& \fIindex\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -85,7 +76,7 @@ MPI_Testany(count, array_of_requests, index, status) has the same effect as the If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Testsome.3in b/ompi/mpi/man/man3/MPI_Testsome.3in index 2e1a6c6721..67d33c7747 100644 --- a/ompi/mpi/man/man3/MPI_Testsome.3in +++ b/ompi/mpi/man/man3/MPI_Testsome.3in @@ -2,6 +2,7 @@ .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright (c) 2011-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Testsome 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -39,17 +40,6 @@ MPI_Testsome(\fIincount\fP, \fIarray_of_requests\fP, \fIoutcount\fP, \fIarray_of TYPE(MPI_Status) :: \fIarray_of_statuses(*)\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static int Request::Testsome(int \fIincount\fP, Request - \fIarray_of_requests\fP[], int \fIarray_of_indices\fP[], - Status \fIarray_of_statuses\fP[]) - -static int Request::Testsome(int \fIincount\fP, Request - \fIarray_of_requests\fP[], int \fIarray_of_indices\fP[]) - .fi .SH INPUT PARAMETERS .ft R @@ -125,11 +115,7 @@ continue past an error. .sp If the invoked error handler allows MPI_Testsome to return to the caller, the value MPI_ERR_IN_STATUS will be returned in the C and -Fortran bindings. In C++, if the predefined error handler -MPI::ERRORS_THROW_EXCEPTIONS is used, the value MPI::ERR_IN_STATUS -will be contained in the MPI::Exception object. The MPI_ERROR field -can then be examined in the array of returned statuses to determine -exactly which request(s) generated an exception. +Fortran bindings. .SH SEE ALSO .ft R diff --git a/ompi/mpi/man/man3/MPI_Topo_test.3in b/ompi/mpi/man/man3/MPI_Topo_test.3in index 4d4b7bbcd2..d53552a383 100644 --- a/ompi/mpi/man/man3/MPI_Topo_test.3in +++ b/ompi/mpi/man/man3/MPI_Topo_test.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Topo_test 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,12 +34,6 @@ MPI_Topo_test(\fIcomm\fP, \fIstatus\fP, \fIierror\fP) \fIDOUBLE PRECISION MPI_Wtick(\fP) \fIDOUBLE PRECISION MPI_Wtime(\fP) -.fi -.SH C++ Syntax -.nf -#include -int Comm::Get_topology() const - .fi .SH INPUT PARAMETER .ft R @@ -70,7 +65,7 @@ The output value \fItop_type\fP is one of the following: .fi .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_commit.3in b/ompi/mpi/man/man3/MPI_Type_commit.3in index c154d7d9ab..2e373d995b 100644 --- a/ompi/mpi/man/man3/MPI_Type_commit.3in +++ b/ompi/mpi/man/man3/MPI_Type_commit.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_commit 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -30,12 +31,6 @@ MPI_Type_commit(\fIdatatype\fP, \fIierror\fP) TYPE(MPI_Datatype), INTENT(INOUT) :: \fIdatatype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Datatype::Commit() - .fi .SH INPUT PARAMETER .ft R @@ -66,7 +61,7 @@ The commit operation commits the data type. A data type is the formal descriptio If the data type specified in \fIdatatype\fP is already committed, it is equivalent to a no-op. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_contiguous.3in b/ompi/mpi/man/man3/MPI_Type_contiguous.3in index a9fd10e055..3f0eec18ef 100644 --- a/ompi/mpi/man/man3/MPI_Type_contiguous.3in +++ b/ompi/mpi/man/man3/MPI_Type_contiguous.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_contiguous 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,12 +34,6 @@ MPI_Type_contiguous(\fIcount\fP, \fIoldtype\fP, \fInewtype\fP, \fIierror\fP) TYPE(MPI_Datatype), INTENT(OUT) :: \fInewtype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Datatype Datatype::Create_contiguous(int \fIcount\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -92,7 +87,7 @@ with extent ex. Then newtype has a type map with count times n entries defined b For more information about derived datatypes, see Section 3.12 of the MPI-1 Standard. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_create_darray.3in b/ompi/mpi/man/man3/MPI_Type_create_darray.3in index ca949ff468..4cbbea129c 100644 --- a/ompi/mpi/man/man3/MPI_Type_create_darray.3in +++ b/ompi/mpi/man/man3/MPI_Type_create_darray.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_create_darray 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -45,15 +46,6 @@ MPI_Type_create_darray(\fIsize\fP, \fIrank\fP, \fIndims\fP, \fIarray_of_gsizes\f TYPE(MPI_Datatype), INTENT(OUT) :: \fInewtype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Datatype MPI::Datatype::Create_darray(int \fIsize\fP, int \fIrank\fP, - int \fIndims\fP, const int \fIarray_of_gsizes\fP[], - const int \fIarray_of_distribs\fP[], const int \fIarray_of_dargs\fP[], - const int \fIarray_of_psizes\fP[], int \fIorder\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -150,7 +142,7 @@ Finally, MPI_DISTRIBUTE_CYCLIC with \fIarray_of_dargs[i]\fP equal to MPI_DISTRIB For both Fortran and C arrays, the ordering of processes in the process grid is assumed to be row-major. This is consistent with the ordering used in virtual Cartesian process topologies in MPI-1. To create such virtual process topologies, or to find the coordinates of a process in the process grid, etc., users may use the corresponding functions provided in MPI-1. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_create_f90_complex.3in b/ompi/mpi/man/man3/MPI_Type_create_f90_complex.3in index 640f522904..e74b5cda97 100644 --- a/ompi/mpi/man/man3/MPI_Type_create_f90_complex.3in +++ b/ompi/mpi/man/man3/MPI_Type_create_f90_complex.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_create_f90_complex 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -36,12 +37,6 @@ MPI_Type_create_f90_complex(\fIp\fP, \fIr\fP, \fInewtype\fP, \fIierror\fP) TYPE(MPI_Datatype), INTENT(OUT) :: \fInewtype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static MPI::Datatype MPI::Datatype::Create_f90_complex(int \fIp\fP, int \fIr\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -123,10 +118,7 @@ functions MPI_Sizeof and MPI_Type_match_size. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Type_create_f90_integer.3in b/ompi/mpi/man/man3/MPI_Type_create_f90_integer.3in index b2b4103dcd..b0cacf9c26 100644 --- a/ompi/mpi/man/man3/MPI_Type_create_f90_integer.3in +++ b/ompi/mpi/man/man3/MPI_Type_create_f90_integer.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_create_f90_integer 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -35,12 +36,6 @@ MPI_Type_create_f90_integer(\fIr\fP, \fInewtype\fP, \fIierror\fP) TYPE(MPI_Datatype), INTENT(OUT) :: \fInewtype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static MPI::Datatype MPI::Datatype::Create_f90_integer(int \fIr\fP) - .fi .SH INPUT PARAMETER .ft R @@ -116,10 +111,7 @@ MPI_Sizeof and MPI_Type_match_size. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Type_create_f90_real.3in b/ompi/mpi/man/man3/MPI_Type_create_f90_real.3in index d1cfa6ee95..b074399f18 100644 --- a/ompi/mpi/man/man3/MPI_Type_create_f90_real.3in +++ b/ompi/mpi/man/man3/MPI_Type_create_f90_real.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_create_f90_real 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -35,12 +36,6 @@ MPI_Type_create_f90_real(\fIp\fP, \fIr\fP, \fInewtype\fP, \fIierror\fP) TYPE(MPI_Datatype), INTENT(OUT) :: \fInewtype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static MPI::Datatype MPI::Datatype::Create_f90_real(int \fIp\fP, int \fIr\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -122,10 +117,7 @@ functions MPI_Sizeof and MPI_Type_match_size. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Type_create_hvector.3in b/ompi/mpi/man/man3/MPI_Type_create_hvector.3in index afb905708f..25a0e3bbae 100644 --- a/ompi/mpi/man/man3/MPI_Type_create_hvector.3in +++ b/ompi/mpi/man/man3/MPI_Type_create_hvector.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_create_hvector 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -38,13 +39,6 @@ MPI_Type_create_hvector(\fIcount\fP, \fIblocklength\fP, \fIstride\fP, \fIoldtype TYPE(MPI_Datatype), INTENT(OUT) :: \fInewtype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Datatype MPI::Datatype::Create_hvector(int \fIcount\fP, - int \fIblocklength\fP, MPI::Aint \fIstride\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -89,7 +83,7 @@ where MPI_ADDRESS_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_create_indexed_block.3in b/ompi/mpi/man/man3/MPI_Type_create_indexed_block.3in index d9f7003392..d22aa67941 100644 --- a/ompi/mpi/man/man3/MPI_Type_create_indexed_block.3in +++ b/ompi/mpi/man/man3/MPI_Type_create_indexed_block.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_create_indexed_block 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -53,16 +54,6 @@ MPI_Type_create_hindexed_block(\fIcount\fP, \fIblocklength\fP, \fIarray_of_displ TYPE(MPI_Datatype), INTENT(OUT) :: \fInewtype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Datatype MPI::Datatype::Create_indexed_block( int \fIcount\fP, - int \fIblocklength\fP, const int \fIarray_of_displacements\fP[]) const - -MPI::Datatype MPI::Datatype::Create_hindexed_block( int \fIcount\fP, - int \fIblocklength\fP, const int \fIarray_of_displacements\fP[]) const - .fi .SH INPUT PARAMETERS .ft R @@ -93,7 +84,7 @@ Fortran only: Error status (integer). MPI_Type_create_indexed_block and MPI_Type_create_hindexed_block create an indexed data type with the same block length for all blocks. The only difference between the two functions is MPI_Type_create_indexed_block takes an array of displacements in units of the extent of \fIoldtype\fP while MPI_Type_create_hindexed_block takes displacements in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_create_keyval.3in b/ompi/mpi/man/man3/MPI_Type_create_keyval.3in index 99cb35eebb..e678ed95c6 100644 --- a/ompi/mpi/man/man3/MPI_Type_create_keyval.3in +++ b/ompi/mpi/man/man3/MPI_Type_create_keyval.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_create_keyval 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -39,14 +40,6 @@ MPI_Type_create_keyval(\fItype_copy_attr_fn\fP, \fItype_delete_attr_fn\fP, \fIty INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(IN) :: \fIextra_state\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static int MPI::Datatype::Create_keyval(MPI::Datatype::Copy_attr_function* - \fItype_copy_attr_fn\fP, MPI::Datatype::Delete_attr_function* - \fItype_delete_attr_fn\fP, void* \fIextra_state\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -73,9 +66,9 @@ Fortran only: Error status (integer). .ft R MPI_Type_create_keyval generates a new attribute key for caching on data types. This routine partially replaces MPI_Keyval_create. .sp -The argument \fItype_copy_attr_fn\fP may be specified as MPI_TYPE_NULL_COPY_FN or MPI_TYPE_DUP_FN from C, C++, or Fortran. MPI_TYPE_NULL_COPY_FN is a function that does nothing other than returning \fIflag\fP = 0 and MPI_SUCCESS. MPI_TYPE_DUP_FN is a simple-minded copy function that sets \fIflag\fP = 1, returns the value of \fIattribute_val_in\fP in \fIattribute_val_out\fP, and returns MPI_SUCCESS. +The argument \fItype_copy_attr_fn\fP may be specified as MPI_TYPE_NULL_COPY_FN or MPI_TYPE_DUP_FN from C or Fortran. MPI_TYPE_NULL_COPY_FN is a function that does nothing other than returning \fIflag\fP = 0 and MPI_SUCCESS. MPI_TYPE_DUP_FN is a simple-minded copy function that sets \fIflag\fP = 1, returns the value of \fIattribute_val_in\fP in \fIattribute_val_out\fP, and returns MPI_SUCCESS. .sp -The argument \fItype_delete_attr_fn\fP may be specified as MPI_TYPE_NULL_DELETE_FN from C, C++, or Fortran. MPI_TYPE_NULL_DELETE_FN is a function that does nothing beyond returning MPI_SUCCESS. +The argument \fItype_delete_attr_fn\fP may be specified as MPI_TYPE_NULL_DELETE_FN from C or Fortran. MPI_TYPE_NULL_DELETE_FN is a function that does nothing beyond returning MPI_SUCCESS. The C callback functions are: .sp .nf @@ -107,20 +100,6 @@ SUBROUTINE TYPE_DELETE_ATTR_FN(\fITYPE, TYPE_KEYVAL, ATTRIBUTE_VAL, EXTRA_STATE, INTEGER(KIND=MPI_ADDRESS_KIND) \fIATTRIBUTE VAL, EXTRA_STATE\fP .fi .sp -The C++ callbacks are: -.sp -.nf -typedef int MPI::Datatype::Copy_attr_function(const MPI::Datatype& \fIoldtype\fP, - int \fItype_keyval\fP, void* \fIextra_state\fP, - const void* \fIattribute_val_in\fP, void* \fIattribute_val_out\fP, - bool& \fIflag\fP); -.fi -and -.nf -typedef int MPI::Datatype::Delete_attr_function(MPI::Datatype& \fItype\fP, - int \fItype_keyval\fP, void* \fIattribute_val\fP, void* \fIextra_state\fP); -.fi -.sp .SH FORTRAN 77 NOTES .ft R @@ -136,7 +115,7 @@ where MPI_ADDRESS_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_create_resized.3in b/ompi/mpi/man/man3/MPI_Type_create_resized.3in index 9f01980b87..392b677e04 100644 --- a/ompi/mpi/man/man3/MPI_Type_create_resized.3in +++ b/ompi/mpi/man/man3/MPI_Type_create_resized.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_create_resized 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,13 +35,6 @@ MPI_Type_create_resized(\fIoldtype\fP, \fIlb\fP, \fIextent\fP, \fInewtype\fP, \f TYPE(MPI_Datatype), INTENT(OUT) :: \fInewtype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Datatype MPI::Datatype::Create_resized(const MPI::Aint \fIlb\fP, - const MPI::Aint \fIextent\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -87,7 +81,7 @@ and gives the length of the declared integer in bytes. Use of MPI_Type_create_resized is strongly recommended over the old MPI-1 functions MPI_Type_extent and MPI_Type_lb. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_create_struct.3in b/ompi/mpi/man/man3/MPI_Type_create_struct.3in index 1d2d7c9b11..2e6e0d72d6 100644 --- a/ompi/mpi/man/man3/MPI_Type_create_struct.3in +++ b/ompi/mpi/man/man3/MPI_Type_create_struct.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_create_struct 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -41,15 +42,6 @@ MPI_Type_create_struct(\fIcount\fP, \fIarray_of_blocklengths\fP, TYPE(MPI_Datatype), INTENT(OUT) :: \fInewtype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static MPI::Datatype MPI::Datatype::Create_struct(int \fIcount\fP, - const int \fIarray_of_blocklengths\fP[], const MPI::Aint - \fIarray_of_displacements\fP[], const MPI::Datatype - \fIarray_of_types\fP[]) - .fi .SH INPUT PARAMETERS .ft R @@ -94,7 +86,7 @@ where MPI_ADDRESS_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_create_subarray.3in b/ompi/mpi/man/man3/MPI_Type_create_subarray.3in index ee21a0b9de..a41bf5e954 100644 --- a/ompi/mpi/man/man3/MPI_Type_create_subarray.3in +++ b/ompi/mpi/man/man3/MPI_Type_create_subarray.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_create_subarray 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -38,14 +39,6 @@ MPI_Type_create_subarray(\fIndims\fP, \fIarray_of_sizes\fP, \fIarray_of_subsizes TYPE(MPI_Datatype), INTENT(OUT) :: \fInewtype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Datatype MPI::Datatype::Create_subarray(int \fIndims\fP, - const int \fIarray_of_sizes\fP[], const int \fIarray_of_subsizes[]\fP, - const int \fIarray_of_starts[]\fP, int \fIorder\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -136,7 +129,7 @@ For an example use of MPI_Type_create_subarray in the context of I/O, see Sectio In a Fortran program with arrays indexed starting from 1, if the starting coordinate of a particular dimension of the subarray is \fIn\fP, then the entry in array of starts for that dimension is \fIn\fP-1. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_delete_attr.3in b/ompi/mpi/man/man3/MPI_Type_delete_attr.3in index 9daa4f1c9c..b9f5710350 100644 --- a/ompi/mpi/man/man3/MPI_Type_delete_attr.3in +++ b/ompi/mpi/man/man3/MPI_Type_delete_attr.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_delete_attr 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Type_delete_attr(\fIdatatype\fP, \fItype_keyval\fP, \fIierror\fP) INTEGER, INTENT(IN) :: \fItype_keyval\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Datatype::Delete_attr(int \fItype_keyval\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -70,7 +65,7 @@ is being invoked. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_dup.3in b/ompi/mpi/man/man3/MPI_Type_dup.3in index e8939ce72b..631120cdb3 100644 --- a/ompi/mpi/man/man3/MPI_Type_dup.3in +++ b/ompi/mpi/man/man3/MPI_Type_dup.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_dup 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Type_dup(\fIoldtype\fP, \fInewtype\fP, \fIierror\fP) TYPE(MPI_Datatype), INTENT(OUT) :: \fInewtype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Datatype MPI::Datatype::Dup() const - .fi .SH INPUT PARAMETER .ft R @@ -67,7 +62,7 @@ copy callback is being invoked. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_extent.3in b/ompi/mpi/man/man3/MPI_Type_extent.3in index 09e787526b..9cb673b3e6 100644 --- a/ompi/mpi/man/man3/MPI_Type_extent.3in +++ b/ompi/mpi/man/man3/MPI_Type_extent.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_extent 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -44,8 +45,6 @@ Fortran only: Error status (integer). .ft R Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Type_get_extent instead. .sp -This deprecated routine is not available in C++. -.sp MPI_Type_extent returns the extent of a data type, the difference between the upper and lower bounds of the data type. .sp In general, if @@ -80,7 +79,7 @@ Then If type(i) requires alignment to a byte address that is a multiple of k(i), then e is the least nonnegative increment needed to round extent(Typemap) to the next multiple of max(i) k(i). .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_free.3in b/ompi/mpi/man/man3/MPI_Type_free.3in index 02c7839fb8..dcd7781c10 100644 --- a/ompi/mpi/man/man3/MPI_Type_free.3in +++ b/ompi/mpi/man/man3/MPI_Type_free.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_free 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -30,12 +31,6 @@ MPI_Type_free(\fIdatatype\fP, \fIierror\fP) TYPE(MPI_Datatype), INTENT(INOUT) :: \fIdatatype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Datatype::Free() - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -56,7 +51,7 @@ Marks the datatype object associated with datatype for de-allocation and sets da Freeing a datatype does not affect any other datatype that was built from the freed datatype. The system behaves as if input datatype arguments to derived datatype constructors are passed by value. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_free_keyval.3in b/ompi/mpi/man/man3/MPI_Type_free_keyval.3in index 71b90f0500..e459573eb4 100644 --- a/ompi/mpi/man/man3/MPI_Type_free_keyval.3in +++ b/ompi/mpi/man/man3/MPI_Type_free_keyval.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_free_keyval 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -30,12 +31,6 @@ MPI_Type_free_keyval(\fItype_keyval\fP, \fIierror\fP) INTEGER, INTENT(INOUT) :: \fItype_keyval\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static void MPI::Datatype::Free_keyval(int& \fItype_keyval\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -53,7 +48,7 @@ Fortran only: Error status (integer). .ft R .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_get_attr.3in b/ompi/mpi/man/man3/MPI_Type_get_attr.3in index 75d34d3b26..c27c0fa5b2 100644 --- a/ompi/mpi/man/man3/MPI_Type_get_attr.3in +++ b/ompi/mpi/man/man3/MPI_Type_get_attr.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_get_attr 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -35,12 +36,6 @@ MPI_Type_get_attr(\fIdatatype\fP, \fItype_keyval\fP, \fIattribute_val\fP, \fIfla LOGICAL, INTENT(OUT) :: \fIflag\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -bool MPI::Datatype::Get_attr(int \fItype_keyval\fP, void* \fIattribute_val\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -80,7 +75,7 @@ where MPI_ADDRESS_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_get_contents.3in b/ompi/mpi/man/man3/MPI_Type_get_contents.3in index 1401980fb7..3b4cb1c33e 100644 --- a/ompi/mpi/man/man3/MPI_Type_get_contents.3in +++ b/ompi/mpi/man/man3/MPI_Type_get_contents.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_get_contents 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -42,15 +43,6 @@ MPI_Type_get_contents(\fIdatatype\fP, \fImax_integers\fP, \fImax_addresses\fP, \ TYPE(MPI_Datatype), INTENT(OUT) :: \fIarray_of_datatypes(max_datatypes)\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Datatype::Get_contents(int \fImax_integers\fP, int \fImax_addresses\fP, - int \fImax_datatypes\fP, int \fIarray_of_integers\fP[], - MPI::Aint \fIarray_of_addresses\fP[], - MPI::Datatype \fIarray_of_datatypes\fP[]) const - .fi .SH INPUT PARAMETERS .ft R @@ -112,7 +104,7 @@ where MPI_ADDRESS_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_get_envelope.3in b/ompi/mpi/man/man3/MPI_Type_get_envelope.3in index 5832e9094e..7fece14c1d 100644 --- a/ompi/mpi/man/man3/MPI_Type_get_envelope.3in +++ b/ompi/mpi/man/man3/MPI_Type_get_envelope.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_get_envelope 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -36,14 +37,6 @@ MPI_Type_get_envelope(\fIdatatype\fP, \fInum_integers\fP, \fInum_addresses\fP, \ \fIcombiner\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Datatype::Get_envelope(int& \fInum_integers\fP, - int& \fInum_addresses\fP, int& \fInum_datatypes\fP, - int& \fIcombiner\fP) const - .fi .SH INPUT PARAMETER .ft R @@ -85,17 +78,17 @@ MPI_COMBINER_DUP MPI_Type_dup MPI_COMBINER_CONTIGUOUS MPI_Type_contiguous MPI_COMBINER_VECTOR MPI_Type_vector MPI_COMBINER_HVECTOR_INTEGER MPI_Type_hvector from Fortran -MPI_COMBINER_HVECTOR MPI_Type_hvector from C or C++ +MPI_COMBINER_HVECTOR MPI_Type_hvector from C and MPI_Type_create for all languages MPI_COMBINER_INDEXED MPI_Type_indexed MPI_COMBINER_HINDEXED_INTEGER MPI_Type_hindexed from Fortran -MPI_COMBINER_HINDEXED MPI_Type_hindexed from C or C++ +MPI_COMBINER_HINDEXED MPI_Type_hindexed from C and MPI_Type_create_hindexed for all languages MPI_COMBINER_INDEXED_BLOCK MPI_Type_create_indexed_block MPI_COMBINER_STRUCT_INTEGER MPI_Type_struct from Fortran -MPI_COMBINER_STRUCT MPI_Type_struct from C or C++ +MPI_COMBINER_STRUCT MPI_Type_struct from C and MPI_Type_create_struct for all languages MPI_COMBINER_SUBARRAY MPI_Type_create_subarray @@ -111,7 +104,7 @@ If \fIcombiner\fP is MPI_COMBINER_NAMED, then \fIdatatype\fP is a named predefin The actual arguments used in the creation call for a data type can be obtained from the call MPI_Type_get_contents. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_get_extent.3in b/ompi/mpi/man/man3/MPI_Type_get_extent.3in index f629c59f6d..e7c1368fac 100644 --- a/ompi/mpi/man/man3/MPI_Type_get_extent.3in +++ b/ompi/mpi/man/man3/MPI_Type_get_extent.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_get_extent 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -43,13 +44,6 @@ MPI_Type_get_extent_x(\fIdatatype\fP, \fIlb\fP, \fIextent\fP, \fIierror\fP) INTEGER(KIND = MPI_COUNT_KIND), INTENT(OUT) :: \fIlb\fP, \fIextent\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Datatype::Get_extent(MPI::Aint& \fIlb\fP, MPI::Aint& \fIextent\fP) - const - .fi .SH INPUT PARAMETER .ft R @@ -104,7 +98,7 @@ where MPI_ADDRESS_KIND and MPI_COUNT_KIND are constants defined in mpif.h and give the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_get_name.3in b/ompi/mpi/man/man3/MPI_Type_get_name.3in index 93f4ad277f..d636fa5646 100644 --- a/ompi/mpi/man/man3/MPI_Type_get_name.3in +++ b/ompi/mpi/man/man3/MPI_Type_get_name.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_get_name 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,13 +35,6 @@ MPI_Type_get_name(\fIdatatype\fP, \fItype_name\fP, \fIresultlen\fP, \fIierror\fP INTEGER, INTENT(OUT) :: \fIresultlen\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Datatype::Get_name(char* \fItype_name\fP, int& \fIresultlen\fP) - const - .fi .SH INPUT PARAMETER .ft R @@ -65,7 +59,7 @@ Fortran only: Error status (integer). MPI_Type_get_name returns the printable identifier associated with an MPI data type. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_get_true_extent.3in b/ompi/mpi/man/man3/MPI_Type_get_true_extent.3in index 7191ef066f..a133cdac12 100644 --- a/ompi/mpi/man/man3/MPI_Type_get_true_extent.3in +++ b/ompi/mpi/man/man3/MPI_Type_get_true_extent.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_get_true_extent 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -43,13 +44,6 @@ MPI_Type_get_true_extent_x(\fIdatatype\fP, \fItrue_lb\fP, \fItrue_extent\fP, \fI INTEGER(KIND = MPI_COUNT_KIND), INTENT(OUT) :: \fItrue_lb\fP, \fItrue_extent\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Datatype::Get_true_extent(MPI::Aint& \fItrue_lb\fP, - MPI::Aint& \fItrue_extent\fP) const - .fi .SH INPUT PARAMETER .ft R @@ -102,7 +96,7 @@ or where MPI_ADDRESS_KIND and MPI_COUNT_KIND are constants defined in mpif.h and give the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_hindexed.3in b/ompi/mpi/man/man3/MPI_Type_hindexed.3in index 6eb3fd2ca7..34336a0270 100644 --- a/ompi/mpi/man/man3/MPI_Type_hindexed.3in +++ b/ompi/mpi/man/man3/MPI_Type_hindexed.3in @@ -2,6 +2,7 @@ .\" Copyright 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_hindexed 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -61,8 +62,6 @@ Fortran only: Error status (integer). .ft R Note that use of this routine is \fIdeprecated\fP as of MPI-2. Use MPI_Type_create_hindexed instead. .sp -This deprecated routine is not available in C++. -.sp The function is identical to MPI_Type_indexed, except that block displacements in array_of_displacements are specified in bytes, rather than in multiples of the oldtype extent. .sp Assume that oldtype has type map @@ -86,7 +85,7 @@ n x S^count-1 .fi .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_hvector.3in b/ompi/mpi/man/man3/MPI_Type_hvector.3in index 6f4aa82651..c869b5cc91 100644 --- a/ompi/mpi/man/man3/MPI_Type_hvector.3in +++ b/ompi/mpi/man/man3/MPI_Type_hvector.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_hvector 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -54,8 +55,6 @@ Fortran only: Error status (integer). .ft R Note that use of this routine is \fIdeprecated\fP as of MPI-2. Use MPI_Type_create_hvector instead. .sp -This deprecated routine is not available in C++. -.sp The function MPI_Type_hvector is identical to MPI_Type_vector, except that stride is given in bytes, rather than in elements. The use for both types of vector constructors is illustrated in the examples in Section 3.12.7 of the MPI-1 Standard. @@ -83,7 +82,7 @@ with extent ex. Let bl be the blocklength. The newly created datatype has a type .fi .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_indexed.3in b/ompi/mpi/man/man3/MPI_Type_indexed.3in index 451dcecc45..281f22ad1b 100644 --- a/ompi/mpi/man/man3/MPI_Type_indexed.3in +++ b/ompi/mpi/man/man3/MPI_Type_indexed.3in @@ -3,6 +3,7 @@ .\" Copyright 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_indexed 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -61,18 +62,6 @@ MPI_Type_create_hindexed(\fIcount\fP, \fIarray_of_blocklengths\fP, TYPE(MPI_Datatype), INTENT(OUT) :: \fInewtype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Datatype Datatype::Create_indexed(int \fIcount\fP, - const int \fIarray_of_blocklengths\fP[], - const int \fIarray_of_displacements\fP[]) const - -Datatype Datatype::Create_hindexed(int \fIcount\fP, - const int \fIarray_of_blocklengths\fP[], - const MPI::Aint \fIarray_of_displacements\fP[]) const - .fi .SH INPUT PARAMETERS .ft R @@ -157,7 +146,7 @@ and The function MPI_Type_create_hindexed is identical to MPI_Type_indexed, except that block displacements in \fIarray_of_displacements\fP are specified in bytes, rather than in multiples of the \fIoldtype\fP extent. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_lb.3in b/ompi/mpi/man/man3/MPI_Type_lb.3in index a2e7118aea..fc21aba60f 100644 --- a/ompi/mpi/man/man3/MPI_Type_lb.3in +++ b/ompi/mpi/man/man3/MPI_Type_lb.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_lb 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -43,8 +44,6 @@ Fortran only: Error status (integer). .ft R Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Type_get_extent instead. .sp -This deprecated routine is not available in C++. -.sp MPI_Type_lb returns the lower bound of a data type. This may differ from zero if the type was constructed using MPI_LB. .sp The "pseudo-datatypes," MPI_LB and MPI_UB, can be used, respectively, to mark the lower bound (or the upper bound) of a datatype. These pseudo-datatypes occupy no space (extent (MPI_LB) = extent (MPI_UB) =0. They do not affect the size or count of a datatype, and do not affect the context of a message created with this datatype. However, they do affect the definition of the extent of a datatype and, therefore, affect the outcome of a replication of this datatype by a datatype constructor. @@ -79,7 +78,7 @@ If type(i) requires alignment to a byte address that is a multiple of k(i), then e is the least nonnegative increment needed to round extent(Typemap) to the next multiple of max(i) k(i). .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_match_size.3in b/ompi/mpi/man/man3/MPI_Type_match_size.3in index 76a5c4d5e7..2834ae8b83 100644 --- a/ompi/mpi/man/man3/MPI_Type_match_size.3in +++ b/ompi/mpi/man/man3/MPI_Type_match_size.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_match_size 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,12 +35,6 @@ MPI_Type_match_size(\fItypeclass\fP, \fIsize\fP, \fIdatatype\fP, \fIierror\fP) TYPE(MPI_Datatype), INTENT(OUT) :: \fIdatatype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static MPI::Datatype MPI::Match_size(int \fItypeclass\fP, int \fIsize\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -75,18 +70,14 @@ desired datatype. MPI_type_match_size can be used to obtain a size-specific type that matches a Fortran numeric intrinsic type: first call MPI_Sizeof to compute the variable size, then call MPI_Type_match_size to find a -suitable datatype. In C and C++, use the sizeof builtin instead of -MPI_Sizeof. +suitable datatype. In C use the sizeof builtin instead of MPI_Sizeof. .sp It is erroneous to specify a size not supported by the compiler. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Type_set_attr.3in b/ompi/mpi/man/man3/MPI_Type_set_attr.3in index 200a86e853..bd2911ba3e 100644 --- a/ompi/mpi/man/man3/MPI_Type_set_attr.3in +++ b/ompi/mpi/man/man3/MPI_Type_set_attr.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_set_attr 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,12 +35,6 @@ MPI_Type_set_attr(\fIdatatype\fP, \fItype_keyval\fP, \fIattribute_val\fP, \fIier INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(IN) :: \fIattribute_val\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Datatype::Set_attr(int \fItype_keyval\fP, const void* \fIattribute_val\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -79,7 +74,7 @@ where MPI_ADDRESS_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_set_name.3in b/ompi/mpi/man/man3/MPI_Type_set_name.3in index 5d5d0f96d2..9265458ca9 100644 --- a/ompi/mpi/man/man3/MPI_Type_set_name.3in +++ b/ompi/mpi/man/man3/MPI_Type_set_name.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_set_name 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,12 +34,6 @@ MPI_Type_set_name(\fIdatatype\fP, \fItype_name\fP, \fIierror\fP) CHARACTER(LEN=*), INTENT(IN) :: \fItype_name\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Datatype::Set_name(const char* \fItype_name\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -64,7 +59,7 @@ Fortran only: Error status (integer). MPI_Type_set_name associates a printable identifier with an MPI data type. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_size.3in b/ompi/mpi/man/man3/MPI_Type_size.3in index 0194bfaea3..cc2c78c376 100644 --- a/ompi/mpi/man/man3/MPI_Type_size.3in +++ b/ompi/mpi/man/man3/MPI_Type_size.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_size 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -41,12 +42,6 @@ MPI_Type_size_x(\fIdatatype\fP, \fIsize\fP, \fIierror\fP) INTEGER(KIND=MPI_COUNT_KIND), INTENT(OUT) :: \fIsize\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -int Datatype::Get_size() const - .fi .SH INPUT PARAMETER .ft R @@ -71,7 +66,7 @@ Fortran only: Error status (integer). MPI_Type_size returns the total size, in bytes, of the entries in the type signature associated with datatype; i.e., the total size of the data in a message that would be created with this datatype. Entries that occur multiple times in the datatype are counted with their multiplicity. For either function, if the \fIsize\fP parameter cannot express the value to be returned (e.g., if the parameter is too small to hold the output value), it is set to MPI_UNDEFINED. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_struct.3in b/ompi/mpi/man/man3/MPI_Type_struct.3in index 7bc9a0cbe8..de6b602dd8 100644 --- a/ompi/mpi/man/man3/MPI_Type_struct.3in +++ b/ompi/mpi/man/man3/MPI_Type_struct.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_struct 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -60,8 +61,6 @@ Fortran only: Error status (integer). .ft R Note that use of this routine is \fIdeprecated\fP as of MPI-2. Use MPI_Type_create_struct instead. .sp -This deprecated routine is not available in C++. -.sp MPI_Type_struct is the most general type constructor. It further generalizes MPI_Type_hindexed in that it allows each block to consist of replications of different datatypes. .sp \fBExample:\fP Let type1 have type map @@ -103,7 +102,7 @@ defining the extent of a datatype as including an epsilon, which would have allo .fi .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_ub.3in b/ompi/mpi/man/man3/MPI_Type_ub.3in index 6f2808ff41..aad0d6b227 100644 --- a/ompi/mpi/man/man3/MPI_Type_ub.3in +++ b/ompi/mpi/man/man3/MPI_Type_ub.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_ub 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -45,8 +46,6 @@ Fortran only: Error status (integer). .ft R Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Type_get_extent instead. .sp -This deprecated routine is not available in C++. -.sp MPI_Type_ub returns the upper bound of a data type. This will differ from zero if the type was constructed using MPI_UB. The upper bound will take into account any alignment considerations. .sp The "pseudo-datatypes," MPI_LB and MPI_UB, can be used, respectively, to mark the upper bound (or the lower bound) of a datatype. These pseudo-datatypes occupy no space (extent (MPI_LB) = extent (MPI_UB) =0. They do not affect the size or count of a datatype, and do not affect the context of a message created with this datatype. However, they do affect the definition of the extent of a datatype and, therefore, affect the outcome of a replication of this datatype by a datatype constructor. @@ -82,7 +81,7 @@ Then If type(i) requires alignment to a byte address that is a multiple of k(i), then e is the least nonnegative increment needed to round extent(Typemap) to the next multiple of max(i) k(i). .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Type_vector.3in b/ompi/mpi/man/man3/MPI_Type_vector.3in index 6685db239a..85d8533833 100644 --- a/ompi/mpi/man/man3/MPI_Type_vector.3in +++ b/ompi/mpi/man/man3/MPI_Type_vector.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Type_vector 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -35,13 +36,6 @@ MPI_Type_vector(\fIcount\fP, \fIblocklength\fP, \fIstride\fP, \fIoldtype\fP, \fI TYPE(MPI_Datatype), INTENT(OUT) :: \fInewtype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -Datatype Datatype::Create_vector(int \fIcount\fP, int \fIblocklength\fP, - int \fIstride\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -117,7 +111,7 @@ with extent ex. Let bl be the blocklength. The newly created datatype has a type A call to MPI_Type_contiguous(count, oldtype, newtype) is equivalent to a call to MPI_Type_vector(count, 1, 1, oldtype, newtype), or to a call to MPI_Type_vector(1, count, n, oldtype, newtype), n arbitrary. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Unpack.3in b/ompi/mpi/man/man3/MPI_Unpack.3in index ea5c61d26c..33ca9e85fb 100644 --- a/ompi/mpi/man/man3/MPI_Unpack.3in +++ b/ompi/mpi/man/man3/MPI_Unpack.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Unpack 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -42,14 +43,6 @@ MPI_Unpack(\fIinbuf\fP, \fIinsize\fP, \fIposition\fP, \fIoutbuf\fP, \fIoutcount\ TYPE(MPI_Comm), INTENT(IN) :: \fIcomm\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Datatype::Unpack(const void* \fIinbuf\fP, int \fIinsize\fP, - void *\fIoutbuf\fP, int \fIoutcount\fP, int& \fIposition\fP, - const Comm& \fIcomm\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -105,7 +98,7 @@ A packing unit (or a message created by a regular, "typed" send) can be unpacked The concatenation of two packing units is not necessarily a packing unit; nor is a substring of a packing unit necessarily a packing unit. Thus, one cannot concatenate two packing units and then unpack the result as one packing unit; nor can one unpack a substring of a packing unit as a separate packing unit. Each packing unit that was created by a related sequence of pack calls or by a regular send must be unpacked as a unit, by a sequence of related unpack calls. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Unpack_external.3in b/ompi/mpi/man/man3/MPI_Unpack_external.3in index 5144e17cee..2697ea3e41 100644 --- a/ompi/mpi/man/man3/MPI_Unpack_external.3in +++ b/ompi/mpi/man/man3/MPI_Unpack_external.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Unpack_external 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -48,15 +49,6 @@ MPI_Unpack_external(\fIdatarep\fP, \fIinbuf\fP, \fIinsize\fP, \fIposition\fP, \f TYPE(MPI_Datatype), INTENT(IN) :: \fIdatatype\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Datatype::Unpack_external(const char* \fIdatarep\fP, - const void* \fIinbuf\fP, MPI::Aint \fIinsize\fP, - MPI_Aint& \fIposition\fP, void *\fIoutbuf\fP, - int \fIoutcount\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -169,10 +161,7 @@ by a sequence of related unpack calls. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Unpublish_name.3in b/ompi/mpi/man/man3/MPI_Unpublish_name.3in index df2d79decc..ca70aba504 100644 --- a/ompi/mpi/man/man3/MPI_Unpublish_name.3in +++ b/ompi/mpi/man/man3/MPI_Unpublish_name.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2007-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Unpublish_name 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -38,13 +39,6 @@ MPI_Unpublish_name(\fIservice_name\fP, \fIinfo\fP, \fIport_name\fP, \fIierror\fP TYPE(MPI_Info), INTENT(IN) :: \fIinfo\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Unpublish_name(const char* \fIservice_name\fP, const MPI::Info& \fIinfo\fP, - char* \fIport_name\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -116,10 +110,7 @@ man page. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Wait.3in b/ompi/mpi/man/man3/MPI_Wait.3in index d453869b0f..9fc95fdf10 100644 --- a/ompi/mpi/man/man3/MPI_Wait.3in +++ b/ompi/mpi/man/man3/MPI_Wait.3in @@ -1,6 +1,7 @@ .\" -*- nroff -*- .\" Copyright 2007-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Wait 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -30,14 +31,6 @@ MPI_Wait(\fIrequest\fP, \fIstatus\fP, \fIierror\fP) TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void Request::Wait(Status& \fIstatus\fP) - -void Request::Wait() - .fi .SH INPUT PARAMETER .ft R @@ -84,7 +77,7 @@ Example: Simple usage of nonblocking operations and MPI_Wait. .fi .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Waitall.3in b/ompi/mpi/man/man3/MPI_Waitall.3in index 3509a06b14..ddb95c25ea 100644 --- a/ompi/mpi/man/man3/MPI_Waitall.3in +++ b/ompi/mpi/man/man3/MPI_Waitall.3in @@ -2,6 +2,7 @@ .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright (c) 2011 Cisco Systems, Inc. All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Waitall 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,15 +35,6 @@ MPI_Waitall(\fIcount\fP, \fIarray_of_requests\fP, \fIarray_of_statuses\fP, \fIie TYPE(MPI_Status) :: \fIarray_of_statuses(*)\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static void Request::Waitall(int \fIcount\fP, Request \fIarray_of_requests\fP[], - Status \fIarray_of_statuses\fP[]) - -static void Request::Waitall(int \fIcount\fP, Request \fIarray_of_requests\fP[]) - .fi .SH INPUT PARAMETERS .ft R @@ -92,11 +84,7 @@ continue past an error. .sp If the invoked error handler allows MPI_Waitall to return to the caller, the value MPI_ERR_IN_STATUS will be returned in the C and -Fortran bindings. In C++, if the predefined error handler -MPI::ERRORS_THROW_EXCEPTIONS is used, the value MPI::ERR_IN_STATUS -will be contained in the MPI::Exception object. The MPI_ERROR field -can then be examined in the array of returned statuses to determine -exactly which request(s) generated an exception. +Fortran bindings. .SH SEE ALSO .ft R diff --git a/ompi/mpi/man/man3/MPI_Waitany.3in b/ompi/mpi/man/man3/MPI_Waitany.3in index 31329d6844..46d8b91c62 100644 --- a/ompi/mpi/man/man3/MPI_Waitany.3in +++ b/ompi/mpi/man/man3/MPI_Waitany.3in @@ -1,6 +1,7 @@ .\" -*- nroff -*- .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Waitany 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -34,15 +35,6 @@ MPI_Waitany(\fIcount\fP, \fIarray_of_requests\fP, \fIindex\fP, \fIstatus\fP, \fI TYPE(MPI_Status) :: \fIstatus\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static int Request::Waitany(int \fIcount\fP, Request - \fIarray_of_requests\fP[], Status& \fIstatus\fP) - -static int Request::Waitany(int \fIcount\fP, Request \fIarray_of_requests\fP[]) - .fi .SH INPUT PARAMETERS .ft R @@ -105,7 +97,7 @@ If your application does not need to examine the \fIstatus\fP field, you can sav .sp .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for diff --git a/ompi/mpi/man/man3/MPI_Waitsome.3in b/ompi/mpi/man/man3/MPI_Waitsome.3in index 4091538648..7ad53b97c1 100644 --- a/ompi/mpi/man/man3/MPI_Waitsome.3in +++ b/ompi/mpi/man/man3/MPI_Waitsome.3in @@ -2,6 +2,7 @@ .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright (c) 2011 Cisco Systems, Inc. All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Waitsome 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -40,16 +41,6 @@ MPI_Waitsome(\fIincount\fP, \fIarray_of_requests\fP, \fIoutcount\fP, \fIarray_of TYPE(MPI_Status) :: \fIarray_of_statuses(*)\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static int Request::Waitsome(int \fIincount\fP, Request - \fIarray_of_requests\fP[], int \fIarray_of_indices\fP[], Status \fIarray_of_statuses\fP[]) - -static int Request::Waitsome(int \fIincount\fP, Request - \fIarray_of_requests\fP[], int \fIarray_of_indices\fP[]) - .fi .SH INPUT PARAMETERS .ft R @@ -136,11 +127,7 @@ continue past an error. .sp If the invoked error handler allows MPI_Waitsome to return to the caller, the value MPI_ERR_IN_STATUS will be returned in the C and -Fortran bindings. In C++, if the predefined error handler -MPI::ERRORS_THROW_EXCEPTIONS is used, the value MPI::ERR_IN_STATUS -will be contained in the MPI::Exception object. The MPI_ERROR field -can then be examined in the array of returned statuses to determine -exactly which request(s) generated an exception. +Fortran bindings. .SH SEE ALSO .ft R diff --git a/ompi/mpi/man/man3/MPI_Win_call_errhandler.3in b/ompi/mpi/man/man3/MPI_Win_call_errhandler.3in index 0a68b9ecb3..bc653932ef 100644 --- a/ompi/mpi/man/man3/MPI_Win_call_errhandler.3in +++ b/ompi/mpi/man/man3/MPI_Win_call_errhandler.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_call_errhandler 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" @@ -34,12 +35,6 @@ MPI_Win_call_errhandler(\fIwin\fP, \fIerrorcode\fP, \fIierror\fP) INTEGER, INTENT(IN) :: \fIerrorcode\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Win::Call_errhandler(int \fIerrorcode\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -74,10 +69,7 @@ this window. .SH ERRORS .ft R Almost all MPI routines return an error value; C routines as -the value of the function and Fortran routines in the last argument. C++ -functions do not return errors. If the default error handler is set to -MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism -will be used to throw an MPI::Exception object. +the value of the function and Fortran routines in the last argument. .sp See the MPI man page for a full list of MPI error codes. diff --git a/ompi/mpi/man/man3/MPI_Win_complete.3in b/ompi/mpi/man/man3/MPI_Win_complete.3in index 2d64e95b3a..c6fbc0bc96 100644 --- a/ompi/mpi/man/man3/MPI_Win_complete.3in +++ b/ompi/mpi/man/man3/MPI_Win_complete.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2007-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_complete 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -29,12 +30,6 @@ MPI_Win_complete(\fIwin\fP, \fIierror\fP) TYPE(MPI_Win), INTENT(IN) :: \fIwin\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Win::Complete() const - .fi .SH INPUT PARAMETERS .ft R @@ -54,7 +49,7 @@ MPI_Win_complete is a one-sided MPI communication synchronization call, completi .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Win_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Win_create.3in b/ompi/mpi/man/man3/MPI_Win_create.3in index 6a45962917..c9104f31b5 100644 --- a/ompi/mpi/man/man3/MPI_Win_create.3in +++ b/ompi/mpi/man/man3/MPI_Win_create.3in @@ -4,6 +4,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2007-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_create 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -40,14 +41,6 @@ MPI_Win_create(\fIbase\fP, \fIsize\fP, \fIdisp_unit\fP, \fIinfo\fP, \fIcomm\fP, TYPE(MPI_Win), INTENT(OUT) :: \fIwin\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static MPI::Win MPI::Win::Create(const void* \fIbase\fP, - MPI::Aint \fIsize\fP, int \fIdisp_unit\fP, const - MPI::Info& \fIinfo\fP, const MPI::Intracomm& \fIcomm\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -146,7 +139,7 @@ where MPI_ADDRESS_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Win_create_errhandler.3in b/ompi/mpi/man/man3/MPI_Win_create_errhandler.3in index 88f301ccf4..f3468014b4 100644 --- a/ompi/mpi/man/man3/MPI_Win_create_errhandler.3in +++ b/ompi/mpi/man/man3/MPI_Win_create_errhandler.3in @@ -2,6 +2,7 @@ .\" Copyright 2009-2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_create_errhandler 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,13 +34,6 @@ MPI_Win_create_errhandler(\fIwin_errhandler_fn\fP, \fIerrhandler\fP, \fIierror\f TYPE(MPI_Errhandler), INTENT(OUT) :: \fIerrhandler\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static MPI::Errhandler MPI::Win::Create_errhandler(MPI::Win:: - errhandler_function* \fIfunction\fP) - .fi .SH DEPRECATED TYPE NAME NOTE .ft R @@ -80,15 +74,9 @@ In Fortran, the user routine should be of the form: SUBROUTINE WIN_ERRHANDLER_FUNCTION(WIN, ERROR_CODE, ...) INTEGER WIN, ERROR_CODE .fi -.sp -In C++, the user routine should be of the form: -.sp -.nf -typedef void MPI::Win::errhandler_function(MPI::Win &, int *, ...); -.fi .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Win_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Win_create_keyval.3in b/ompi/mpi/man/man3/MPI_Win_create_keyval.3in index dc6e4ef9e2..7decaa40b7 100644 --- a/ompi/mpi/man/man3/MPI_Win_create_keyval.3in +++ b/ompi/mpi/man/man3/MPI_Win_create_keyval.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_create_keyval 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -39,15 +40,6 @@ MPI_Win_create_keyval(\fIwin_copy_attr_fn\fP, \fIwin_delete_attr_fn\fP, \fIwin_k INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(IN) :: \fIextra_state\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static int MPI::Win::Create_keyval(MPI::Win::Copy_attr_function* - \fIwin_copy_attr_fn\fP, - MPI::Win::Delete_attr_function* \fIwin_delete_attr_fn\fP, - void* \fIextra_state\fP) - .fi .SH INPUT PARAMETERS .ft R @@ -72,9 +64,9 @@ Fortran only: Error status (integer). .SH DESCRIPTION .ft R -The argument \fIwin_copy_attr_fn\fP may be specified as MPI_WIN_NULL_COPY_FN or MPI_WIN_DUP_FN from either C, C++, or Fortran. MPI_WIN_NULL_COPY_FN is a function that serves only to return \fIflag\fP = 0 and MPI_SUCCESS. MPI_WIN_DUP_FN is a simple-minded copy function that sets \fIflag\fP = 1, returns the value of \fIattribute_val_in\fP in \fIattribute_val_out\fP, and returns MPI_SUCCESS. +The argument \fIwin_copy_attr_fn\fP may be specified as MPI_WIN_NULL_COPY_FN or MPI_WIN_DUP_FN from either C or Fortran. MPI_WIN_NULL_COPY_FN is a function that serves only to return \fIflag\fP = 0 and MPI_SUCCESS. MPI_WIN_DUP_FN is a simple-minded copy function that sets \fIflag\fP = 1, returns the value of \fIattribute_val_in\fP in \fIattribute_val_out\fP, and returns MPI_SUCCESS. .sp -The argument \fIwin_delete_attr_fn\fP may be specified as MPI_WIN_NULL_DELETE_FN from either C, C++, or Fortran. MPI_WIN_NULL_DELETE_FN is a function that serves only to return MPI_SUCCESS. +The argument \fIwin_delete_attr_fn\fP may be specified as MPI_WIN_NULL_DELETE_FN from either C or Fortran. MPI_WIN_NULL_DELETE_FN is a function that serves only to return MPI_SUCCESS. .sp The C callback functions are: .sp @@ -110,20 +102,6 @@ SUBROUTINE WIN_DELETE_ATTR_FN(\fIWIN, WIN_KEYVAL, ATTRIBUTE_VAL, INTEGER \fIWIN, WIN_KEYVAL, IERROR\fP INTEGER(KIND=MPI_ADDRESS_KIND) \fIATTRIBUTE_VAL, EXTRA_STATE\fP .fi -.sp -The C++ callbacks are: -.sp -.nf -typedef int MPI::Win::Copy_attr_function(const MPI::Win& \fIoldwin\fP, - int \fIwin_keyval\fP, void* \fIextra_state\fP, void* \fIattribute_val_in\fP, - void* \fIattribute_val_out\fP, bool& \fIflag\fP); -.fi -.sp -and -.sp -.nf -typedef int MPI::Win::Delete_attr_function(MPI::Win& \fIwin\fP, int \fIwin_keyval\fP, void* \fIattribute_val\fP, void* \fIextra_state\fP); -.fi .SH FORTRAN 77 NOTES .ft R @@ -139,7 +117,7 @@ where MPI_ADDRESS_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Win_delete_attr.3in b/ompi/mpi/man/man3/MPI_Win_delete_attr.3in index 6a027d4261..8ff76cec27 100644 --- a/ompi/mpi/man/man3/MPI_Win_delete_attr.3in +++ b/ompi/mpi/man/man3/MPI_Win_delete_attr.3in @@ -2,6 +2,7 @@ .\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_delete_attr 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Win_delete_attr(\fIwin\fP, \fIwin_keyval\fP, \fIierror\fP) INTEGER, INTENT(IN) :: \fIwin_keyval\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Win::Delete_attr(int \fIwin_keyval\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -64,7 +59,7 @@ delete attributes on the same object on which the delete_fn callback is being invoked. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Win_fence.3in b/ompi/mpi/man/man3/MPI_Win_fence.3in index c0295f24e8..e9cbc43e88 100644 --- a/ompi/mpi/man/man3/MPI_Win_fence.3in +++ b/ompi/mpi/man/man3/MPI_Win_fence.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2007-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_fence 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Win_fence(\fIassert\fP, \fIwin\fP, \fIierror\fP) TYPE(MPI_Win), INTENT(IN) :: \fIwin\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Win::Fence(int \fIassert\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -67,7 +62,7 @@ Calls to MPI_Win_fence should both precede and follow calls to put, get or accum .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Win_free.3in b/ompi/mpi/man/man3/MPI_Win_free.3in index ea00484d9d..51ca58bd45 100644 --- a/ompi/mpi/man/man3/MPI_Win_free.3in +++ b/ompi/mpi/man/man3/MPI_Win_free.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2007-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_free 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -30,12 +31,6 @@ MPI_Win_free(\fIwin\fP, \fIierror\fP) TYPE(MPI_Win), INTENT(INOUT) :: \fIwin\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Win::Free() - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -54,7 +49,7 @@ Fortran only: Error status (integer). MPI_Win_free frees the window object \fIwin\fP and returns a null handle (equal to MPI_WIN_NULL). This collective call is executed by all processes in the group associated with \fIwin\fP. It can be invoked by a process only after it has completed its involvement in RMA communications on window \fIwin\fP, that is, the process has called MPI_Win_fence, or called MPI_Win_unlock to match a previous call to MPI_Win_lock. When the call returns, the window memory can be freed. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Win_free_keyval.3in b/ompi/mpi/man/man3/MPI_Win_free_keyval.3in index b1b22cdca8..3dbfe5eee1 100644 --- a/ompi/mpi/man/man3/MPI_Win_free_keyval.3in +++ b/ompi/mpi/man/man3/MPI_Win_free_keyval.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_free_keyval 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -30,12 +31,6 @@ MPI_Win_free_keyval(\fIwin_keyval\fP, \fIierror\fP) INTEGER, INTENT(INOUT) :: \fIwin_keyval\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -static void MPI::Win::Free_keyval(int& \fIwin_keyval\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -50,7 +45,7 @@ IERROR Fortran only: Error status (integer). .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Win_get_attr.3in b/ompi/mpi/man/man3/MPI_Win_get_attr.3in index fc0e651d0b..f33798dad8 100644 --- a/ompi/mpi/man/man3/MPI_Win_get_attr.3in +++ b/ompi/mpi/man/man3/MPI_Win_get_attr.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_get_attr 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -36,12 +37,6 @@ MPI_Win_get_attr(\fIwin\fP, \fIwin_keyval\fP, \fIattribute_val\fP, \fIflag\fP, \ LOGICAL, INTENT(OUT) :: \fIflag\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -bool MPI::Win::Get_attr(int win_keyval, void* attribute_val) const - .fi .SH INPUT PARAMETERS .ft R @@ -81,7 +76,7 @@ where MPI_ADDRESS_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Win_get_errhandler.3in b/ompi/mpi/man/man3/MPI_Win_get_errhandler.3in index 7a962bee58..ff9984a37f 100644 --- a/ompi/mpi/man/man3/MPI_Win_get_errhandler.3in +++ b/ompi/mpi/man/man3/MPI_Win_get_errhandler.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_get_errhandler 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Win_get_errhandler(\fIwin\fP, \fIerrhandler\fP, \fIierror\fP) TYPE(MPI_Errhandler), INTENT(OUT) :: \fIerrhandler\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Errhandler MPI::Win::Get_errhandler() const - .fi .SH INPUT PARAMETER .ft R @@ -58,7 +53,7 @@ Fortran only: Error status (integer). MPI_Win_get_errhandler retrieves the error handler currently associated with a window. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Win_get_group.3in b/ompi/mpi/man/man3/MPI_Win_get_group.3in index 8ec73b8e92..8917ecf4ef 100644 --- a/ompi/mpi/man/man3/MPI_Win_get_group.3in +++ b/ompi/mpi/man/man3/MPI_Win_get_group.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_get_group 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Win_get_group(\fIwin\fP, \fIgroup\fP, \fIierror\fP) TYPE(MPI_Group), INTENT(OUT) :: \fIgroup\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -MPI::Group MPI::Win::Get_group() const - .fi .SH INPUT PARAMETER .ft R @@ -58,7 +53,7 @@ Fortran only: Error status (integer). MPI_Win_get_group returns a duplicate of the group of the communicator used to create the window associated with \fIwin\fP. The group is returned in \fIgroup\fP. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Win_get_name.3in b/ompi/mpi/man/man3/MPI_Win_get_name.3in index 7446d12b2b..6621cb30df 100644 --- a/ompi/mpi/man/man3/MPI_Win_get_name.3in +++ b/ompi/mpi/man/man3/MPI_Win_get_name.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_get_name 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,12 +34,6 @@ MPI_Win_get_name(\fIwin\fP, \fIwin_name\fP, \fIresultlen\fP, \fIierror\fP) INTEGER, INTENT(OUT) :: \fIresultlen\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Win::Get_name(char* \fIwin_name\fP, int& \fIresultlen\fP) const - .fi .SH INPUT PARAMETER .ft R @@ -62,7 +57,7 @@ Fortran only: Error status (integer). .ft R .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Win_lock.3in b/ompi/mpi/man/man3/MPI_Win_lock.3in index a3c4dc608c..2f7d1688df 100644 --- a/ompi/mpi/man/man3/MPI_Win_lock.3in +++ b/ompi/mpi/man/man3/MPI_Win_lock.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2007-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_lock 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -32,12 +33,6 @@ MPI_Win_lock(\fIlock_type\fP, \fIrank\fP, \fIassert\fP, \fIwin\fP, \fIierror\fP) TYPE(MPI_Win), INTENT(IN) :: \fIwin\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Win::Lock(int \fIlock_type\fP, int \fIrank\fP, int \fIassert\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -80,7 +75,7 @@ may hang in a MPI_Win_lock call, failing to notice that the peer MPI job has terminated. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Win_post.3in b/ompi/mpi/man/man3/MPI_Win_post.3in index b81da283af..928393ba33 100644 --- a/ompi/mpi/man/man3/MPI_Win_post.3in +++ b/ompi/mpi/man/man3/MPI_Win_post.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2007-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_post 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -32,13 +33,6 @@ MPI_Win_post(\fIgroup\fP, \fIassert\fP, \fIwin\fP, \fIierror\fP) TYPE(MPI_Win), INTENT(IN) :: \fIwin\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Win::Post(const MPI::Group& group, int assert) const - - .fi .SH INPUT PARAMETERS .ft R @@ -63,7 +57,7 @@ Fortran only: Error status (integer). Starts an RMA exposure epoch for the local window associated with \fIwin\fP. Only the processes belonging to \fIgroup\fP should access the window with RMA calls on \fIwin\fP during this epoch. Each process in \fIgroup\fP must issue a matching call to MPI_Win_start. MPI_Win_post does not block. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Win_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Win_set_attr.3in b/ompi/mpi/man/man3/MPI_Win_set_attr.3in index a09e93fde8..4e428f4dc2 100644 --- a/ompi/mpi/man/man3/MPI_Win_set_attr.3in +++ b/ompi/mpi/man/man3/MPI_Win_set_attr.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_set_attr 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,12 +34,6 @@ MPI_Win_set_attr(\fIwin\fP, \fIwin_keyval\fP, \fIattribute_val\fP, \fIierror\fP) INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(IN) :: \fIattribute_val\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Win::Set_attr(int \fIwin_keyval\fP, const void* \fIattribute_val\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -78,7 +73,7 @@ where MPI_ADDRESS_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Win_set_errhandler.3in b/ompi/mpi/man/man3/MPI_Win_set_errhandler.3in index 519033d7a0..955731044f 100644 --- a/ompi/mpi/man/man3/MPI_Win_set_errhandler.3in +++ b/ompi/mpi/man/man3/MPI_Win_set_errhandler.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_set_errhandler 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Win_set_errhandler(\fIwin\fP, \fIerrhandler\fP, \fIierror\fP) TYPE(MPI_Errhandler), INTENT(IN) :: \fIerrhandler\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Win::Set_errhandler(const MPI::Errhandler& \fIerrhandler\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -61,7 +56,7 @@ Fortran only: Error status (integer). MPI_Win_set_errhandler attaches a new error handler to a window. The error handler must be either a predefined error handler or an error handler created by a call to MPI_Win_create_errhandler. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Win_set_name.3in b/ompi/mpi/man/man3/MPI_Win_set_name.3in index 8bbc029b9b..a9bb4db9e1 100644 --- a/ompi/mpi/man/man3/MPI_Win_set_name.3in +++ b/ompi/mpi/man/man3/MPI_Win_set_name.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_set_name 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -33,12 +34,6 @@ MPI_Win_set_name(\fIwin\fP, \fIwin_name\fP, \fIierror\fP) CHARACTER(LEN=*), INTENT(IN) :: \fIwin_name\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Win::Set_name(const char* \fIwin_name\fP) - .fi .SH INPUT/OUTPUT PARAMETER .ft R @@ -62,7 +57,7 @@ Fortran only: Error status (integer). .ft R .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Win_start.3in b/ompi/mpi/man/man3/MPI_Win_start.3in index 80ca76f7b0..00c02c18c4 100644 --- a/ompi/mpi/man/man3/MPI_Win_start.3in +++ b/ompi/mpi/man/man3/MPI_Win_start.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2007-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_start 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -32,12 +33,6 @@ MPI_Win_start(\fIgroup\fP, \fIassert\fP, \fIwin\fP, \fIierror\fP) TYPE(MPI_Win), INTENT(IN) :: \fIwin\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Win::Start(const MPI::Group& group, int assert) const - .fi .SH INPUT PARAMETERS .ft R @@ -73,7 +68,7 @@ the post call on the target has been called and it is not necessary for the library to check to see if such a call has been made. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Win_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Win_test.3in b/ompi/mpi/man/man3/MPI_Win_test.3in index 1a7945f944..ffdeff393f 100644 --- a/ompi/mpi/man/man3/MPI_Win_test.3in +++ b/ompi/mpi/man/man3/MPI_Win_test.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2007-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_test 3 "#OMPI_DATE#" ""#PACKAGE_VERSION#"" "#PACKAGE_NAME#" .SH NAME @@ -31,12 +32,6 @@ MPI_Win_test(\fIwin\fP, \fIflag\fP, \fIierror\fP) LOGICAL, INTENT(OUT) :: \fIflag\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -bool MPI::Win::Test() const - .fi .SH INPUT PARAMETERS .ft R @@ -66,7 +61,7 @@ the call has returned \fIflag = true\fP, it must not be invoked anew, until the .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Win_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Win_unlock.3in b/ompi/mpi/man/man3/MPI_Win_unlock.3in index 9383148aad..03623696c7 100644 --- a/ompi/mpi/man/man3/MPI_Win_unlock.3in +++ b/ompi/mpi/man/man3/MPI_Win_unlock.3in @@ -3,6 +3,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2007-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_unlock 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -32,12 +33,6 @@ MPI_Win_unlock(\fIrank\fP, \fIwin\fP, \fIierror\fP) TYPE(MPI_Win), INTENT(IN) :: \fIwin\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Win::Unlock(int \fIrank\fP) const - .fi .SH INPUT PARAMETERS .ft R @@ -61,7 +56,7 @@ MPI_Win_unlock completes an RMA access epoch started by a call to MPI_Win_lock. Locks are used to protect accesses to the locked target window effected by RMA calls issued between the lock and unlock call, and to protect local load/store accesses to a locked local window executed between the lock and unlock call. Accesses that are protected by an exclusive lock will not be concurrent at the window site with other accesses to the same window that are lock protected. Accesses that are protected by a shared lock will not be concurrent at the window site with accesses protected by an exclusive lock to the same window. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Win_wait.3in b/ompi/mpi/man/man3/MPI_Win_wait.3in index 12bcfaea54..a33e107ace 100644 --- a/ompi/mpi/man/man3/MPI_Win_wait.3in +++ b/ompi/mpi/man/man3/MPI_Win_wait.3in @@ -2,6 +2,7 @@ .\" Copyright 2010 Cisco Systems, Inc. All rights reserved. .\" Copyright 2007-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Win_wait 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -30,12 +31,6 @@ MPI_Win_wait(\fIwin\fP, \fIierror\fP) TYPE(MPI_Win), INTENT(IN) :: \fIwin\fP INTEGER, OPTIONAL, INTENT(OUT) :: \fIierror\fP -.fi -.SH C++ Syntax -.nf -#include -void MPI::Win::Wait() const - .fi .SH INPUT PARAMETERS .ft R @@ -60,7 +55,7 @@ call returns, all these RMA accesses will have completed at the target window. .SH ERRORS -Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. .sp Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Win_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/ompi/mpi/man/man3/MPI_Wtick.3in b/ompi/mpi/man/man3/MPI_Wtick.3in index e4eac4cfe7..a1eb5ba5dd 100644 --- a/ompi/mpi/man/man3/MPI_Wtick.3in +++ b/ompi/mpi/man/man3/MPI_Wtick.3in @@ -2,6 +2,7 @@ .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright (c) 2017 Cisco Systems, Inc. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Wtick 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -27,12 +28,6 @@ DOUBLE PRECISION MPI_WTICK() USE mpi_f08 DOUBLE PRECISION MPI_WTICK() -.fi -.SH C++ Syntax -.nf -#include -double MPI::Wtick() - .fi .SH RETURN VALUE .ft R diff --git a/ompi/mpi/man/man3/MPI_Wtime.3in b/ompi/mpi/man/man3/MPI_Wtime.3in index 66747ca216..a64c4954ff 100644 --- a/ompi/mpi/man/man3/MPI_Wtime.3in +++ b/ompi/mpi/man/man3/MPI_Wtime.3in @@ -2,6 +2,7 @@ .\" Copyright 2006-2008 Sun Microsystems, Inc. .\" Copyright (c) 1996 Thinking Machines Corporation .\" Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright (c) 2020 Google, LLC. All rights reserved. .\" $COPYRIGHT$ .TH MPI_Wtime 3 "#OMPI_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" .SH NAME @@ -27,12 +28,6 @@ DOUBLE PRECISION MPI_WTIME() USE mpi_f08 DOUBLE PRECISION MPI_WTIME() -.fi -.SH C++ Syntax -.nf -#include -double MPI::Wtime() - .fi .SH RETURN VALUE .ft R diff --git a/ompi/tools/ompi_info/param.c b/ompi/tools/ompi_info/param.c index 684149ebcc..54f07a47be 100644 --- a/ompi/tools/ompi_info/param.c +++ b/ompi/tools/ompi_info/param.c @@ -84,7 +84,6 @@ static void append(char *dest, size_t max, int *first, char *src) */ void ompi_info_do_config(bool want_all) { - char *cxx; char *fortran_mpifh; char *fortran_usempi; char *fortran_usempif08; @@ -116,11 +115,9 @@ void ompi_info_do_config(bool want_all) char *debug; char *mpi_interface_warning; char *cprofiling; - char *cxxprofiling; char *fortran_mpifh_profiling; char *fortran_usempi_profiling; char *fortran_usempif08_profiling; - char *cxxexceptions; char *threads; char *have_dl; char *sparse_groups; @@ -166,7 +163,6 @@ void ompi_info_do_config(bool want_all) const int OMPI_BUILD_FORTRAN_F08_SUBARRAYS = 0; /* setup the strings that don't require allocations*/ - cxx = OMPI_BUILD_CXX_BINDINGS ? "yes" : "no"; if (OMPI_BUILD_FORTRAN_BINDINGS >= OMPI_FORTRAN_USEMPI_BINDINGS) { if (OMPI_FORTRAN_HAVE_IGNORE_TKR) { fortran_usempi = "yes (full: ignore TKR)"; @@ -268,8 +264,6 @@ void ompi_info_do_config(bool want_all) debug = OPAL_ENABLE_DEBUG ? "yes" : "no"; mpi_interface_warning = OMPI_WANT_MPI_INTERFACE_WARNING ? "yes" : "no"; cprofiling = "yes"; - cxxprofiling = OMPI_BUILD_CXX_BINDINGS ? "yes" : "no"; - cxxexceptions = (OMPI_BUILD_CXX_BINDINGS && OMPI_HAVE_CXX_EXCEPTION_SUPPORT) ? "yes" : "no"; fortran_mpifh_profiling = (OMPI_BUILD_FORTRAN_BINDINGS >= OMPI_FORTRAN_MPIFH_BINDINGS) ? "yes" : "no"; fortran_usempi_profiling = (OMPI_BUILD_FORTRAN_BINDINGS >= OMPI_FORTRAN_USEMPI_BINDINGS) ? "yes" : "no"; fortran_usempif08_profiling = (OMPI_BUILD_FORTRAN_BINDINGS >= OMPI_FORTRAN_USEMPIF08_BINDINGS) ? "yes" : "no"; @@ -322,7 +316,6 @@ void ompi_info_do_config(bool want_all) opal_info_out("Built host", "build:host", OMPI_BUILD_HOST); opal_info_out("C bindings", "bindings:c", "yes"); - opal_info_out("C++ bindings", "bindings:cxx", cxx); opal_info_out("Fort mpif.h", "bindings:mpif.h", fortran_mpifh); free(fortran_mpifh); opal_info_out("Fort use mpi", "bindings:use_mpi", @@ -370,14 +363,7 @@ void ompi_info_do_config(bool want_all) opal_info_out_int("C long double size", "compiler:c:sizeof:long_double", sizeof(long double)); opal_info_out_int("C pointer size", "compiler:c:sizeof:pointer", sizeof(void *)); opal_info_out_int("C char align", "compiler:c:align:char", OPAL_ALIGNMENT_CHAR); -#if OMPI_BUILD_CXX_BINDINGS - /* JMS: See above for note about C++ bool size. We don't have - the bool alignment the way configure currently runs -- need - to clean this up when we update for MPI-2.2. */ - opal_info_out_int("C bool align", "compiler:c:align:bool", OPAL_ALIGNMENT_CXX_BOOL); -#else opal_info_out("C bool align", "compiler:c:align:bool", "skipped"); -#endif opal_info_out_int("C int align", "compiler:c:align:int", OPAL_ALIGNMENT_INT); #if defined(HAVE_SHORT_FLOAT) opal_info_out_int("C short float align", "compiler:c:align:short_float", OPAL_ALIGNMENT_SHORT_FLOAT); @@ -598,7 +584,6 @@ void ompi_info_do_config(bool want_all) } opal_info_out("C profiling", "option:profiling:c", cprofiling); - opal_info_out("C++ profiling", "option:profiling:cxx", cxxprofiling); opal_info_out("Fort mpif.h profiling", "option:profiling:mpif.h", fortran_mpifh_profiling); opal_info_out("Fort use mpi profiling", "option:profiling:use_mpi", @@ -607,7 +592,6 @@ void ompi_info_do_config(bool want_all) "option:profiling:use_mpi_f08", fortran_usempif08_profiling); - opal_info_out("C++ exceptions", "option:cxx_exceptions", cxxexceptions); opal_info_out("Thread support", "option:threads", threads); free(threads); opal_info_out("Sparse Groups", "option:sparse:groups", sparse_groups); @@ -620,7 +604,6 @@ void ompi_info_do_config(bool want_all) */ opal_info_out("Build CFLAGS", "option:build:cflags", OMPI_BUILD_CFLAGS); - opal_info_out("Build CXXFLAGS", "option:build:cxxflags", OMPI_BUILD_CXXFLAGS); opal_info_out("Build FCFLAGS", "option:build:fcflags", OMPI_BUILD_FCFLAGS); opal_info_out("Build LDFLAGS", "option:build:ldflags", OMPI_BUILD_LDFLAGS); opal_info_out("Build LIBS", "option:build:libs", OMPI_BUILD_LIBS); diff --git a/oshmem/tools/oshmem_info/param.c b/oshmem/tools/oshmem_info/param.c index be72f72c8e..d3ede41f91 100644 --- a/oshmem/tools/oshmem_info/param.c +++ b/oshmem/tools/oshmem_info/param.c @@ -68,9 +68,7 @@ void oshmem_info_do_config(bool want_all) char *debug; char *mpi_interface_warning; char *cprofiling; - char *cxxprofiling; char *fortran_profiling; - char *cxxexceptions; char *threads; char *have_dl; char *sparse_groups; @@ -110,8 +108,6 @@ void oshmem_info_do_config(bool want_all) debug = OPAL_ENABLE_DEBUG ? "yes" : "no"; mpi_interface_warning = OMPI_WANT_MPI_INTERFACE_WARNING ? "yes" : "no"; cprofiling = "yes"; - cxxprofiling = OMPI_BUILD_CXX_BINDINGS ? "yes" : "no"; - cxxexceptions = (OMPI_BUILD_CXX_BINDINGS && OMPI_HAVE_CXX_EXCEPTION_SUPPORT) ? "yes" : "no"; fortran_profiling = (OMPI_BUILD_FORTRAN_BINDINGS >= OMPI_FORTRAN_MPIFH_BINDINGS) ? "yes" : "no"; have_dl = OPAL_HAVE_DL_SUPPORT ? "yes" : "no"; sparse_groups = OMPI_GROUP_SPARSE ? "yes" : "no"; @@ -180,14 +176,7 @@ void oshmem_info_do_config(bool want_all) opal_info_out_int("C double size", "compiler:c:sizeof:double", sizeof(double)); opal_info_out_int("C pointer size", "compiler:c:sizeof:pointer", sizeof(void *)); opal_info_out_int("C char align", "compiler:c:align:char", OPAL_ALIGNMENT_CHAR); -#if OMPI_BUILD_CXX_BINDINGS - /* JMS: See above for note about C++ bool size. We don't have - the bool alignment the way configure currently runs -- need - to clean this up when we update for MPI-2.2. */ - opal_info_out_int("C bool align", "compiler:c:align:bool", OPAL_ALIGNMENT_CXX_BOOL); -#else opal_info_out("C bool align", "compiler:c:align:bool", "skipped"); -#endif opal_info_out_int("C int align", "compiler:c:align:int", OPAL_ALIGNMENT_INT); opal_info_out_int("C float align", "compiler:c:align:float", OPAL_ALIGNMENT_FLOAT); opal_info_out_int("C double align", "compiler:c:align:double", OPAL_ALIGNMENT_DOUBLE); @@ -333,11 +322,9 @@ void oshmem_info_do_config(bool want_all) } opal_info_out("C profiling", "option:profiling:c", cprofiling); - opal_info_out("C++ profiling", "option:profiling:cxx", cxxprofiling); opal_info_out("Fort shmem.fh profiling", "option:profiling:shmem.fh", fortran_profiling); - opal_info_out("C++ exceptions", "option:cxx_exceptions", cxxexceptions); opal_info_out("Thread support", "option:threads", threads); free(threads); opal_info_out("Sparse Groups", "option:sparse:groups", sparse_groups);