"git@developer.sourcefind.cn:Fzc7075/nunchaku.git" did not exist on "7ac37e3ca1c0aabf6a102ee84c0c7a91f5aaed5f"
  • Lei Wang's avatar
    [Refactor] Refactor `Operator` into `TileOperator` and with tvm reflection (#763) · b38bd69e
    Lei Wang authored
    * Refactor operator classes to inherit from TileOperator and update layout inference methods
    
    - Changed base class of several operator classes (AtomicAdd, Copy, Gemm, etc.) from Operator to TileOperator for better alignment with tile operations.
    - Updated InferLayout and Lower methods to use 'override' specifier for clarity and consistency.
    - Adjusted header inclusions to replace "op.h" with "operator.h" across multiple files for improved organization.
    - Added missing layout inference implementations for Fill and Conv2DIm2ColOp.
    - Removed deprecated op.cc and op.h files to streamline the codebase.
    
    * lint fix
    
    * Refactor operator classes to use Node pattern and improve memory management
    
    - Updated several operator classes (AtomicAdd, Copy, Gemm, etc.) to utilize the Node pattern for better memory management and encapsulation.
    - Changed constructors to initialize member variables through a node object, enhancing clarity and reducing direct member access.
    - Updated Clone methods to return TileOperator instances instead of unique pointers, aligning with the new design.
    - Refactored InferLayout and Lower methods to ensure consistency across operator implementations.
    - Adjusted header files to reflect the new class structure and removed deprecated code for a cleaner codebase.
    
    * Enhance Clone methods in AtomicAdd and Copy classes to support parallel operation cloning
    
    - Updated the Clone methods in AtomicAddNode and CopyNode to ensure that the parallel operation (par_op_) is properly cloned when defined, improving the integrity of cloned objects.
    - Refactored the FillNode class to use ParallelOp directly instead of std::make_unique, streamlining the creation of parallel operations.
    - Made minor adjustments in layout inference and other related methods for consistency and clarity.
    
    * Refactor FillNode::Lower method to remove unused global function call
    
    - Eliminated the call to the global function "tl.fill.lower" in the FillNode::Lower method, streamlining the code and improving clarity.
    - Retained the core functionality of the method while enhancing maintainability by reducing unnecessary dependencies.
    b38bd69e
copy.h 8.99 KB