• Lei Wang's avatar
    [Language] Introduce `T.annotate_restrict_buffers` (#1428) · 0814b171
    Lei Wang authored
    * [Enhancement] Introduce non-restrict parameter support in code generation
    
    - Added a new PrimFunc-level attribute `tl.non_restrict_params` to specify handle Vars that should not be marked with the restrict qualifier during code generation.
    - Updated `CodeGenTileLangCPP`, `CodeGenTileLangCUDA`, and `CodeGenTileLangHIP` to handle non-restrict parameters, ensuring proper treatment of overlapping buffer aliases.
    - Implemented a new annotation function `annotate_restrict_buffers` to facilitate the marking of buffer parameters as non-restrict.
    - Enhanced the `SplitHostDevice` transformation to propagate non-restrict parameters from host to device functions.
    - Added a new transform function `HoistNonRestrictParams` to manage non-restrict parameters effectively.
    
    * [Enhancement] Improve HoistNonRestrictParams transformation
    
    - Updated the HoistNonRestrictParams function to recursively collect all `tl.non_restrict_params` annotations from nested blocks, ...
    0814b171
test_cuda_restrict_codegen.py 1.48 KB