-
-
Notifications
You must be signed in to change notification settings - Fork 25.8k
Should we continue to support compiler=intelem? #24525
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Specifying To the question of supporting custom compilers, I'd be fine with making it simple at first and then see if we can add support later once our new build system is stable (and if we still find that there's a need for that) Edit: I think it will still be possible to select the compiler through environment variables CC, CXX, ... |
That's great ! |
Been worried about the whole distutils issue. I think this makes sense. Thanks for the work @thomasjpfan |
Adding to the meson-related discussion here, I was recently playing with the editable installs (mesonbuild/meson-python#47) with meson and meson-python and it is nice. Some thoughts: I've also found using meson to be quite useful and fast in developing a scikit-learn compatible package (https://github.com/neurodata/scikit-tree). Some cons are that using meson needs some getting used to, and there are some weird things you can't easily do (like run Python in the same root directory). But one can use spin (https://github.com/scientific-python/spin) to make the developer exp easier. I will say the |
With the recent inclusion of executable examples in the browser using JupyterLite in #25887, I prefer for meson to work with Pyodide before switching over. Currently there is work to get SciPy to build with Pyodide here: pyodide/pyodide#3649 |
Yes, @lesteve was looking into building scikit-image with meson for Pyodide in pyodide/pyodide#3874 which would be more comparable to scikit-learn build-wise. Scipy is another story. |
I am going to close this one. There does not seem there has any demand for this, if this changes we can have a closer look. I guess if someone has any interest with support Intel compilers with the Meson build, my advise would be to create a separate issue. Setting |
Note that Spack has CI pipelines that exercise this. It should work, and otherwise there'll be a report at some point. |
OK great to hear, it seems indeed there is some kind of scikit-learn Spack recipe: https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/py-scikit-learn/package.py |
I have an build refactor removing
distutils
andnumpy.disutils
and only usessetuptools
that successfully builds our wheels and passes tests. I think it is best to move to a puresetuptools
implementation first, because there are still some lingering issuesmeson
. For example, no editable wheels withmeson
: https://github.com/FFY00/meson-python/issues/47.setuptools
does not make it easy to support custom compilers: pypa/setuptools#2806. It is doable, but it requires more complexity. (I have not got the intelem compiler fully working on our CI yet, but it is working locally in Docker).Furthermore, I think our Intel ICC job is not checking the Intel build correctly. Specifically, the following compiles the code correctly with
icc
:scikit-learn/build_tools/azure/install.sh
Line 129 in 681ab94
But a few lines later, we run:
scikit-learn/build_tools/azure/install.sh
Line 141 in 681ab94
which overrides the icc compiled extensions with gcc compiled extensions. One can see that gcc is used in the build logs.
Also in the logs we see that
icc
itself is going to be deprecated:Should we support continue to support and build with the Intel compiler?
CC @jeremiedbb @ogrisel
The text was updated successfully, but these errors were encountered: