xla
文章平均质量分 54
ACodeDog
小码农一只
展开
-
【xla】五.1、XlaCache命中规则
一、背景cache是个resource类型,里面存放着对于某种输入的优化后的二进制文件。也就是说每种二进制文件都对应着唯一输入参数。二、流程 BuildXlaCompilerArguments 根据XlaCompileOp的输入来构建args列表。 遍历所有input 如果是const类型,则记录const类型的值。 如果是kParameter类型,则记录kParameter的shape和type。 如果是DT原创 2021-10-25 11:34:26 · 229 阅读 · 0 评论 -
【xla】七、【构图阶段】其他pass
所有的Pass:REGISTER_OPTIMIZATION(OptimizationPassRegistry::PRE_PLACEMENT, 26, EncapsulateXlaComputationsPass);--REGISTER_OPTIMIZATION(OptimizationPassRegistry::PRE_PLACEMENT, 25, IntroduceFloatingPointJitterPas原创 2021-10-25 11:32:48 · 335 阅读 · 0 评论 -
【xla】六、【构图阶段】xlaRunOp
xlaRunOp的InputOp是xlaCompileOp。其中xlaCompileOp通过Output向xlaRunOp输入了在XlaExecutableClosureStore中的key。xlaRunOp通过Key找到XlaExecutableClosureStore中的executable。然后通过executable的Run/RunAsync函数执行executable。...原创 2021-10-25 11:31:44 · 176 阅读 · 0 评论 -
【xla】五、【构图阶段】xlaCompileOp
作用:运行时将Function通过XlaCompilationCache编译成Executable,并放入cache中。其中XlaCompilationCache使用了:tensorflow/compiler/tf2xla/xla_compiler.cc下的XlaCompiler::CompileFunction将function转换成Executable。放入Cache流程:XlaCompileOp::ComputeCompileToLocalExecutableXlaComp原创 2021-10-25 11:30:45 · 247 阅读 · 0 评论 -
【xla】四、【构图阶段】BuildXlaOpsPass
作用:将FunctionCall节点换成:XlaCompileAndXlaRun核心流程:扫一遍整个计算图找出所有的FunctionCall节点。对所有的FunctionCall节点调用ReplaceNodeWithXlaCompileAndXlaRun函数。ReplaceNodeWithXlaCompileAndXlaRun: 找到xla的FunctionCall算子。 根据FunctionCall算子的信息(input, function等)构建一个xla_compile原创 2021-10-25 11:29:29 · 254 阅读 · 0 评论 -
【xla】三、【构图阶段】EncapsulateSubgraphsPass
该Pass的run函数主要作用: 定义:rewrite_subgraph function 调用:EncapsulateSubgraphsInFunctions 一、rewrite_subgraph function作用:为子图整理/分类/关联input。二、EncapsulateSubgraphsInFunctions该函数主要构造:encapsulator, 用encapsulator来将graph中被标记的节点划分为一张子图。主要调用了: encapsulator原创 2021-10-25 11:27:56 · 263 阅读 · 0 评论 -
【xla】二、【构图阶段】MarkForCompilationPassImpl
一、主要函数: Initialize() 1433 TF_RETURN_IF_ERROR(RunEdgeContractionLoop()); // 尽量多的收缩节点到cluster内 1434 TF_RETURN_IF_ERROR(CreateClusters()); // 更改图中节点的属性(更改device或打xla标记) 1435 TF_RETURN_IF_ERROR(DumpDebugInfo()); // LOG 相关二、InitializeFind..原创 2021-10-25 11:26:29 · 543 阅读 · 0 评论 -
【XLA】一、【构图阶段】图优化器的注册和执行
一、注册:在tensorflow/compiler/jit/jit_compilation_pass_registration.cc对jit相关的优化器进行统一的注册。举例: REGISTER_OPTIMIZATION(OptimizationPassRegistry::POST_REWRITE_FOR_EXEC, 10, MarkForCompilationPass); 其中POST_REWRITE_FOR_EXEC指阶段。10指该阶段中该OPTIMIZATION第几个被调用。MarkFo原创 2021-10-25 11:24:04 · 440 阅读 · 0 评论