From b3b1a1f0e80eef2aa0f82f94b3cd2d0d876b2737 Mon Sep 17 00:00:00 2001 From: qusong6 Date: Wed, 26 Feb 2025 15:21:53 +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 8ab6d680b90..5bd785db8a3 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 b68a0acb32c..7b0d8defa46 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 dfff67569fb..add67c2ea77 160000 --- a/config/oac +++ b/config/oac @@ -1 +1 @@ -Subproject commit dfff67569fb72dbf8d73a1dcf74d091dad93f71b +Subproject commit add67c2ea77a5bbda9361e741107ea5544e66b1d -- Gitee From 10bd4b9cee9ac6bc2fc5c7ce66e8609585244132 Mon Sep 17 00:00:00 2001 From: qusong6 Date: Thu, 27 Feb 2025 10:03:53 +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 8915e4847b0..5cf58b3c21b 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 31df5a37592..f86a31afd74 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 5ba0346fbe2a1dfc682b7e6fe172fad6baf0e4f4 Mon Sep 17 00:00:00 2001 From: qusong6 Date: Thu, 27 Feb 2025 10:10:20 +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 f86a31afd74..34182e33f8f 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