<!DOCTYPE html>
<!-- BaNnErBlUrFlE-BoDy-start -->
<!-- Preheader Text : BEGIN -->
<div style="display:none !important;display:none;visibility:hidden;mso-hide:all;font-size:1px;color:#ffffff;line-height:1px;height:0px;max-height:0px;opacity:0;overflow:hidden;">
 On Tue, Mar 12, 2024 at 04: 34: 25PM +0000, Wei-Keng Liao wrote: > Hi, Max > > Since I do not have an access to the AMD environment, I will just make > suggestions based on what I am seeing from the two files you provided. > >
</div>
<!-- Preheader Text : END -->

<!-- Email Banner : BEGIN -->
<div style="display:none !important;display:none;visibility:hidden;mso-hide:all;font-size:1px;color:#ffffff;line-height:1px;height:0px;max-height:0px;opacity:0;overflow:hidden;">ZjQcmQRYFpfptBannerStart</div>

<!--[if ((ie)|(mso))]>
  <table border="0" cellspacing="0" cellpadding="0" width="100%" style="padding: 16px 0px 16px 0px; direction: ltr" ><tr><td>
    <table border="0" cellspacing="0" cellpadding="0" style="padding: 0px 10px 5px 6px; width: 100%; border-radius:4px; border-top:4px solid #90a4ae;background-color:#D0D8DC;"><tr><td valign="top">
      <table align="left" border="0" cellspacing="0" cellpadding="0" style="padding: 4px 8px 4px 8px">
        <tr><td style="color:#000000; font-family: 'Arial', sans-serif; font-weight:bold; font-size:14px; direction: ltr">
          This Message Is From an External Sender
        </td></tr>
        <tr><td style="color:#000000; font-weight:normal; font-family: 'Arial', sans-serif; font-size:12px; direction: ltr">
          This message came from outside your organization.
        </td></tr>

      </table>

    </td></tr></table>
  </td></tr></table>
<![endif]-->

<![if !((ie)|(mso))]>
  <div dir="ltr"  id="pfptBanner5q6ubgy" style="all: revert !important; display:block !important; text-align: left !important; margin:16px 0px 16px 0px !important; padding:8px 16px 8px 16px !important; border-radius: 4px !important; min-width: 200px !important; background-color: #D0D8DC !important; background-color: #D0D8DC; border-top: 4px solid #90a4ae !important; border-top: 4px solid #90a4ae;">
    <div id="pfptBanner5q6ubgy" style="all: unset !important; float:left !important; display:block !important; margin: 0px 0px 1px 0px !important; max-width: 600px !important;">
      <div id="pfptBanner5q6ubgy" style="all: unset !important; display:block !important; visibility: visible !important; background-color: #D0D8DC !important; color:#000000 !important; color:#000000; font-family: 'Arial', sans-serif !important; font-family: 'Arial', sans-serif; font-weight:bold !important; font-weight:bold; font-size:14px !important; line-height:18px !important; line-height:18px">
        This Message Is From an External Sender
      </div>
      <div id="pfptBanner5q6ubgy" style="all: unset !important; display:block !important; visibility: visible !important; background-color: #D0D8DC !important; color:#000000 !important; color:#000000; font-weight:normal; font-family: 'Arial', sans-serif !important; font-family: 'Arial', sans-serif; font-size:12px !important; line-height:18px !important; line-height:18px; margin-top:2px !important;">
This message came from outside your organization.
      </div>

    </div>

    <div style="clear: both !important; display: block !important; visibility: hidden !important; line-height: 0 !important; font-size: 0.01px !important; height: 0px"> </div>
  </div>
<![endif]>

<div style="display:none !important;display:none;visibility:hidden;mso-hide:all;font-size:1px;color:#ffffff;line-height:1px;height:0px;max-height:0px;opacity:0;overflow:hidden;">ZjQcmQRYFpfptBannerEnd</div>
<!-- Email Banner : END -->

<!-- BaNnErBlUrFlE-BoDy-end -->
<html>
<head><!-- BaNnErBlUrFlE-HeAdEr-start -->
<style>
  #pfptBanner5q6ubgy { all: revert !important; display: block !important; 
    visibility: visible !important; opacity: 1 !important; 
    background-color: #D0D8DC !important; 
    max-width: none !important; max-height: none !important }
  .pfptPrimaryButton5q6ubgy:hover, .pfptPrimaryButton5q6ubgy:focus {
    background-color: #b4c1c7 !important; }
  .pfptPrimaryButton5q6ubgy:active {
    background-color: #90a4ae !important; }
</style>

<!-- BaNnErBlUrFlE-HeAdEr-end -->
<meta charset="us-ascii"></head><body><pre style="font-family: sans-serif; font-size: 100%; white-space: pre-wrap; word-wrap: break-word">On Tue, Mar 12, 2024 at 04:34:25PM +0000, Wei-Keng Liao wrote:
> Hi, Max

> Since I do not have an access to the AMD environment, I will just make
> suggestions based on what I am seeing from the two files you provided.

> I notice -freciprocal-math is used, which may be the reason libtool
> thinks -lamdlibm is required. Could you remove it and try again?

I will try that.  But I am about to end my workday,
so please do not expect a reply today.

> Other unrelated issues:
> 1. --enable-mpi-io-test is not a valid configure option of PnetCDF
> 2. -fPIC can be removed. If you want to build shared library, just add
>    --enable-shared to the configure command line

These may be holdovers from PnetCDF builds I did years ago,
which could have crept in due to cut-and-pasting - thanks!



> Wei-keng

> On Mar 12, 2024, at 6:57 AM, Max R. Dechantsreiter <max@performancejones.com> wrote:

> Hi Wei-Keng,

> I ran my entire build script (including tests) for PnetCDF 1.12.3.
> Attached is that script, with embedded annotations; along with its
> config.log, as you requested.  Please note that for this build I
> did not set LIBS or invoke libamdlibm in any way - yet linkage was
> with'-lm -lamdlibm', making me wonder how libtool came to that.
> (This AMD library does not appear in my build of PnetCDF 1.12.3
> with GCC toolchain.)

> While I doubt linking with '-lm -lamdlibm' will affect performance
> very much, it is annoying that I cannot gain full control over the
> build.  Meanwhile I will continue building my application with the
> PnetCDF that I have now.

> Thank you,

> Max
> ---


> On Mon, Mar 11, 2024 at 05:53:00PM +0000, Wei-Keng Liao wrote:
> This sounds most like the problem of libtool.
> Libtool figures out all the library dependency and adds those required.

> The reason I asked for the testings is to rule out the possibility of
> interference from environment variable settings, such as LD_LIBRARY_PATH
> or modules loaded. PnetCDF only needs MPI compilers, so the minimal
> configure command-line option is --with-mpi

> Could you please send me the file "config.log"?

> Wei-keng

> On Mar 11, 2024, at 11:36 AM, Max R. Dechantsreiter <max@performancejones.com> wrote:

> Hi Wei-Keng,

> Could you modify build_pnetcdf.txt to compile a simple F90 program
> (example programs can be found from MPICH repo in
> https://urldefense.com/v3/__https://github.com/pmodels/mpich/tree/main/examples__;!!Dq0X2DkFhyF93HkjWTBQKhk!Qe-o1JhyzY0PqJpYUc01_4WRS9WF7O7reBH9vDAZtx2kXnt1lYpf1m85yJ2aQgdn2FjM2uQWiGP1XLSCw6pMtqM$ )

> This is to see if the environment variables set in build_pnetcdf.txt
> also work without PnetCDF? For example, run this command:
>   mpifort pi3f90.f90

> I don't quite understand this - I know my AOCC OpenMPI
> works, because I have used it, set up the same way, to
> build other tools/applications (e.g., HDF5).

> If that works, could you try this configure command, without running
> build_pnetcdf.txt? i.e. no environment variables are set.
>  ./configure --with-mpi=$HOME/AOCC/opt/amd/ompi/5.0.2

> I presume by this you meant I should set the environment
> for AOCC tools and OpenMPI, but not set the 'configure'
> variables (such as LIBS).  Then with

> ./configure --with-mpi=$HOME/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0

> I still have libamdlibm after libm:

> libtool: link: /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/bin/mpicc -g -O2 -o ncmpidump ncmpidump.o vardata.o dumplib.o  ../../../src/libs/.libs/libpnetcdf.a -L/home/maxd/AOCC/opt/amd/ompi/hwloc-2.10.0_aocc-4.2.0/lib /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libmpi_usempif08.so /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libmpi_usempi_ignore_tkr.so /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libmpi_mpifh.so -L/home/maxd/AOCC/opt/amd/aocc/4.2.0/lib /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libmpi.so /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libopen-pal.so -lpthread -lrt /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libpmix.so -lutil -ldl -levent_core -levent_pthreads /home/maxd/AOCC/opt/amd/ompi/hwloc-2.10.0_aocc-4.2.0/lib/libhwloc.so -lm -lamdlibm -pthread -Wl,-rpath -Wl,/home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib -Wl,-rpath -Wl,/home/maxd/AOCC/opt/amd/ompi/hwloc-2.10.0_aocc-4.2.0/lib -Wl,-rpath -Wl,/home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib -Wl,-rpath -Wl,/home/maxd/AOCC/opt/amd/ompi/hwloc-2.10.0_aocc-4.2.0/lib

> How is libtool (or configure) deciding to use libamdlibm -
> is it based on the compiler?

> Best regards,

> Max
> ---


> If the above failed, please send me file config.log.

> Wei-keng

> On Mar 11, 2024, at 10:37 AM, Max R. Dechantsreiter <max@performancejones.com> wrote:

> Hi Wei-keng,

> ...Same problem.  I am attaching my build procedure.

> I even tried hacking the Makefile and libtool, to no effect.

> Best regards,

> Max
> ---


> On Mon, Mar 11, 2024 at 03:12:27PM +0000, Wei-Keng Liao wrote:
> Hi, Max

> Could you give the release candidate 1.13.0.rc1 a try?
> The configure utility files have been updated since 1.12.3,
> which may fix the problem.

> https://urldefense.com/v3/__https://github.com/Parallel-NetCDF/Parallel-NetCDF.github.io/raw/master/Release/pnetcdf-1.13.0.rc1.tar.gz__;!!Dq0X2DkFhyF93HkjWTBQKhk!QaDTsobUHYLC8K-towJw_kn5rctCrB6wv3OdDy6h4_9yKnUNepXT1b2RCV-EcqmdpdkcMAcwrT2IN4hDGUZIk9s$

> Wei-keng

> On Mar 11, 2024, at 6:36 AM, Max R. Dechantsreiter <max@performancejones.com> wrote:

> Hello Wei-Keng,

> Building PnetCDF 1.12.3 with AOCC compilers, I found that
> libamdlm is linked after libm ('-lm -lamdlibm') instead of
> before as it should be; so far I have not found any way to
> change this.  If I set LIBS='-lamdlibm' and configure, both
> FCLIBS and FLIBS in the resulting Makefile are assigned

> -L/home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib -L/usr/lib/gcc/x86_64-linux-gnu/10 -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/home/maxd/AOCC/opt/amd/aocc/4.2.0/bin/../lib -L/lib -L/usr/lib -L/home/maxd/AOCC/opt/amd/aocl/4.2.0/aocc/lib -L/home/maxd/AOCC/opt/amd/aocc/4.2.0/lib -L/home/maxd/AOCC/opt/amd/aocc/4.2.0/lib32 -L. -lamdlibm -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi -lflangmain -lflang -lflangrti -lpgmath -lquadmath -lompstub -lm -lrt -lpthread

> which is promising.  However, in the link it's wrong:

> libtool: link: /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/bin/mpif90 -I../../src/binding/f90 -ffree-form -I. -DN_DIM=3 -DMAXBLOCKS=100 -DIONMAX=13 -march=broadwell -mtune=broadwell -O3 -freciprocal-math -fPIC -o flash_benchmark_io get_mfluid_property.o flash_release.o flash_benchmark_io.o checkpoint_ncmpi_parallel.o plotfile_ncmpi_parallel.o  -L../../src/libs /home/maxd/AOCC/Build/pnetcdf-1.12.3/src/libs/.libs/libpnetcdf.a -L/home/maxd/AOCC/opt/amd/ompi/hwloc-2.10.0_aocc-4.2.0/lib /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libmpi_usempif08.so /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libmpi_usempi_ignore_tkr.so /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libmpi_mpifh.so -L/home/maxd/AOCC/opt/amd/aocc/4.2.0/lib /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libmpi.so /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libopen-pal.so -lpthread -lrt /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib/libpmix.so -lutil -ldl -levent_core -levent_pthreads /home/maxd/AOCC/opt/amd/ompi/hwloc-2.10.0_aocc-4.2.0/lib/libhwloc.so -lm -lamdlibm -pthread -rpath /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib -rpath /home/maxd/AOCC/opt/amd/ompi/hwloc-2.10.0_aocc-4.2.0/lib -rpath /home/maxd/AOCC/opt/amd/ompi/openmpi-5.0.2_aocc-4.2.0/lib -rpath /home/maxd/AOCC/opt/amd/ompi/hwloc-2.10.0_aocc-4.2.0/lib

> Any suggestion for how to remedy this?

> Best regards,

> Max
> ---
> Max R. Dechantsreiter
> President
> Performance Jones L.L.C.
> max@performancejones.com
> Skype: PerformanceJones (UTC+01:00)
> +1 414 446-3100 (telephone/voicemail)
> https://urldefense.com/v3/__http://www.linkedin.com/in/benchmarking__;!!Dq0X2DkFhyF93HkjWTBQKhk!XoFfRmNF4v6X3b67Y51DU9xey_PcSw1VYyTqFCWAsLtD1l0FSMXpDqzdhbHEA9T8wvV7jXjXnH3AaDZYp90LdZg$

> <build_pnetcdf.txt>


> <build_pnetcdf.txt><config.log>

</pre></body></html>