Skip to content

need a way to disable REAL16 support with configure #8616

Closed
@jeffhammond

Description

@jeffhammond

I am trying to build e604107 on an AArch64 system with NVHPC Fortran 21.2-0.

It appears that REAL16 support in NVFortran isn't what Open-MPI is looking for, but I do not care about REAL16 support and would prefer to just not have it in the build.

I see this is not a new problem (#63) but cannot figure out how to disable REAL16 now.

$ make V=1 VERBOSE=1
/bin/sh ../../../../../libtool  --tag=FC   --mode=compile nvfortran   -c -o psizeof_f.lo  psizeof_f.f90
libtool: compile:  nvfortran -c psizeof_f.f90  -o .libs/psizeof_f.o
NVFORTRAN-S-0087-Non-constant expression where constant expression required (psizeof_f.f90: 641)
  0 inform,   0 warnings,   1 severes, 0 fatal for pmpi_sizeof_real16_scalar
NVFORTRAN-S-0087-Non-constant expression where constant expression required (psizeof_f.f90: 651)
  0 inform,   0 warnings,   1 severes, 0 fatal for pmpi_sizeof_real16_r1
NVFORTRAN-S-0087-Non-constant expression where constant expression required (psizeof_f.f90: 661)
  0 inform,   0 warnings,   1 severes, 0 fatal for pmpi_sizeof_real16_r2
NVFORTRAN-S-0087-Non-constant expression where constant expression required (psizeof_f.f90: 671)
  0 inform,   0 warnings,   1 severes, 0 fatal for pmpi_sizeof_real16_r3
NVFORTRAN-S-0087-Non-constant expression where constant expression required (psizeof_f.f90: 681)
  0 inform,   0 warnings,   1 severes, 0 fatal for pmpi_sizeof_real16_r4
NVFORTRAN-S-0087-Non-constant expression where constant expression required (psizeof_f.f90: 691)
  0 inform,   0 warnings,   1 severes, 0 fatal for pmpi_sizeof_real16_r5
NVFORTRAN-S-0087-Non-constant expression where constant expression required (psizeof_f.f90: 701)
  0 inform,   0 warnings,   1 severes, 0 fatal for pmpi_sizeof_real16_r6
NVFORTRAN-S-0087-Non-constant expression where constant expression required (psizeof_f.f90: 711)
  0 inform,   0 warnings,   1 severes, 0 fatal for pmpi_sizeof_real16_r7
make: *** [Makefile:2369: psizeof_f.lo] Error 1
$ grep -i real16 psizeof_f.f90
      SUBROUTINE PMPI_Sizeof_real16_scalar(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL16
      REAL(REAL16)::x
      END SUBROUTINE PMPI_Sizeof_real16_scalar
      SUBROUTINE PMPI_Sizeof_real16_r1(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL16
      REAL(REAL16), DIMENSION(*)::x
      END SUBROUTINE PMPI_Sizeof_real16_r1
      SUBROUTINE PMPI_Sizeof_real16_r2(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL16
      REAL(REAL16), DIMENSION(1,*)::x
      END SUBROUTINE PMPI_Sizeof_real16_r2
      SUBROUTINE PMPI_Sizeof_real16_r3(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL16
      REAL(REAL16), DIMENSION(1,1,*)::x
      END SUBROUTINE PMPI_Sizeof_real16_r3
      SUBROUTINE PMPI_Sizeof_real16_r4(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL16
      REAL(REAL16), DIMENSION(1,1,1,*)::x
      END SUBROUTINE PMPI_Sizeof_real16_r4
      SUBROUTINE PMPI_Sizeof_real16_r5(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL16
      REAL(REAL16), DIMENSION(1,1,1,1,*)::x
      END SUBROUTINE PMPI_Sizeof_real16_r5
      SUBROUTINE PMPI_Sizeof_real16_r6(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL16
      REAL(REAL16), DIMENSION(1,1,1,1,1,*)::x
      END SUBROUTINE PMPI_Sizeof_real16_r6
      SUBROUTINE PMPI_Sizeof_real16_r7(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL16
      REAL(REAL16), DIMENSION(1,1,1,1,1,1,*)::x
      END SUBROUTINE PMPI_Sizeof_real16_r7

Reproduce

You need to use GCC for C/C++ and NVIDIA Fortran to reproduce this.

$ ../configure CC=gcc CXX=g++ FC=nvfortran  --disable-man-pages  && make -j100
commit 1da3f93c7a0b8acff53637a3510cb745e71e1b16 (HEAD -> master, origin/master, origin/HEAD)
Merge: 23833935f3 a2cd6a95e2
Author: Jeff Squyres <jsquyres@cisco.com>
Date:   Tue Mar 16 10:26:37 2021 -0400

    Merge pull request #8626 from mkurnosov/scatter-bmtree-fix-tmpbuf
    
    coll/base: reduce memory consumption in Scatter

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions