• W
    modify static_kernel_pass to support select the kernel according to input type (#2488) · 7ef0e7fe
    Wilber 提交于
    修改了选kernel的逻辑,默认从模型文件中读取出lod_tensor的data type,在static_kernel_pick pass中如果kernel输入输出的类型与读取的data type完全一致,则选择该Kernel的概率增大。
    
    - 增加 从模型文件__model__读取lod_tensor的data type到cpp::vardesc
    
    - program中增加unordered_map<string, type>字段,并在 Program::PrepareWorkspace中对该字段赋值
    
    - 修改了node.h文件,将const Type* 更改为Type*,并在SSAGraph::Build过程中为符合条件的type*赋值
    
    - static_kernel_pick_pass中添加新规则,如果kernel的输入类型输出类型与__model__中存储的类型的一致,则score*=2。
    
    - 支持模型中用到sequence_reverse_float kernel(输入输出均为float)和sequence_reverse_int64 kernel(输入输出均为int64),能够根据输入输出type选kernel
    7ef0e7fe
program.cc 8.8 KB