From c1408f335c3ae3bc432ff7018207af77ed40a91b Mon Sep 17 00:00:00 2001 From: qusong9728 Date: Thu, 27 Feb 2025 15:36:16 +0800 Subject: [PATCH 1/3] update submodule commit --- 3rd-party/openpmix | 2 +- 3rd-party/prrte | 2 +- config/oac | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/3rd-party/openpmix b/3rd-party/openpmix index 8ab6d680b9..5bd785db8a 160000 --- a/3rd-party/openpmix +++ b/3rd-party/openpmix @@ -1 +1 @@ -Subproject commit 8ab6d680b90afd6e61766220a8724065a1b554a7 +Subproject commit 5bd785db8a3f21efd472bebf78ce063171d7e586 diff --git a/3rd-party/prrte b/3rd-party/prrte index b68a0acb32..7b0d8defa4 160000 --- a/3rd-party/prrte +++ b/3rd-party/prrte @@ -1 +1 @@ -Subproject commit b68a0acb32cfc0d3c19249e5514820555bcf438b +Subproject commit 7b0d8defa460a69956abf673ee33d467e28f98d8 diff --git a/config/oac b/config/oac index dfff67569f..add67c2ea7 160000 --- a/config/oac +++ b/config/oac @@ -1 +1 @@ -Subproject commit dfff67569fb72dbf8d73a1dcf74d091dad93f71b +Subproject commit add67c2ea77a5bbda9361e741107ea5544e66b1d -- Gitee From db91bd8eaa765ac63587963f1ce14e52d9d43899 Mon Sep 17 00:00:00 2001 From: qusong9728 Date: Thu, 27 Feb 2025 15:38:03 +0800 Subject: [PATCH 2/3] sync hmpi v4.1.6 code --- README.md | 2 ++ ompi/instance/instance.c | 13 ++++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 8915e4847b..5cf58b3c21 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +Copyright (c) 2025 Huawei Technologies Co., Ltd. All rights + reserved. # Open MPI [The Open MPI Project](https://www.open-mpi.org/) is an open source diff --git a/ompi/instance/instance.c b/ompi/instance/instance.c index 31df5a3759..6771525983 100644 --- a/ompi/instance/instance.c +++ b/ompi/instance/instance.c @@ -470,13 +470,6 @@ static int ompi_mpi_instance_init_common (int argc, char **argv) return ompi_instance_print_error ("ompi_info_init_env() failed", ret); } - /* declare our presence for interlib coordination, and - * register for callbacks when other libs declare. XXXXXX -- TODO -- figure out how - * to specify the thread level when different instances may request different levels. */ - if (OMPI_SUCCESS != (ret = ompi_interlib_declare(MPI_THREAD_MULTIPLE, OMPI_IDENT_STRING))) { - return ompi_instance_print_error ("ompi_interlib_declare", ret); - } - /* initialize datatypes. This step should be done early as it will * create the local convertor and local arch used in the proc * init. @@ -536,6 +529,12 @@ static int ompi_mpi_instance_init_common (int argc, char **argv) return ompi_instance_print_error (error_msg, ret); } + /* declare our presence for interlib coordination, and + * register for callbacks when other libs declare. XXXXXX -- TODO -- figure out how + * to specify the thread level when different instances may request different levels. */ + if (OMPI_SUCCESS != (ret = ompi_interlib_declare(MPI_THREAD_MULTIPLE, OMPI_IDENT_STRING))) { + return ompi_instance_print_error ("ompi_interlib_declare", ret); + } OMPI_TIMING_IMPORT_OPAL("orte_init"); OMPI_TIMING_NEXT("rte_init-commit"); -- Gitee From df1652bee51f2a03d9d2f077ae334d66b396fe23 Mon Sep 17 00:00:00 2001 From: qusong9728 Date: Thu, 27 Feb 2025 15:39:45 +0800 Subject: [PATCH 3/3] fix segmentation fault in finalize when enable mac dso --- ompi/instance/instance.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ompi/instance/instance.c b/ompi/instance/instance.c index 6771525983..95e5386646 100644 --- a/ompi/instance/instance.c +++ b/ompi/instance/instance.c @@ -114,7 +114,7 @@ OBJ_CLASS_INSTANCE(ompi_instance_t, opal_infosubscriber_t, ompi_instance_constru static mca_base_framework_t *ompi_framework_dependencies[] = { &ompi_hook_base_framework, &ompi_op_base_framework, &opal_allocator_base_framework, &opal_rcache_base_framework, &opal_mpool_base_framework, &opal_smsc_base_framework, - &ompi_bml_base_framework, &ompi_pml_base_framework, NULL, + &ompi_bml_base_framework, &ompi_pml_base_framework, &ompi_coll_base_framework, &ompi_osc_base_framework, NULL, }; static mca_base_framework_t *ompi_lazy_frameworks[] = { @@ -403,6 +403,10 @@ static int ompi_mpi_instance_init_common (int argc, char **argv) /* open the ompi hook framework */ for (int i = 0 ; ompi_framework_dependencies[i] ; ++i) { + if (ompi_framework_dependencies[i] == &ompi_coll_base_framework || + ompi_framework_dependencies[i] == &ompi_osc_base_framework) { + continue; + } ret = mca_base_framework_open (ompi_framework_dependencies[i], 0); if (OPAL_UNLIKELY(OPAL_SUCCESS != ret)) { char error_msg[256]; -- Gitee