• Y
    Add the CUDA kernel for beam_search op (#15020) · 3008fa12
    Yiqun Liu 提交于
    * Refine the beam_search op and test.
    
    * A basic CUDA implementation of beam_search for small batch_size.
    
    * Implement CUDA kernel for beam_search_op.
    
    * Use multiple CUDA threads in the same block to select the top beam.
    
    * Update the python api of beam_search op.
    
    * Enable extend function in CPU kernel of beam_search op.
    
    * Unify the CUDA codes.
    test=develop
    
    * Unify the CPU kernel of beam_search op.
    
    * Ensure the seletced items of beam_search_op's CPU kernel sorted by scores.
    
    * Update the description of beam_search in API.spec.
    
    * Enable the use of CUDA kernel in beam_search op.
    
    * Exclude the beam_search's CUDA unittest when there is no CUDA gpu, and delete some debuging statements.
    test=develop
    
    * Follow comments.
    test=develop
    
    * Call the CPU kernel for beam_search op when batch_size > 4.
    test=develop
    
    * Remove the except of is_empty op in PrepareData.
    test=develop
    3008fa12
beam_search.cu 14.5 KB