openmpi4/openmpi4-C99.diff
Nicolas Morey 20ec2e725e Accepting request 1227140 from home:NMorey:branches:science:HPC
- Update to 4.1.7 (jsc#PED-11355):
  - Fix int overflow bug in UCC collectives routine, which would impact
    large message collectives.
  - Fix SHMEM bounds checking warnings
  - Fix memory leak in the fcoll/vulcan component
  - Fix memory leak when using non-contiguious datatyles with pml/cm
    (used when using Libfabric or Portals transports)
  - Change default locking protocol for ufs IO component to fix data
    sieving use case.
  - Fix bug in Fortran / C interface array calculation.
  - Fix potential initialization in UCX OpenSHMEM support
  - Add OpenSHMEM support for symmetric remote key handling to improve
    scalability of OpenSHMEM interface.
  - Add MCS Locks as default implementation for OpenSHMEM locks.
  - Fix bug to properly handle ORTE Prefix of "/".
  - Fix bug in I/O interface handling of soft links on Lustre
    filesystems.
  - Fix memory leak in UCX one-sided implementation.
  - Fix bug in rcache components that could lead to assert on macOS
    systems.
  - Fix mishandling of a NULL completion context in the OFI transport.
  - Tarballs are now built with the tar-pax format.
  - Set MPI_THREAD_SERIALIZED instead of MPI_THREAD_SINGLE as supported
    threading model when using UCX that supports
    UCS_THREAD_MODE_SERIALIZED.
  - Fix issue that would prevent using Libfabric 2.x releases.

OBS-URL: https://build.opensuse.org/request/show/1227140
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openmpi4?expand=0&rev=40
2024-11-28 14:43:59 +00:00

97 lines
3.3 KiB
Diff

--- ./opal/mca/pmix/pmix3x/pmix/src/hwloc/hwloc.c~ 2023-09-25 20:20:09.000000000 +0000
+++ ./opal/mca/pmix/pmix3x/pmix/src/hwloc/hwloc.c 2024-07-29 16:12:38.161908410 +0000
@@ -48,7 +48,7 @@
#if HWLOC_API_VERSION >= 0x20000
static size_t shmemsize = 0;
-static size_t shmemaddr;
+static uintptr_t shmemaddr;
static char *shmemfile = NULL;
static int shmemfd = -1;
@@ -58,10 +58,10 @@
pmix_hwloc_vm_map_kind_t *kindp);
static int use_hole(unsigned long holebegin,
unsigned long holesize,
- unsigned long *addrp,
+ uintptr_t *addrp,
unsigned long size);
static int find_hole(pmix_hwloc_vm_hole_kind_t hkind,
- size_t *addrp,
+ uintptr_t *addrp,
size_t size);
static int enough_space(const char *filename,
size_t space_req,
@@ -584,7 +584,7 @@
static int use_hole(unsigned long holebegin,
unsigned long holesize,
- unsigned long *addrp,
+ uintptr_t *addrp,
unsigned long size)
{
unsigned long aligned;
@@ -615,7 +615,7 @@
}
static int find_hole(pmix_hwloc_vm_hole_kind_t hkind,
- size_t *addrp, size_t size)
+ uintptr_t *addrp, size_t size)
{
unsigned long biggestbegin = 0;
unsigned long biggestsize = 0;
--- ./orte/mca/rtc/hwloc/rtc_hwloc.c~ 2023-09-25 20:20:09.000000000 +0000
+++ ./orte/mca/rtc/hwloc/rtc_hwloc.c 2024-07-26 16:29:16.763923042 +0000
@@ -67,7 +67,7 @@
#if HWLOC_API_VERSION >= 0x20000
static size_t shmemsize = 0;
-static size_t shmemaddr;
+static uintptr_t shmemaddr;
static char *shmemfile = NULL;
static int shmemfd = -1;
@@ -77,10 +77,10 @@
orte_rtc_hwloc_vm_map_kind_t *kindp);
static int use_hole(unsigned long holebegin,
unsigned long holesize,
- unsigned long *addrp,
+ uintptr_t *addrp,
unsigned long size);
static int find_hole(orte_rtc_hwloc_vm_hole_kind_t hkind,
- size_t *addrp,
+ uintptr_t *addrp,
size_t size);
static int enough_space(const char *filename,
size_t space_req,
@@ -524,7 +524,7 @@
static int use_hole(unsigned long holebegin,
unsigned long holesize,
- unsigned long *addrp,
+ uintptr_t *addrp,
unsigned long size)
{
unsigned long aligned;
@@ -576,7 +576,7 @@
}
static int find_hole(orte_rtc_hwloc_vm_hole_kind_t hkind,
- size_t *addrp, size_t size)
+ uintptr_t *addrp, size_t size)
{
unsigned long biggestbegin = 0;
unsigned long biggestsize = 0;
--- ./ompi/mca/io/romio321/romio/adio/include/adio.h~ 2023-09-25 20:20:09.000000000 +0000
+++ ./ompi/mca/io/romio321/romio/adio/include/adio.h 2024-07-29 15:40:10.597565427 +0000
@@ -97,6 +97,9 @@
#ifdef MPI_OFFSET_IS_INT
typedef int ADIO_Offset;
# define ADIO_OFFSET MPI_INT
+#elif __SIZEOF_SIZE_T__ == 4
+ typedef long ADIO_Offset;
+# define ADIO_OFFSET MPI_LONG
#elif defined(HAVE_LONG_LONG_64)
typedef long long ADIO_Offset;
# ifdef HAVE_MPI_LONG_LONG_INT