Skip to content

[VL] Support GPU shuffle reader #10933

@jinchengchenghh

Description

@jinchengchenghh

Description

  1. Move the lock from WholeStageResultIterator constructor to shuffle reader, the threads can prepare the first batch in advance, now it is a small batch, for GPU, it will produce a big batch with bytes 1GB
  2. Implement the decompression, convert buffer to cudf table, resize batch in GPU
  3. Then the threads can prepare read buffer from file
  4. The other thread to notify needs to fetch more data than batch size, prepare batches for GPU to process, reserve the bytes from pool, if reserve successfully, CPU threads fetch data in the background, save the batches in Vector.
  5. The waited CPU may can do the decompression and resize batch and wait GPU to fetch.

Gluten version

None

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions