出处:合智论文 作者:chesk 时间:2007-10-31 17:52:03
查查看:历史上的今天 中文版 英文版
切线性模式
评价函数集
图2.2 微分代码转换
微分代码转换部分从功能上分为四个部分:词法分析,语义分析,对象复杂性及数据相关分析和微分代码转换。对于一组具有复杂数据相关的程序模式对象,通常需要系统运行两遍才能得到有效而可靠的微分代码。这主要有两方面的考虑:其一,根据对象的复杂性(如最大语句长度、最大变量维数、子过程或函数数目、子过程或函数内最大变量数目等对象特征)选择合适的系统参数以求最优的运行代价;其二,模式内各子过程或函数之间以及一个子过程或函数内往往具有很强的数据相关性,需要事先保存对象的相关信息并且在考虑当前对象的属性之前必须做上下文相关分析。
图2.3 PERIGEE源程序代码 图2.4 DFT系统生成的切线性代码
2.2 微分代码评价
通常,评价一个编译系统的性能有很多方面,如处理速度、结果代码可靠性及质量、出错诊断、可扩展和可维护性等。对于一类自动微分系统来说,由于软件开发人力的局限以及对象模式的复杂多样性,通过自动转换得到的微分模式并非常常是有效而可靠的(即无论是在数学意义上还是在程序逻辑上应与期待的理想结果一致),因而在微分模式被投入实际应用前,往往需要投入一定的人力来对其做严格的分析测试。