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

Add TESTING.md and BENCHMARKING.md #672

Merged
merged 8 commits into from
Sep 27, 2022

Conversation

harrism
Copy link
Member

@harrism harrism commented Sep 14, 2022

Description

Contributes to #598. Adds cpp/doc/TESTING.md and cpp/doc/BENCHMARKING.md, the remaining parts of the libcuspatial C++ developer documentation. These documents cover unit testing and unit benchmarking best practices, respectively.

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@harrism harrism added 3 - Ready for Review Ready for review by team doc Documentation non-breaking Non-breaking change labels Sep 14, 2022
@harrism harrism added this to the Developer Documentation milestone Sep 14, 2022
@harrism harrism requested a review from a team as a code owner September 14, 2022 07:55
@harrism harrism self-assigned this Sep 14, 2022
@github-actions github-actions bot added the libcuspatial Relates to the cuSpatial C++ library label Sep 14, 2022
@harrism harrism requested review from thomcom and isVoid and removed request for zhangjianting September 14, 2022 07:55
@harrism harrism changed the title Add testing.md Add TESTING.md and BENCHMARKING.md Sep 14, 2022
cpp/doc/BENCHMARKING.md Outdated Show resolved Hide resolved
cpp/doc/BENCHMARKING.md Show resolved Hide resolved
reaches its saturation bottleneck, whether that bottleneck is bandwidth or computation. Using data
sets larger than this point is generally not helpful, except in specific cases where doing so
exercises different code and can therefore uncover regressions that smaller benchmarks will not
(this should be rare).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do think we should suggest here that benchmarks should only be written for public APIs?

cpp/doc/TESTING.md Outdated Show resolved Hide resolved
cpp/doc/TESTING.md Outdated Show resolved Hide resolved
harrism and others added 2 commits September 15, 2022 07:59
Co-authored-by: H. Thomson Comer <[email protected]>
Co-authored-by: H. Thomson Comer <[email protected]>
Comment on lines 22 to 26
In the interest of improving compile time, whenever possible, test source files should be `.cpp`
files because `nvcc` is slower than `gcc` in compiling host code. Note that `thrust::device_vector`
includes device code, and so must only be used in `.cu` files. `rmm::device_uvector`,
`rmm::device_buffer` and the various `column_wrapper` types described in [Testing](TESTING.md)
can be used in `.cpp` files, and are therefore preferred in test code over `thrust::device_vector`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does using NVBench precludes naming the file as cpp? NVBench header is cuh.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Never thought about that. Asking.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think nvbench is .cu only...

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed this paragraph.

cpp/doc/TESTING.md Show resolved Hide resolved
@harrism
Copy link
Member Author

harrism commented Sep 21, 2022

rerun tests

@harrism harrism removed the request for review from jrhemstad September 27, 2022 07:59
@harrism
Copy link
Member Author

harrism commented Sep 27, 2022

@gpucibot merge

@rapids-bot rapids-bot bot merged commit b68d2ca into rapidsai:branch-22.10 Sep 27, 2022
rapids-bot bot pushed a commit that referenced this pull request Sep 30, 2022
This PR mimics rapidsai/cudf#11475 to add libcuspatial's C++ developer guide to the rendered Doxygen HTML docs. See that PR for detailed discussion.

Contributes to #598 . Closes #235

Note that this PR depends on #672 and #667 so the changed files will include changes from those PRs until they are merged.

Authors:
  - Mark Harris (https://github.com/harrism)

Approvers:
  - H. Thomson Comer (https://github.com/thomcom)
  - Vyas Ramasubramani (https://github.com/vyasr)
  - AJ Schmidt (https://github.com/ajschmidt8)
  - Michael Wang (https://github.com/isVoid)

URL: #673
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3 - Ready for Review Ready for review by team doc Documentation libcuspatial Relates to the cuSpatial C++ library non-breaking Non-breaking change
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants