1. 05 11月, 2021 2 次提交
  2. 04 11月, 2021 1 次提交
  3. 03 11月, 2021 2 次提交
    • Z
      Add FLAGS_allow_cinn_ops & FLAGS_deny_cinn_ops for controlling op types used... · 2479664a
      Zhen Wang 提交于
      Add FLAGS_allow_cinn_ops & FLAGS_deny_cinn_ops for controlling op types used in training with CINN. (#36842)
      
      * Update UT test_parallel_executor_run_cinn.py.
      
      * Add FLAGS_allow_cinn_ops & FLAGS_deny_cinn_ops & FLAGS_cinn_ops_delim.
      
      * Use the custom StringSplit function and remove the FLAGS_cinn_ops_delim flag.
      
      * Add FlagController test.
      
      * Apply lock to the cache_ only in CinnCompiler.
      
      * Add VizGraph & ReadableKey method for CinnCompiler.
      
      * Update the dot style of VizGraph in CinnCompiler.
      2479664a
    • C
      improve CinnLaunchOpKernel implement (#36936) · 0590277a
      CtfGo 提交于
      1. 功能不变,简化CinnLaunchOpKernel实现:将原先直接从Scope获取变量信息的方式改为借助参数ExecutionContext标准接口获取,简化了实现逻辑,相应地也简化了辅助函数的实现,原先cinn_launch_op_helper较为冗余,删除不必要的接口并迁移至cinn_launch_op.cc中定义。
      2. 修复CinnLaunchOp InferShape判断是否有指定输出:HasOutput->HasOutputs
      3. 添加详细的注释和debug信息,方便问题排查和代码维护
      0590277a
  4. 01 11月, 2021 1 次提交
    • C
      add cinn_launch_op for using CINN to optimize graph (#36600) · 0a963ee9
      CtfGo 提交于
      增加CinnLaunchOp,负责执行Cinn子图编译的结果,要点如下:
      1. 在子图划分的BuildCinnPass中,每个子图在原图中会被替换为该CinnLaunchOp,由它来调用Cinn进行子图编译、执行的功能。
      2. CinnLaunchOp的输入/输出即为子图的输入和输出,另外增加`compilation_key`属性,它可由该属性key从全局Cache中获取子图对象、编译结果,该属性由BuildCinnPass在创建Op时进行设置
      3. CinnLaunchOp功能实现的流程为:
              - 从全局Cache中获取子图对象
              - 从全局Cache中获取子图编译结果,未命中cache时进行即时编译
              - 根据编译结果的变量信息(数据类型、shape)初始化运行时数据,分配内存/显存
              - 将运行时数据打包为参数,调用cinn的可执行对象runtime program进行计算
              - 子图运行结果通过参数指针同步到paddle侧的tensor
      0a963ee9