Description
I have an build refactor removing distutils
and numpy.disutils
and only uses setuptools
that successfully builds our wheels and passes tests. I think it is best to move to a pure setuptools
implementation first, because there are still some lingering issues meson
. For example, no editable wheels with meson
: 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:
icc: remark #10441: The Intel(R) C++ Compiler Classic (ICC) is deprecated and will be removed from product release in the second half of 2023. The Intel(R) oneAPI DPC++/C++ Compiler (ICX) is the recommended compiler moving forward. Please transition to use this compiler. Use '-diag-disable=10441' to disable this message.
Should we support continue to support and build with the Intel compiler?