-
Notifications
You must be signed in to change notification settings - Fork 242
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
Change order of initialization so pinned pool is available for spill framework buffers #11889
Change order of initialization so pinned pool is available for spill framework buffers #11889
Conversation
build |
CI failures due to tests initializing too many times. Before my change we had all of this code under a "make sure Rmm is not initialized already" block. |
…framework buffers Signed-off-by: Alessandro Bellina <[email protected]>
Signed-off-by: Alessandro Bellina <[email protected]>
7b5c05b
to
6c1178e
Compare
build |
tests/src/test/scala/com/nvidia/spark/rapids/BatchWithPartitionDataSuite.scala
Show resolved
Hide resolved
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, was able to confirm we see spill going to pinned mem
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 super happy with the TestUtils.withGpuSparkSession
needing to be removed. I'm not sure how to tell when reviewing something if it should be there or not. But that said it is minor.
I don't know how to explain it other than we shouldn't start spark sessions when we don't need to submit spark tasks during a test. I think it's fairly straightforward: if your suite is all about spark tasks submitted via SQL or spark APIs, then yeah by all means set up a session.. but if your tests are really unit tests, don't use the spark session to backwards initialize singletons, just set them up directly. |
While collecting traces for #11888, I realized that the bounce buffers I am using are pageable, which is pretty bad. If I change the order of initialization, the pinned pool can be initialized before the spill framework, so we can then use pinned memory for the d2h and h2d bounced copies.
Renamed init functions slightly, as their names are not matching their function currently.