Skip to content

Switch from MS-MPI to Intel MPI for the Windows installer#1056

Draft
bruno-at-orange wants to merge 15 commits into
mainfrom
intel-mpi
Draft

Switch from MS-MPI to Intel MPI for the Windows installer#1056
bruno-at-orange wants to merge 15 commits into
mainfrom
intel-mpi

Conversation

@bruno-at-orange

@bruno-at-orange bruno-at-orange commented Jun 10, 2026

Copy link
Copy Markdown
Member

Windows Packaging (NSIS installer)

  • khiops.nsi — Major rewrite: bundles Intel MPI binaries (mpiexec.exe, impi.dll, hydra_*) directly in the installer instead of relying on MS-MPI as a prerequisite
  • Removed the prerequisites page (KhiopsPrerequisiteFunc.nsh, KhiopsGlobals.nsh) — Intel MPI is now bundled, no separate install needed
  • Added Intel MPI third-party license files (Intel-MPI-LICENSE.txt, README.txt)
  • Removed _khiopsgetprocnumber.exe (no longer needed)

Windows Scripts

  • khiops_env.cmd.in — Updated to discover/use Intel MPI's mpiexec instead of MS-MPI
  • set_proc_number.cmd — Updated for Intel MPI

CMake / Build

  • CMakeLists.txt — Updated MPI detection logic for Windows
  • get_mpi_implementation.cmake — Updated to detect Intel MPI
  • install.cmake, packaging.cmake — Updated install rules to include Intel MPI binaries

CI / GitHub Actions

  • action build-khiops — Build with Intel MPI on Windows
  • action test-khiops-install — Updated install checks for Intel MPI (hardened against cmd quote parsing issues)
  • pack-nsis.yml — Updated to supply INTEL_MPI_BIN_DIR and INTEL_MPI_LICENSES_DIR to the NSIS build
  • run-standard-tests.yml — Switch to Intel MPI

Tests

  • kht_test.py — Added Intel MPI detection so non-regression tests correctly identify the MPI implementation

@bruno-at-orange bruno-at-orange changed the title Switch from MS-MPI to **Intel MPI** for the Windows installer Switch from MS-MPI to Intel MPI for the Windows installer Jun 15, 2026
On Windows with Intel MPI, khiops_env.cmd does not need _khiopsgetprocnumber.
Khiops can be launched with `mpiexec MODL.exe` without the `-n` flag.
We use the same pattern in install.cmake for windows and Linux.
- fix khiops_env when proc number <=2
- fix broken path in khiops_env.in
- replace fragile Windows %VAR% string comparisons with if defined / if not defined
- avoid parsing failures when MPI command contains quoted paths with spaces
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant