Skip to content

Commit a0bb2e9

Browse files
Merge branch 'dev'
2 parents 617e912 + d130134 commit a0bb2e9

2 files changed

Lines changed: 177 additions & 1 deletion

File tree

README.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ pip install . -v
259259
**Linux:**
260260
- Targets manylinux2014 (glibc ≥ 2.17)
261261
- Requires `libcholmod` from SuiteSparse
262-
- OpenMP detected automatically; builds without it if unavailable
262+
- OpenMP runtime defaults to `AUTO` (compiler-selected); override with `-C cmake.define.LIBACTIONET_OPENMP_RUNTIME=GNU|INTEL|LLVM|OFF`
263263

264264
### Troubleshooting
265265

@@ -273,6 +273,16 @@ Armadillo headers are bundled in `libactionet/include/extern`. If CMake can't fi
273273

274274
**OpenMP warnings:**
275275
OpenMP is optional. If unavailable, the package builds with single-threaded C++ code (you can still use `n_threads` parameter via Python's multiprocessing).
276+
If using MKL (e.g., conda numpy), avoid mixed OpenMP runtimes by setting `MKL_THREADING_LAYER=GNU` when using GNU OpenMP, or by selecting Intel OpenMP with an Intel toolchain.
277+
278+
Examples:
279+
```bash
280+
# Force GNU OpenMP and align MKL
281+
MKL_THREADING_LAYER=GNU pip install . -C cmake.define.LIBACTIONET_OPENMP_RUNTIME=GNU
282+
283+
# Use Intel OpenMP (Intel/IntelLLVM toolchains)
284+
pip install . -C cmake.define.LIBACTIONET_OPENMP_RUNTIME=INTEL
285+
```
276286

277287
**Linking errors on macOS:**
278288
Ensure Xcode Command Line Tools are installed and up to date.

tests/test_fast.ipynb

Lines changed: 166 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)