"...linux/git@developer.sourcefind.cn:OpenDAS/vision.git" did not exist on "4774fe3afc61b40a56244e9411a7c3e64ae8147f"
  • Lei Wang's avatar
    [Refactor] Support python reflection for tile operators (#783) · 3cfefc8e
    Lei Wang authored
    * Implement Fill operator and related reflection methods in TileLang
    
    - Added Fill operator implementation in `fill.cc` and `fill.h` for element-wise filling of buffers.
    - Introduced reflection methods for Fill, AtomicAdd, Copy, Conv2DIm2Col, FinalizeReducer, Gemm, and Parallel operators to enhance introspection capabilities.
    - Updated relevant files to register reflection methods and ensure proper initialization in static blocks.
    - Removed outdated comments and unnecessary code in various operator files to improve clarity and maintainability.
    - Added new Python bindings for the Fill operator in `tilelang/ir/fill.py` and updated the module imports accordingly.
    
    * Refactor operator reflection methods and improve code clarity
    
    - Updated reflection methods for AtomicAdd, Copy, FinalizeReducer, Gemm, and Parallel operators to enhance readability by using `empty()` instead of size checks.
    - Consolidated static initialization blocks for various operators to a single line for improved consistency.
    - Cleaned up whitespace and formatting in multiple files to adhere to coding standards and improve maintainability.
    - Added new Python bindings for operators in the `tilelang/ir` module, ensuring proper registration and organization of imports.
    
    * Refactor GEMM and AtomicAdd operations for improved clarity
    
    - Updated the `GetArchInt` function in `atomic_add.cc` to use `std::string` and `std::stoi` for better readability and type safety.
    - Removed unnecessary variables and comments in `gemm_sp.cc` and `gemm.cc` to streamline the `ComputeWarpPartition` method.
    - Cleaned up the `layout_reducer.cc` file by removing unused variable declarations, enhancing code clarity.
    - Added import for the `ir` module in `tilelang/__init__.py` to ensure proper organization of module imports.
    
    * Remove deprecated operator files from the tilelang IR module
    
    - Deleted files for Fill, AtomicAdd, Copy, Gemm, GemmSP, FinalizeReducer, Parallel, Reduce, and Region operators to streamline the codebase.
    - This cleanup enhances maintainability by removing unused code and improving overall organization of the module.
    
    * Refactor imports in tilelang IR module for improved organization
    
    - Updated import statements in `tilelang/ir.py` to reflect changes in the TVM library structure, enhancing clarity and maintainability of the codebase.
    
    * lint fix
    
    * Refactor GEMM and GEMM-SP operations to enhance clarity and maintainability
    
    - Updated the `Gemm` and `GemmSP` classes to utilize a new `GemmWarpPolicy` object for warp partitioning, improving encapsulation and readability.
    - Removed deprecated `ComputeWarpPartition` methods and replaced them with calls to the new policy object, streamlining the code.
    - Cleaned up comments and unnecessary code in `gemm.cc`, `gemm_sp.cc`, and related header files to enhance overall clarity.
    - Introduced a new `GemmWarpPolicyNode` class to manage warp policy attributes and methods, facilitating better organization of related functionalities.
    - Updated reflection methods to include the new policy structure, ensuring proper registration and introspection capabilities.
    
    * Refactor Reduce operation to utilize ReduceType class for improved clarity and maintainability
    
    - Replaced multiple conditional checks for reduce types with a single ReduceType object, simplifying the code structure.
    - Introduced a new ReduceTypeNode class to encapsulate reduce type logic and methods, enhancing organization.
    - Updated MakeInitValue, MakeReduce, and Lower methods to leverage the new ReduceType class, improving readability.
    - Added Python bindings for the ReduceType class in tilelang IR module to ensure proper registration and usability.
    
    * comment
    
    * Refactor operator header files for improved readability
    
    - Cleaned up formatting and whitespace in `atomic_add.h`, `copy.h`, `fill.h`, `reduce.cc`, and `reduce.h` to enhance code clarity.
    - Consolidated comments and adjusted line breaks for better organization and maintainability across multiple operator definitions.
    
    * Refactor MakeReduce method in ReduceOpNode for clarity
    
    - Updated the parameter name in the MakeReduce method from `rhs` to `b` and assigned it to `rhs` for improved readability.
    - This change enhances the clarity of the method's purpose and aligns with the overall refactoring efforts in the Reduce operation.
    
    * Update Reduce operation type checks for consistency
    
    - Changed string comparisons for reduce types in the MakeReduce method from "abs_sum" to "abssum" and "abs_max" to "absmax" for uniformity.
    - This adjustment enhances the clarity and consistency of the reduce type handling in the codebase.
    3cfefc8e
parallel.cc 16.8 KB