-
Notifications
You must be signed in to change notification settings - Fork 908
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
Example to build custom application and link to libcudf #7671
Conversation
I don't think we should skip CI. I think we should have simple examples like this inside of the libcudf repo and we should CI them so that we catch breakages. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for creating this. Mostly just minor style / simplification suggestions.
One other thing: I think you should prepare for future libcudf examples, this is not likely to be the only one. So instead of putting it in |
Co-authored-by: Mark Harris <[email protected]>
Codecov Report
@@ Coverage Diff @@
## branch-21.08 #7671 +/- ##
===============================================
Coverage ? 82.97%
===============================================
Files ? 109
Lines ? 18214
Branches ? 0
===============================================
Hits ? 15113
Misses ? 3101
Partials ? 0 Continue to review full report at Codecov.
|
@ajschmidt8 already approved for ops, but IMO we should get CI working on this example before it is merged... |
A few updates:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice example. Thanks.
# Add libcudf examples build scripts down below | ||
|
||
# Parallelism control | ||
PARALLEL_LEVEL=${PARALLEL_LEVEL:-4} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not an expert in cmake/shell thus I'm not sure if this will result in -j 4
or -j -4
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems to be the same as here:
Line 17 in 0b9f178
export PARALLEL_LEVEL=${PARALLEL_LEVEL:-4} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I got it! We will have 4
, not -4
so everything will be fine. The shell syntax is a bit confusing:
${parameter:-word}
If parameter is unset or null, the expansion of word is substituted.
Otherwise, the value of parameter is substituted.
Ref: https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html
@gpucibot merge |
rerun tests |
@harrism should this rebase to |
Oh, OK. I thought it was fine to go in 21.06. |
rerun tests |
Would this also close issue #2547 ? |
rerun tests |
Looks like the failed CI builds are due to mis-configuration of paths in |
Thanks to @robertmaynard pointing out, that the examples should not build from This requires auto bumping the version from Requires re-review from @rapidsai/ops-codeowners |
Oops. I forgot to block merging. @robertmaynard can you still look at the CMake file and raise an issue for it? |
In my mind examples should have as little 'noise' so that readers can easily find Refactor the
This has multiple improvements:
Drop the Drop the Drop the
The I think we can clean up the logic around downloading and using CPM, it currently has some logic that really only makes sense for 'production' projects. Plus it is using an old CPM version fetched from the old project URL. I think we can simplify the cpm logic to be:
Total end result would be the CMakeLists.txt looking like:
|
) Follow up of #7671 This PR addresses review comments from #7671 (comment), modernizing the CMakeFile in libcudf basic example. This PR also updates build tests for examples to make sure they are tested after both regular/project flash code path. Authors: - Michael Wang (https://github.com/isVoid) Approvers: - Robert Maynard (https://github.com/robertmaynard) - Ray Douglass (https://github.com/raydouglass) - Mark Harris (https://github.com/harrism) URL: #8568
closes #4824, also closes #2547
This PR introduces a basic libcudf example to demonstrate building custom application and link to libcudf using CMake. Libcudf examples now lives under
cpp/examples
folder. There's aexamples/build.sh
that manages building and linking examples. Besides, this PR adds examples into gpuCI tests to make sure examples still builds as the main package evolves.