dmlc / xgboost

Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Dask, Flink and DataFlow
https://xgboost.readthedocs.io/en/stable/
Apache License 2.0
26.24k stars 8.72k forks source link

[CI] Run CI for 32-bit arch #9035

Closed hcho3 closed 1 year ago

hcho3 commented 1 year ago

Related: #8964

Idea: Use Docker to run i386 image. TVM is using this approach: https://ci.tlcpack.ai/blue/organizations/jenkins/tvm-i386/detail/unity-merge-backup-04-13/1/pipeline

barracuda156 commented 1 year ago

@hcho3 BTW, is it possible to set up CI for ppc on Linux?

hcho3 commented 1 year ago

Sorry, I am afraid not. I don't have ready access to ppc.

barracuda156 commented 1 year ago

Qemu can emulate ppc, which certainly works for Linux: https://blog.r-project.org/2020/05/29/testing-r-on-emulated-platforms (I have no idea if that can be used with CI though.)

trivialfis commented 1 year ago

I think cran has dropped 32 bit test

barracuda156 commented 1 year ago

I think cran has dropped 32 bit test

CRAN is useless in this sense, I was referring to GH CI.

trivialfis commented 1 year ago

This basically removes any remaining motivation for us to maintain a 32 bit compatible code base.

barracuda156 commented 1 year ago

This basically removes any remaining motivation for us to maintain a 32 bit compatible code base.

@trivialfis Please excuse me, I did not imply that the developers should use Qemu, I just mentioned it is possible. I think you have Linux i386 CI already, that is more than enough.

trivialfis commented 1 year ago

Unfortunately, we do not have a 32-bit CI. Apologies for the misunderstanding, I should reply to the PPC test request.

I don't think the core contributors here will be managing a qemu environment ourselves at the moment. If Github action provides an easy (and cheap) way to do it, I'm happy to give it a shot for some simple tests.

Do note that if you use Python, the packages from conda are quite outdated for PPC.

barracuda156 commented 1 year ago

@trivialfis If I understand correctly, 32-bit CI is available: https://github.com/kokkos/kokkos/commit/e5490e1e11ece175ec16588c5a3062ece2fe1b33#diff-5ba24b49194839f21a65bdf8a8dc5649df41e9c086b69c560c2ed3a788920061 This is not ppc, but i386 is good enough for 32-bit testing.

hcho3 commented 1 year ago

Thanks for the pointer. I'll get back to setting up i386 CI eventually. For now I have other priorities.

hcho3 commented 1 year ago

After careful discussion with core developers, we decided that we will not set up a 32-bit CI. Furthermore, apart from pull request #8964 (which we will try to merge), we will not make further effort to support 32-bit systems, including i386 and ppc. Now that CRAN no longer requires a passing test with 32-bit systems, we no longer have motivation for maintaining 32-bit compatible code base. XGBoost only has a few active developers, and we would like to focus our limited time and attention on higher-value areas of the project.

barracuda156 commented 1 year ago

I see. Well, hope, that PR you have referred to above gets merged, and at least on purpose 32-bit support is not removed.

Once #8964 is merged, I will see if I can improve tests results on my end (we – myself and in Macports – can test both ppc and i386).