-
Notifications
You must be signed in to change notification settings - Fork 902
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
Refactor cuIO timestamp processing with cuda::std::chrono
#9278
Refactor cuIO timestamp processing with cuda::std::chrono
#9278
Conversation
Codecov Report
@@ Coverage Diff @@
## branch-21.12 #9278 +/- ##
================================================
- Coverage 10.79% 10.76% -0.03%
================================================
Files 116 116
Lines 18869 18996 +127
================================================
+ Hits 2036 2045 +9
- Misses 16833 16951 +118
Continue to review full report at Codecov.
|
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.
Need to look further into datime.cuh
, but PR looks great so far. So much removed code!
Can you please run the gbenchmarks for the affected components? I'm curious if there's any improvement.
rerun tests |
If there is any performance impact, CSV/JSON should be affected the most. Based on the above results, the new implementation with |
The benchmark results may indeed be noise since the code changed in this PR is not actually used in the CSV writer. |
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.
LGTM, just a minor nitpick.
duration_ns d_ns{nanos}; | ||
d_ns += duration_s{seconds}; |
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.
nanos
and seconds
should be constructed as duration_ns
and duration_s
to begin with.
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.
This is possible for seconds
but seconds will do some manual timezone operations by invoking get_gmt_offset()
. My plan was to leave it for the timezone refactoring. As for nanos
, there are bitwise operations like "shift" and "and" which are not supported by duration type.
Added some minor refactoring of the timezone code. Tried to replace
I guess the error is related to #7314 since it constantly shows up in my local system but can pass all CI checks in a PR. The rest of the timezone refactoring would be in a follow-up PR whenever |
@gpucibot merge |
This fixes some compile warnings recently added in #9299 and #9278. These warnings are turned into errors on a libcudf Debug build. Authors: - David Wendt (https://github.com/davidwendt) Approvers: - Devavret Makkar (https://github.com/devavret) - Vyas Ramasubramani (https://github.com/vyasr) URL: #9360
Closes #6674.
This PR refactors cuIO timestamp processing with
cuda::std::chrono
. It gets rid of hard-coded conversions of different time units and simplifies related operations.