-
deserializeStream() will acquire gpu semaphore,but why serializeStream() do not release the gpu semaphore explicitly ? I think release the gpu semaphore explicitly will help increase cpu concurrenty for loading the next batches. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
That is because it is already released. We should document it better and if you want to turn this into a documentation bug I would be happy to fix it. The shuffle code went through a number of iterations to get it to be performant. Sadly there is a lot of coupling between the serializer and the shuffle code and we need to document it better. is the only code in the serializer that works with data still on the GPU. That code is likely dead code. I believe I left it in there just as a precaution, but it should be cleaned up a lot. I hope that this helps. |
Beta Was this translation helpful? Give feedback.
That is because it is already released.
spark-rapids/sql-plugin/src/main/scala/com/nvidia/spark/rapids/GpuPartitioning.scala
Line 85 in 1a2b17e
We should document it better and if you want to turn this into a documentation bug I would be happy to fix it. The shuffle code went through a number of iterations to get it to be performant. Sadly there is a lot of coupling between the serializer and the shuffle code and we need to document it better.
spark-rapids/sql-plugin/src/main/scala/com/nvidia/spark/rapids/GpuColumnarBatchSerializer.scala
Lines 73 to 76 in 1a2b17e