<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Intel MPI wrappers new-dtags in Intel® MPI Library</title>
    <link>https://community.intel.com/t5/Intel-MPI-Library/Intel-MPI-wrappers-new-dtags/m-p/1708253#M12193</link>
    <description>&lt;P&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/438721"&gt;@LorisErcole&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;the compiler wrappers are for convenience, you can just use the compiler directly and define your own linking and compiling options.&lt;/P&gt;
&lt;P&gt;Most users are using LD_LIBRARY_PATH in an environment where multiple versions exists.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 08 Aug 2025 09:51:23 GMT</pubDate>
    <dc:creator>TobiasK</dc:creator>
    <dc:date>2025-08-08T09:51:23Z</dc:date>
    <item>
      <title>Intel MPI wrappers new-dtags</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/Intel-MPI-wrappers-new-dtags/m-p/1707501#M12188</link>
      <description>&lt;P&gt;Hello, I'm using Intel MPI 2021.10, and I noticed that the MPI wrappers like &lt;FONT face="courier new,courier"&gt;mpiicpc&lt;/FONT&gt;&amp;nbsp;always set &lt;FONT face="courier new,courier"&gt;--enable-new-dtags&lt;/FONT&gt;&lt;/P&gt;&lt;LI-CODE lang="bash"&gt;if [ "$no_rpath" = "yes" ]; then
    rpath_opt="-Xlinker --enable-new-dtags"
else
    rpath_opt="-Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker \"${libdir}${MPILIBDIR}\" -Xlinker -rpath -Xlinker \"${libdir}\""
fi&lt;/LI-CODE&gt;&lt;P&gt;which can have the unintended&amp;nbsp; consequence of using RUNPATH instead of RPATH when linking to other libraries.&lt;/P&gt;&lt;P&gt;What is the reason for doing so? And would there be any side effect if we were to use&amp;nbsp;&lt;FONT face="courier new,courier"&gt;--disable-new-dtags&amp;nbsp;&lt;/FONT&gt;instead?&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;-Loris&lt;/P&gt;</description>
      <pubDate>Tue, 05 Aug 2025 08:43:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/Intel-MPI-wrappers-new-dtags/m-p/1707501#M12188</guid>
      <dc:creator>LorisErcole</dc:creator>
      <dc:date>2025-08-05T08:43:31Z</dc:date>
    </item>
    <item>
      <title>Re: Intel MPI wrappers new-dtags</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/Intel-MPI-wrappers-new-dtags/m-p/1707938#M12191</link>
      <description>&lt;P&gt;I understand that --enable-new-dtags ensures the linker uses RUNPATH instead of RPATH, which allows LD_LIBRARY_PATH to take precedence at runtime.&lt;/P&gt;&lt;P&gt;However, I am in a scenario where I would like to use RPATH to ensure reproducibility in an environment where different versions of the same library may be installed. I found that &lt;STRONG&gt;if I use --disable-new-dtags flag, the MPI wrapper overrides it&lt;/STRONG&gt;.&lt;BR /&gt;Here is a simple reproducer:&lt;/P&gt;&lt;LI-CODE lang="bash"&gt;$ mpiicpx -Xlinker --disable-new-dtags -Wall -Wextra -Wl,-rpath,$MKLROOT/lib/intel64 -o matrix_mult_mpi matrix_mult_mpi.cpp -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl&lt;/LI-CODE&gt;&lt;P&gt;results in an executable with RUNPATH:&lt;/P&gt;&lt;LI-CODE lang="bash"&gt;$ readelf -d matrix_mult_mpi
Dynamic section at offset 0x53d20 contains 34 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libmkl_intel_ilp64.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libmkl_sequential.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libmkl_core.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libmpicxx.so.12]
 0x0000000000000001 (NEEDED)             Shared library: [libmpifort.so.12]
 0x0000000000000001 (NEEDED)             Shared library: [libmpi.so.12]
 0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000001d (RUNPATH)            Library runpath: [/software/imkl/2023.2.0/mkl/2023.2.0/lib/intel64:/software/impi/2021.10.0-intel-compilers-2023.2.1/mpi/2021.10.0/lib/release:/software/impi/2021.10.0-intel-compilers-2023.2.1/mpi/2021.10.0/lib]
...&lt;/LI-CODE&gt;&lt;P&gt;The reason being the way the mpiicpx command expands:&lt;/P&gt;&lt;LI-CODE lang="bash"&gt;$ mpiicpx -Xlinker --disable-new-dtags -Wall -Wextra -Wl,-rpath,$MKLROOT/lib/intel64 -o matrix_mult_mpi matrix_mult_mpi.cpp -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl -show

icpx -Xlinker '--disable-new-dtags' '-Wall' '-Wextra' '-Wl,-rpath,/software/imkl/2023.2.0/mkl/2023.2.0/lib/intel64' -o 'matrix_mult_mpi' 'matrix_mult_mpi.cpp' '-lmkl_intel_ilp64' '-lmkl_sequential' '-lmkl_core' '-lpthread' '-lm' '-ldl' -I"/software/impi/2021.10.0-intel-compilers-2023.2.1/mpi/2021.10.0/include" -L"/software/impi/2021.10.0-intel-compilers-2023.2.1/mpi/2021.10.0/lib/release" -L"/software/impi/2021.10.0-intel-compilers-2023.2.1/mpi/2021.10.0/lib" -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker "/software/impi/2021.10.0-intel-compilers-2023.2.1/mpi/2021.10.0/lib/release" -Xlinker -rpath -Xlinker "/software/impi/2021.10.0-intel-compilers-2023.2.1/mpi/2021.10.0/lib" -lmpicxx -lmpifort -lmpi -ldl -lrt -lpthread&lt;/LI-CODE&gt;&lt;P&gt;because -Xlinker --enable-new-dtags is appended to the original command, along with the flags for MPI libraries.&lt;/P&gt;&lt;P&gt;Is there a way to avoid this behavior and ensure that --enable-new-dtags is not introduced by the wrappers?&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Thu, 07 Aug 2025 08:44:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/Intel-MPI-wrappers-new-dtags/m-p/1707938#M12191</guid>
      <dc:creator>LorisErcole</dc:creator>
      <dc:date>2025-08-07T08:44:21Z</dc:date>
    </item>
    <item>
      <title>Re: Intel MPI wrappers new-dtags</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/Intel-MPI-wrappers-new-dtags/m-p/1708253#M12193</link>
      <description>&lt;P&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/438721"&gt;@LorisErcole&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;the compiler wrappers are for convenience, you can just use the compiler directly and define your own linking and compiling options.&lt;/P&gt;
&lt;P&gt;Most users are using LD_LIBRARY_PATH in an environment where multiple versions exists.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 08 Aug 2025 09:51:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/Intel-MPI-wrappers-new-dtags/m-p/1708253#M12193</guid>
      <dc:creator>TobiasK</dc:creator>
      <dc:date>2025-08-08T09:51:23Z</dc:date>
    </item>
  </channel>
</rss>

