Skip to content

Commit 17f8c74

Browse files
authored
Merge branch 'open-mpi:main' into main
2 parents 384c2a7 + 4890203 commit 17f8c74

File tree

98 files changed

+7978
-1568
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

98 files changed

+7978
-1568
lines changed

.github/workflows/compile-ze.yaml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: OneAPI ZE
2+
3+
on: [pull_request]
4+
5+
jobs:
6+
compile-ze:
7+
runs-on: ubuntu-22.04
8+
steps:
9+
- name: Install dependencies
10+
run: |
11+
sudo apt update
12+
sudo apt install -y --no-install-recommends wget lsb-core software-properties-common gpg curl cmake git
13+
- name: Build OneAPI ZE
14+
run: |
15+
git clone https://github.com/oneapi-src/level-zero.git
16+
cd level-zero
17+
mkdir build
18+
cd build
19+
cmake ../ -DCMAKE_INSTALL_PREFIX=/opt/ze
20+
sudo make -j install
21+
- uses: actions/checkout@v3
22+
with:
23+
submodules: recursive
24+
- name: Build Open MPI
25+
run: |
26+
./autogen.pl
27+
#
28+
# we have to disable romio as its old ze stuff doesn't compile with supported ZE API
29+
#
30+
./configure --prefix=${PWD}/install --disable-mpi-fortran --disable-io-romio --disable-oshmem --with-ze
31+
make -j

.gitmodules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[submodule "prrte"]
22
path = 3rd-party/prrte
3-
url = ../../openpmix/prrte
3+
url = ../../open-mpi/prrte
44
branch = master
55
[submodule "openpmix"]
66
path = 3rd-party/openpmix

3rd-party/openpmix

Submodule openpmix updated 91 files

3rd-party/prrte

Submodule prrte updated 98 files

config/ompi_fortran_check_asynchronous.m4

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ dnl University of Stuttgart. All rights reserved.
1111
dnl Copyright (c) 2004-2005 The Regents of the University of California.
1212
dnl All rights reserved.
1313
dnl Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved.
14+
dnl Copyright (c) 2024 Research Organization for Information Science
15+
dnl and Technology (RIST). All rights reserved.
1416
dnl $COPYRIGHT$
1517
dnl
1618
dnl Additional copyrights may follow
@@ -35,6 +37,10 @@ SUBROUTINE binky(buf)
3537
REAL, DIMENSION(*), ASYNCHRONOUS :: buf
3638
END SUBROUTINE
3739
END INTERFACE
40+
CONTAINS
41+
SUBROUTINE wookie(buf)
42+
REAL, DIMENSION(*), ASYNCHRONOUS :: buf
43+
END SUBROUTINE
3844
END MODULE asynch_mod]])],
3945
[AS_VAR_SET(asynchronous_var, yes)],
4046
[AS_VAR_SET(asynchronous_var, no)])

config/ompi_fortran_check_ignore_tkr.m4

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ dnl Copyright (c) 2007 Los Alamos National Security, LLC. All rights
1414
dnl reserved.
1515
dnl Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved.
1616
dnl Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
17+
dnl Copyright (c) 2024 Research Organization for Information Science
18+
dnl and Technology (RIST). All rights reserved.
1719
dnl $COPYRIGHT$
1820
dnl
1921
dnl Additional copyrights may follow
@@ -82,6 +84,12 @@ AC_DEFUN([_OMPI_FORTRAN_CHECK_IGNORE_TKR], [
8284
[!GCC\$ ATTRIBUTES NO_ARG_CHECK ::], [type(*), dimension(*)],
8385
[!GCC\$ ATTRIBUTES NO_ARG_CHECK],
8486
[internal_ignore_tkr_happy=1], [internal_ignore_tkr_happy=0])])
87+
# LLVM compilers
88+
AS_IF([test $internal_ignore_tkr_happy -eq 0],
89+
[OMPI_FORTRAN_CHECK_IGNORE_TKR_SUB(
90+
[!DIR\$ IGNORE_TKR], [type(*)],
91+
[!DIR\$ IGNORE_TKR],
92+
[internal_ignore_tkr_happy=1], [internal_ignore_tkr_happy=0])])
8593
# Intel compilers
8694
AS_IF([test $internal_ignore_tkr_happy -eq 0],
8795
[OMPI_FORTRAN_CHECK_IGNORE_TKR_SUB(
@@ -133,6 +141,7 @@ AC_DEFUN([OMPI_FORTRAN_CHECK_IGNORE_TKR_SUB], [
133141
AC_MSG_CHECKING([for Fortran compiler support of $3])
134142
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([],[[!
135143
! Autoconf puts "program main" at the top
144+
implicit none
136145

137146
interface
138147
subroutine force_assumed_shape(a, count)
@@ -157,6 +166,7 @@ AC_DEFUN([OMPI_FORTRAN_CHECK_IGNORE_TKR_SUB], [
157166
complex, pointer, dimension(:,:) :: ptr
158167
target :: buffer3
159168
integer :: buffer4
169+
integer :: a
160170
ptr => buffer3
161171

162172
! Set some known values (somewhat irrelevant for this test, but just be
@@ -189,8 +199,23 @@ AC_DEFUN([OMPI_FORTRAN_CHECK_IGNORE_TKR_SUB], [
189199
call foo(a, count)
190200
end subroutine force_assumed_shape
191201

202+
module check_ignore_tkr
203+
interface
204+
subroutine foobar(buffer, count)
205+
$1 buffer
206+
$2, intent(in) :: buffer
207+
integer, intent(in) :: count
208+
end subroutine foobar
209+
end interface
210+
end module
211+
212+
subroutine bar(var)
213+
use check_ignore_tkr
214+
implicit none
215+
real, intent(inout) :: var(:, :, :)
216+
217+
call foobar(var(1,1,1), 1)
192218
! Autoconf puts "end" after the last line
193-
subroutine bogus
194219
]]),
195220
[msg=yes
196221
ompi_fortran_ignore_tkr_predecl="$1"

config/opal_check_cuda.m4

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ AC_ARG_WITH([cuda-libdir],
5959
[Search for CUDA libraries in DIR])],
6060
[],
6161
[AS_IF([test -d "$with_cuda"],
62-
[with_cuda_libdir=$(dirname $(find $with_cuda -name libcuda.so 2> /dev/null) 2> /dev/null)],
63-
[with_cuda_libdir=$(dirname $(find /usr/local/cuda -name libcuda.so 2> /dev/null) 2> /dev/null)])
62+
[with_cuda_libdir=$(dirname $(find -H $with_cuda -name libcuda.so 2> /dev/null) 2> /dev/null)],
63+
[with_cuda_libdir=$(dirname $(find -H /usr/local/cuda -name libcuda.so 2> /dev/null) 2> /dev/null)])
6464
])
6565
6666
# Note that CUDA support is off by default. To turn it on, the user has to

docs/getting-help.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ information (adjust as necessary for your specific environment):
120120
# Fill in the options you want to pass to configure here
121121
options=""
122122
./configure $options 2>&1 | tee $dir/config.out
123-
tar -cf - `find . -name config.log` | tar -x -C $dir -
123+
tar -cf - `find . -name config.log` | tar -x -C $dir
124124
125125
# Build and install Open MPI
126126
make V=1 all 2>&1 | tee $dir/make.out

docs/man-openmpi/man3/MPI_Send.3.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ Fortran 2008 Syntax
5353
INPUT PARAMETERS
5454
----------------
5555
* ``buf``: Initial address of send buffer (choice).
56-
* ``count``: Number of elements send (nonnegative integer).
56+
* ``count``: Number of elements in send buffer (nonnegative integer).
5757
* ``datatype``: Datatype of each send buffer element (handle).
5858
* ``dest``: Rank of destination (integer).
5959
* ``tag``: Message tag (integer).

ompi/communicator/comm.c

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -707,11 +707,6 @@ int ompi_comm_split_with_info( ompi_communicator_t* comm, int color, int key,
707707
/* Activate the communicator and init coll-component */
708708
rc = ompi_comm_activate (&newcomp, comm, NULL, NULL, NULL, false, mode);
709709

710-
/* MPI-4 §7.4.4 requires us to remove all unknown keys from the info object */
711-
if (NULL != newcomp->super.s_info) {
712-
opal_info_remove_unreferenced(newcomp->super.s_info);
713-
}
714-
715710
exit:
716711
free ( results );
717712
free ( sorted );
@@ -1028,9 +1023,6 @@ static int ompi_comm_split_type_core(ompi_communicator_t *comm,
10281023
goto exit;
10291024
}
10301025

1031-
/* MPI-4 §7.4.4 requires us to remove all unknown keys from the info object */
1032-
opal_info_remove_unreferenced(newcomp->super.s_info);
1033-
10341026
/* TODO: there probably is better way to handle this case without throwing away the
10351027
* intermediate communicator. */
10361028
rc = ompi_comm_split (newcomp, local_split_type, key, newcomm, false);
@@ -1363,9 +1355,6 @@ int ompi_comm_dup_with_info ( ompi_communicator_t * comm, opal_info_t *info, omp
13631355
return rc;
13641356
}
13651357

1366-
/* MPI-4 §7.4.4 requires us to remove all unknown keys from the info object */
1367-
opal_info_remove_unreferenced(newcomp->super.s_info);
1368-
13691358
*newcomm = newcomp;
13701359
return MPI_SUCCESS;
13711360
}
@@ -1522,8 +1511,6 @@ static int ompi_comm_idup_with_info_finish (ompi_comm_request_t *request)
15221511
{
15231512
ompi_comm_idup_with_info_context_t *context =
15241513
(ompi_comm_idup_with_info_context_t *) request->context;
1525-
/* MPI-4 §7.4.4 requires us to remove all unknown keys from the info object */
1526-
opal_info_remove_unreferenced(context->newcomp->super.s_info);
15271514

15281515
/* done */
15291516
return MPI_SUCCESS;

ompi/file/file.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,6 @@ int ompi_file_open(struct ompi_communicator_t *comm, const char *filename,
138138
return ret;
139139
}
140140

141-
/* MPI-4 §14.2.8 requires us to remove all unknown keys from the info object */
142-
opal_info_remove_unreferenced(file->super.s_info);
143-
144141
/* All done */
145142

146143
*fh = file;

ompi/info/info.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ int ompi_mpiinfo_init_env(int argc, char *argv[], ompi_info_t *info)
243243
// related calls:
244244

245245
int ompi_info_dup (ompi_info_t *info, ompi_info_t **newinfo) {
246-
return opal_info_dup (&(info->super), (opal_info_t **)newinfo);
246+
return opal_info_dup_public (&(info->super), (opal_info_t **)newinfo);
247247
}
248248
int ompi_info_set (ompi_info_t *info, const char *key, const char *value) {
249249
return opal_info_set (&(info->super), key, value);

ompi/mca/coll/accelerator/Makefile.am

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@
22
# Copyright (c) 2014 The University of Tennessee and The University
33
# of Tennessee Research Foundation. All rights
44
# reserved.
5-
# Copyright (c) 2014 NVIDIA Corporation. All rights reserved.
5+
# Copyright (c) 2014-2024 NVIDIA Corporation. All rights reserved.
66
# Copyright (c) 2017 IBM Corporation. All rights reserved.
77
# $COPYRIGHT$
88
#
99
# Additional copyrights may follow
1010
#
1111
# $HEADER$
1212
#
13-
dist_ompidata_DATA = help-mpi-coll-accelerator.txt
1413

1514
sources = coll_accelerator_module.c coll_accelerator_reduce.c coll_accelerator_allreduce.c \
1615
coll_accelerator_reduce_scatter_block.c coll_accelerator_component.c \

ompi/mca/coll/accelerator/coll_accelerator.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* Copyright (c) 2014 The University of Tennessee and The University
33
* of Tennessee Research Foundation. All rights
44
* reserved.
5-
* Copyright (c) 2014-2015 NVIDIA Corporation. All rights reserved.
5+
* Copyright (c) 2014-2024 NVIDIA Corporation. All rights reserved.
66
* Copyright (c) 2024 Triad National Security, LLC. All rights reserved.
77
* $COPYRIGHT$
88
*
@@ -38,9 +38,6 @@ mca_coll_base_module_t
3838
*mca_coll_accelerator_comm_query(struct ompi_communicator_t *comm,
3939
int *priority);
4040

41-
int mca_coll_accelerator_module_enable(mca_coll_base_module_t *module,
42-
struct ompi_communicator_t *comm);
43-
4441
int
4542
mca_coll_accelerator_allreduce(const void *sbuf, void *rbuf, int count,
4643
struct ompi_datatype_t *dtype,

0 commit comments

Comments
 (0)