<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
span.E-MailFormatvorlage17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=DE link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal>hi stijn, <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> i would look into using mellanox ofed with rdma-core<o:p></o:p></p><p class=MsoNormal>I will try the new 5.1 Mellanox OFED in the near future.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> you let pmix do it's job and thus simply start the mpi parts with srun instead of mpirun<o:p></o:p></p><p class=MsoNormal>In this case, the srun command works fine for 'srun -N2 -n2 --mpi=pmix pingpong 100 100', but the IB connection is not used for the communication, only the tcp connection.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The output of 'pmix_info' is:<o:p></o:p></p><p class=MsoNormal>                MCA bfrops: v21 (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA bfrops: v12 (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA bfrops: v20 (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA bfrops: v3 (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA gds: ds12 (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA gds: hash (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA gds: ds21 (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA pdl: pdlopen (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA pif: linux_ipv6 (MCA v2.1.0, API v2.0.0, Component<o:p></o:p></p><p class=MsoNormal>                      v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA pif: posix_ipv4 (MCA v2.1.0, API v2.0.0, Component<o:p></o:p></p><p class=MsoNormal>                      v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA pinstalldirs: env (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA pinstalldirs: config (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA plog: stdfd (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA plog: syslog (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA plog: default (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA pnet: tcp (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA pnet: test (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA preg: native (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA psec: native (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA psec: none (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA psensor: file (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA psensor: heartbeat (MCA v2.1.0, API v1.0.0, Component<o:p></o:p></p><p class=MsoNormal>                      v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA pshmem: mmap (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA ptl: usock (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal>                MCA ptl: tcp (MCA v2.1.0, API v1.0.0, Component v3.1.5)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Isn't there supposed to appear something with ucx?<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks :)<o:p></o:p></p><p class=MsoNormal>max<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> hi max,<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> > I have set: 'UCX_TLS=tcp,self,sm' on the slurmd's.<o:p></o:p></p><p class=MsoNormal>> > Is it better to build slurm without UCX support or should I simply <o:p></o:p></p><p class=MsoNormal>> > install rdma-core?<o:p></o:p></p><p class=MsoNormal>> i would look into using mellanox ofed with rdma-core, as it is what mellanox is shifting towards or has already done (not sure what 4.9 has tbh). or leave the env vars, i think for pmix it's ok unless you have very large clusters (but i'm no expert here).<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> > <o:p></o:p></p><p class=MsoNormal>> > How do I use ucx together with OpenMPI and srun now? <o:p></o:p></p><p class=MsoNormal>> > It works when I set this manually:<o:p></o:p></p><p class=MsoNormal>> > 'mpirun -np 2 -H lsm218,lsm219 --mca pml ucx -x UCX_TLS=rc -x<o:p></o:p></p><p class=MsoNormal>> > UCX_NET_DEVICES=mlx5_0:1 pingpong 1000 1000'.<o:p></o:p></p><p class=MsoNormal>> > But if I put srun before mpirun four tasks will be created, two on <o:p></o:p></p><p class=MsoNormal>> > each node.<o:p></o:p></p><p class=MsoNormal>> you let pmix do it's job and thus simply start the mpi parts with srun instead of mpirun<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> srun pingpong 1000 1000<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> if you must tune UCX (as in: default behaviour is not ok), also set it via env vars. (at least try to use the defaults, it's pretty good i think)<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> (shameless plug: one of my colleagues setup a tech talk with openmpi people wrt pmix, ucx, openmpi etc; see<o:p></o:p></p><p class=MsoNormal>> https://github.com/easybuilders/easybuild/issues/630 for details and link to youtube recording)<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> stijn<o:p></o:p></p><p class=MsoNormal>><o:p> </o:p></p></div></body></html>