Hi Jerry, Cray EX HPC with slingshot 10 (NOT 11!!!) is basically a Mellanox IB cluster using RoCE rather than IB. For this sort of interconnect, don’t use OFI, use UCX. Although UCX 1.12.0 is getting a bit old. I’d recommend 1.14.0 or newer, esp. if your system has nodes with GPUs.
CXI is the name of the vendor libfabric provider and doesn’t function on this system – unless parts of the cluster are wired up with slingshot 11 (nics). For the node where you ran lspci this doesn’t seem to be the case. You’d see something like this if you had Slingshot 11: 27:00.0 Ethernet controller: Cray Inc Device 0501 (rev 02) a8:00.0 Ethernet controller: Cray Inc Device 0501 (rev 02) For your first question, you want to double check the final output from a configure run and make sure that the summary says UCX support is enabled. Please see https://docs.open-mpi.org/en/v5.0.x/tuning-apps/networking/ib-and-roce.html for answers to some of your other questions below. Note there are some RoCE specific items in the doc page you may want to check. The PMIx slingshot config option is getting you confused. Just ignore it for this network. I’d suggest tweaking your configure options to the following: --enable-mpi-fortran \ --enable-shared \ --with-pic \ --with-ofi=no \ --with-ucx=/project/app/ucx/1.12.1 \ --with-pmix=internal \ --with-pbs \ --with-tm=/opt/pbs \ --with-singularity=/project/app/singularity/3.10.3 \ --with-lustre=/usr \ CC=icc \ FC=ifort \ CXX=icpc This will end up with a build of Open MPI that uses UCX – which is what you want. You are getting the error message from the btl framework because the OFI BTL can’t find a suitable/workable OFI provider. If you really need to build with OFI support, add –with-ofi, but set the following MCA parameters (here shown using env. Variables): export OMPI_MCA_pml=ucx export OMPI_MCA_osc=ucx export OMPI_MCA_btl=^ofi when running applications built using this Open MPI installation. Hope this helps, Howard From: users <users-boun...@lists.open-mpi.org> on behalf of Jianyu Liu via users <users@lists.open-mpi.org> Reply-To: Open MPI Users <users@lists.open-mpi.org> Date: Wednesday, May 8, 2024 at 7:41 PM To: "users@lists.open-mpi.org" <users@lists.open-mpi.org> Cc: Jianyu Liu <jerry_...@msn.com> Subject: [EXTERNAL] [OMPI users] Confusions on building and running OpenMPI over Slingshot 10 on Cray EX HPC Hi, I'm trying to build an OpenMPI 5.0.3 environment on the Cray EX HPC with Slingshot 10 support. General speaking, there were error messages while building OpenMPI, and make check also didn't report any failure. While tested OpenMPI Env. with a simple 'hello world' MPI Fortran codes, it threw out these error messages and caught signal 11 with libucs if specified '-mca btl ofi'. No components were able to be opened in the btl framework. This typically means that either no components of this type were installed, or none of the installed components can be loaded. Sometimes this means that shared libraries required by these components are unable to be found/loaded Host: x3001c027b4n0 Framework: btl ----------------------------------------------------------------------------------------------------- Caught signal 11 ( Segmentation fault: address not mapped to object at address (nil)) /project/app/ucx/1.12.1/lib/libucs.so.0 (ucs_handle_error+0x134) This made me confused and not sure if got OpenMPI built with full Slingshot 10 support successfully and run over Slingshot 10 properly. Here are the building env. on Cray EX HPC with SLES 15 SP3 OpenMPI 5.0.3 + Intel 2022.0.2 + UCX 1.12.1 + libfabric 1.11.0.4.125-SSHOT2.0.0 + mlnx-ofed 5.5.1 Here are my configurations --enable-mpi-fortran \ --enable-shared \ --with-pic \ --with-ofi=/opt/cray/libfabric/1.11.0.4.125 \ --with-ofi-libdir=/opt/cray/libfabric/1.11.0.4.125/lib64 \ --with-ucx=/project/app/ucx/1.12.1 \ --with-pmix=internal \ --with-slingshot \ --with-pbs \ --with-tm=/opt/pbs \ --with-singularity=/project/app/singularity/3.10.3 \ --with-lustre=/usr \ CC=icc \ FC=ifort \ CXX=icpc Here are output of lspci on computing nodes 03:00.0 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5] 24:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01) Here are what I'm confusing 1. After the configuration completed, the pmix summary didn't tell slingshot support is turned on for the transports 2. config.log didn't show any checking info. against slingshot while conducting mca checking, just showed --with-slingshot was passed as an argument. 3. Further looked into the configure script, the only script which will check Slingshot support is 3rd-party/openmix/src/mca/pnet/sshot/configure.m4, but looked like it's never called, as config.log didn't show any checking info. against appropriate dependencies, such as CXI, JANSSON, and I believed that CXI library was not installed on the machine. Here are my questions 1. How it could tell OpenMPI was built with full Slingshot 10 support successfully based on ompi_info and ucx_info or some other info. ? 2. Is CXI library just an optional package for OpenMPI getting Slingshot 10 support ? 3. Which sort of mpirun arguments, like cma, pmi, etc., could be used to make sure MPI application running over Slingshot 10 properly ? 4. Which sort of OpenMPI parameters could be used for double checking runtime info. over Slingshot 10 ? 5. Which sort of OpenMPI parameters could be used for tunning up performance over Slingshot 10 ? Also attached output of 'ompi_info -a', 'ucx_info -d' for your reference. Appreciating your time and comments. Regards Jerry