Skip to content
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

Use array interface for CSC matrix. #8672

Merged
merged 5 commits into from
Feb 4, 2023

Conversation

trivialfis
Copy link
Member

@trivialfis trivialfis commented Jan 13, 2023

Use array interface for CSC matrix and align the interface with CSR and dense.

  • Fix nthread issue in the R package DMatrix.
  • Unify the behavior of handling missing with other inputs.
  • Unify the behavior of handling missing around R, Python, Java, and Scala DMatrix.
  • Expose num_non_missing to the JVM interface.

todos

  • JVM package.
  • Tests
  • Unify the code with CSR.

@trivialfis trivialfis marked this pull request as draft January 14, 2023 21:54
@wbo4958
Copy link
Contributor

wbo4958 commented Jan 16, 2023

May I ask what need to do for JVM packages?

@trivialfis
Copy link
Member Author

For Java/scala bindings, accept missing and nthread parameters for sparse inputs

@trivialfis trivialfis changed the title [WIP] Use array interface for CSC matrix. Use array interface for CSC matrix. Jan 28, 2023
@trivialfis trivialfis marked this pull request as ready for review January 29, 2023 04:43
@trivialfis
Copy link
Member Author

@wbo4958 Would you like to look into the jvm changes when you are available?

@wbo4958
Copy link
Contributor

wbo4958 commented Jan 29, 2023

sure, will do it.

include/xgboost/c_api.h Show resolved Hide resolved
python-package/xgboost/data.py Show resolved Hide resolved
src/c_api/c_api.cc Outdated Show resolved Hide resolved
@wbo4958
Copy link
Contributor

wbo4958 commented Feb 2, 2023

For jvm code, LGTM.

@trivialfis
Copy link
Member Author

@hcho3 Could you please take another look into this PR?

Use array interface for CSC matrix and align the interface with CSR and dense.

- Fix nthread issue in the R package DMatrix.
- Unify the behavior of handling `missing` with other inputs.
- Unify the behavior of handling `missing` around R, Python, Java, and Scala DMatrix.
- Expose `num_non_missing` to the JVM interface.
- Deprecate old CSR and CSC constructors.
@trivialfis trivialfis merged commit c178684 into dmlc:master Feb 4, 2023
@trivialfis trivialfis deleted the csc-array-adapter branch February 4, 2023 17:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants