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

[DOC] Document which algorithms expect Fortran vs. C contiguous data #5929

Open
beckernick opened this issue Jun 13, 2024 · 1 comment
Open
Labels
doc Documentation

Comments

@beckernick
Copy link
Member

For many algorithms, whether the input data is C or Fortran contiguous determines whether an expensive memory copy needs to be made. While this seems innocuous, it can have significant UX implications because it's not well understood by most users and, when it rears its head, it's not obvious based on errors.

We should document this.

@beckernick beckernick added feature request New feature or request ? - Needs Triage Need team to review and classify doc Documentation and removed feature request New feature or request labels Jun 13, 2024
@beckernick beckernick changed the title [FEA] Document which algorithms expect Fortran vs. C contiguous data [DOC] Document which algorithms expect Fortran vs. C contiguous data Jun 13, 2024
@beckernick beckernick removed the ? - Needs Triage Need team to review and classify label Jun 13, 2024
@viclafargue
Copy link
Contributor

Opened a PR that should inform users when a possibly useless copy is performed. As stated here, data on host (Numpy arrays and Pandas dataframes) will be copied over to device anyways, cuDF dataframes are deepcopied too and cuDF series are 1D and thus not affected by the issue. Then only cuda array interface compliant arrays (and numba arrays) can be copied only because of data order/contiguousness change. This change should allow the user to be informed.

If the user is informed through logging, is it necessary to also document it? If so, should we add the expected data order/contiguousness on the documentation of each function parameter providing data everywhere in the entire library? What should we do when function parameters are left undocumented (many occurrences)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc Documentation
Projects
None yet
Development

No branches or pull requests

2 participants