scikit-learn-intelex icon indicating copy to clipboard operation
scikit-learn-intelex copied to clipboard

[enhancement] enable dpnp/dpctl testing in test_patching

Open icfaust opened this issue 1 year ago • 1 comments

Description

So far test_patching has been limited to cpu algorithms, this PR will enable get_dataframes_and_queues to test gpu support if available.

Changes proposed in this pull request:

  • remove _numpy only in pytest.mark.parameterize("dataframe,queue")

Tasks

  • [x] Remove numpy check
  • [ ] Find failure points in public CI
  • [ ] Find failure points in private CI
  • [ ] Correct issues
  • [ ] Pass public CI
  • [ ] Pass private CI

icfaust avatar Feb 21 '24 09:02 icfaust

625 test case failures in sklearn1.2 :(

icfaust avatar Feb 21 '24 11:02 icfaust

423 fails remaining

icfaust avatar Mar 12 '24 10:03 icfaust

/azp run CI

icfaust avatar Mar 12 '24 11:03 icfaust

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Mar 12 '24 11:03 azure-pipelines[bot]

/intelci: run

icfaust avatar Mar 13 '24 09:03 icfaust

/intelci: run

icfaust avatar Mar 20 '24 14:03 icfaust

Looks like pairwise distances and kmeans on gpu have issues, ontop of the score method on classification (as shown on private CI).

icfaust avatar Mar 21 '24 05:03 icfaust

8 remaining

icfaust avatar Mar 22 '24 06:03 icfaust

/intelci: run

icfaust avatar Mar 22 '24 11:03 icfaust

/azp run CI

icfaust avatar Mar 22 '24 11:03 icfaust

/intelci: run

icfaust avatar Mar 22 '24 15:03 icfaust

/intelci: run

icfaust avatar Mar 22 '24 17:03 icfaust

/intelci: run

icfaust avatar Mar 25 '24 09:03 icfaust

I am going to continue looking at why Kmeans is passing sklearn conformance testing on gpu, but otherwise this PR is ready to go

icfaust avatar Mar 25 '24 10:03 icfaust

Currently investigating KMeans gpu passing private CI, I have forced an assert for gpu offloading in daal4py's _device_offload when the object is KMeans: https://github.com/intel/scikit-learn-intelex/compare/main...icfaust:scikit-learn-intelex:test/test_kmeans?expand=1 and I am running private CI against this repo: http://intel-ci.intel.com/eeeaa574-a9c3-f1c6-a2b8-a4bf010d0e2e

icfaust avatar Mar 25 '24 12:03 icfaust

Currently investigating KMeans gpu passing private CI, I have forced an assert for gpu offloading in daal4py's _device_offload when the object is KMeans: https://github.com/intel/scikit-learn-intelex/compare/main...icfaust:scikit-learn-intelex:test/test_kmeans?expand=1 and I am running private CI against this repo: http://intel-ci.intel.com/eeeaa574-a9c3-f1c6-a2b8-a4bf010d0e2e

All GPU testing for kmeans is currently deactivated. This PR will continue that, but extra care will need to go into the KMeans out of preview because of this. If this PR is merged before KMeans out of preview, it will become a prerequisite to reintroduce this testing.

icfaust avatar Mar 25 '24 13:03 icfaust

/intelci: run

icfaust avatar Mar 25 '24 14:03 icfaust

CI looks close but some test_stacking fail - could be related to predict/_predict in rf classifier?

ethanglaser avatar Mar 27 '24 18:03 ethanglaser

Looking very nice so far

ethanglaser avatar Mar 27 '24 18:03 ethanglaser

/intelci: run

icfaust avatar Apr 02 '24 10:04 icfaust

/intelci: run

icfaust avatar Apr 02 '24 21:04 icfaust

/intelci: run

icfaust avatar Apr 04 '24 04:04 icfaust

I have slightly modified CI to see where long duration tests exist in sklearnex with dpnp/dpctl support on linux. This will be reverted later.

icfaust avatar Apr 04 '24 06:04 icfaust

Things to fix in the future:

LogisticRegression's decision_function is costing ~1 minute of CI time, but will run through. Why isn't this the case also for linear regression? All regression estimators score method, which uses r2 score and is likely not working well with array_api namespaces for sklearn < 1.2 (will run through but is slow).

https://dev.azure.com/daal/daal4py/_build/results?buildId=33073&view=logs&j=517fe804-fa30-5dc2-1413-330699242c05&t=517fe804-fa30-5dc2-1413-330699242c05

icfaust avatar Apr 04 '24 07:04 icfaust

/intelci: run

icfaust avatar Apr 04 '24 08:04 icfaust

/intelci: run

icfaust avatar Apr 04 '24 12:04 icfaust

/intelci: run

icfaust avatar Apr 04 '24 19:04 icfaust

/azp run CI

icfaust avatar Apr 05 '24 09:04 icfaust

Azure Pipelines successfully started running 1 pipeline(s).

azure-pipelines[bot] avatar Apr 05 '24 09:04 azure-pipelines[bot]

/intelci: run

icfaust avatar Apr 05 '24 09:04 icfaust