<!-- 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;">
Hello mpich community, When I try to compile mpich 4. 3. 0 configured with --with-hcoll=/opt/mellanox/hcoll option, I get a compilation error because the hcoll_do_progress() function is defined with two arguments in hcoll_init. c but it is called</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;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="pfptBannert6an0yf" 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="pfptBannert6an0yf" style="all: unset !important; float:left !important; display:block !important; margin: 0px 0px 1px 0px !important; max-width: 600px !important;">
<div id="pfptBannert6an0yf" 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="pfptBannert6an0yf" 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;max-height:0px;opacity:0;overflow:hidden;">ZjQcmQRYFpfptBannerEnd</div>
<!-- Email Banner : END -->
<!-- BaNnErBlUrFlE-BoDy-end -->
<html>
<head><!-- BaNnErBlUrFlE-HeAdEr-start -->
<style>
#pfptBannert6an0yf { all: revert !important; display: block !important;
visibility: visible !important; opacity: 1 !important;
background-color: #D0D8DC !important;
max-width: none !important; max-height: none !important }
.pfptPrimaryButtont6an0yf:hover, .pfptPrimaryButtont6an0yf:focus {
background-color: #b4c1c7 !important; }
.pfptPrimaryButtont6an0yf:active {
background-color: #90a4ae !important; }
</style>
<!-- BaNnErBlUrFlE-HeAdEr-end -->
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>Hello mpich community,</p>
<p><br>
</p>
<p>When I try to compile mpich 4.3.0 configured with <span>--with-hcoll=/opt/mellanox/hcoll option, I get a compilation error because the <span>hcoll_do_progress()
<span style="font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols; font-size: 16px;">
function </span>is defined with two arguments in <span>hcoll_init.c but it is called only with one in <span>hcoll_rte.c </span>!</span></span></span></p>
<p><span><span><span><br>
</span></span></span></p>
<p><span><span><span>Here is the error message I get:</span></span></span></p>
<p><span><span><span><br>
</span></span></span></p>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;">
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;">s</span><span style="font-family: Consolas, Courier, monospace;">rc/mpid/common/hcoll/hcoll_rte.c: In function 'progress':</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;">src/mpid/common/hcoll/hcoll_rte.c:58:33: warning: passing argument 1 of 'hcoll_do_progress' makes integer from pointer without a cast [-Wint-conversion]</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> 58 | ret = hcoll_do_progress(&made_progress);</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> | ^~~~~~~~~~~~~~</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> | |</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> | int *</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;">In file included from ./src/mpid/ch4/netmod/include/../ucx/ucx_coll.h:11,</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> from ./src/mpid/ch4/netmod/include/../ucx/netmod_inline.h:15,</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> from ./src/mpid/ch4/netmod/include/netmod_impl.h:1589,</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> from ./src/mpid/ch4/include/mpidch4.h:448,</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> from ./src/mpid/ch4/include/mpidpost.h:10,</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> from ./src/include/mpiimpl.h:232,</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> from src/mpid/common/hcoll/hcoll_rte.c:6:</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;">./src/mpid/ch4/netmod/include/../ucx/../../../common/hcoll/hcoll.h:42:27: note: expected 'int' but argument is of type 'int *'</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> 42 | int hcoll_do_progress(int vci, int *made_progress);</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> | ~~~~^~~</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;">src/mpid/common/hcoll/hcoll_rte.c:58:15: error: too few arguments to function 'hcoll_do_progress'</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> 58 | ret = hcoll_do_progress(&made_progress);</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> | ^~~~~~~~~~~~~~~~~</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;">In file included from ./src/mpid/ch4/netmod/include/../ucx/ucx_coll.h:11,</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> from ./src/mpid/ch4/netmod/include/../ucx/netmod_inline.h:15,</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> from ./src/mpid/ch4/netmod/include/netmod_impl.h:1589,</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> from ./src/mpid/ch4/include/mpidch4.h:448,</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> from ./src/mpid/ch4/include/mpidpost.h:10,</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> from ./src/include/mpiimpl.h:232,</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> from src/mpid/common/hcoll/hcoll_rte.c:6:</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;">./src/mpid/ch4/netmod/include/../ucx/../../../common/hcoll/hcoll.h:42:5: note: declared here</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> 42 | int hcoll_do_progress(int vci, int *made_progress);</span></div>
</span></span></span>
<p></p>
<p><span><span><span></p>
<div><span style="font-family: Consolas, Courier, monospace;"> | ^~~~~~~~~~~~~~~~~</span></div>
</span></span></span>
<p></p>
</blockquote>
<p><span><span><span></p>
<div><br>
</div>
<br>
</span></span></span>
<p></p>
<p>I use to compile mpich <span style="font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols; font-size: 16px;">versions 3.4,x, 4.1.x, and 4.2.x</span> configured with
this option (--with-hcoll=) in the past without any problems. It looks like some recent changes in the related files introduced a problem that slip into 4.3.0 and makes compilation impossible.<br>
<br>
Could it be fixed ? Or could the --with-hcoll option be removed if it is no longer relevant (I guess that if we use ch4:ucx, ucx may itself use hcoll internally to optimize collective operations when running on hierarchical environment) ?<br>
<br>
Here are some details:<br>
<br>
</p>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;">
<p>arch: x86_64</p>
<p>OS: RHEL 9.5 (up to date except kernel)</p>
<p>MOFED: <span>24.10-2.1.8.0-LTS</span></p>
<p><span>hcoll: <span>4.8.3230-1.2410068</span></span></p>
<p><span><span>ucx: <span>1.18.0-1.2410068</span></span></span></p>
<p><span><span><span><br>
</span></span></span></p>
</blockquote>
The complete configuration line:<br>
<br>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><span style="font-family: Consolas, Courier, monospace;">./configure --with-device=ch4:ucx --with-hcoll=/opt/mellanox/hcoll --prefix=/work/software/x86_64/mpich/mpich-ch4_ucx-4.3.0 --with-xpmem
--enable-g=none --enable-fast=all --enable-romio --with-file-system=ufs+nfs+lustre --enable-shared --enable-sharedlibs=gcc</span><br>
</blockquote>
<br>
Thanks,<br>
<br>
Martin Audet</div>
</body>
</html>