Skip to content

Conversation

@winter-wang
Copy link
Contributor

@winter-wang winter-wang commented Jun 3, 2021

PR types

New features

PR changes

Others

Describe

我们在pass 增强专项中,对相关op的属性进行了分类,分成了def和extra两类。分类相关详见pr #33098 。分类的结果是以一大堆以op名字命名的pbtxt文件进行存储。(@[email protected])。
这部分@[email protected] 文件会在pass执行的时候进行读取,为了维持动态库的简单性,必须将这部分pbtxt文件打包到动态库内部。
本pr提供的功能是:在编译时,将所有的@[email protected]文件拷贝到一个cc文件中,将其内容转换成一个静态字符串对象,方便动态库在pass执行时直接解析。

  1. 编译时,在执行 cmake ..语句时,会读取所有@[email protected]文件,并写入到相关文件,会增加一定的耗时。
  2. 当增加了 con2d.pbtxt 、 elementwise_add.pbtxt、fc.pbtxt、 hard_swish.pbtxt、 leaky_relu,pbtxt、mul.pbtxt、relu.pbtxt、relu6.pbtxt、swish.pbtxt、while.pbtxt共10个pbtxt文件时, 会造成动态库体积增加 8312个字节(104388296Byte->104396608Byte)。在可以接受范围之内。
  3. 动态库被加载时,会初始化该静态字符对象,因此,会额外增加一个静态字符串初始化时间。
  4. 目前对动态库时间和空间影响都不大,但需要注意的是,随着@[email protected]文件的增多,该影响会逐步加大。

@paddle-bot-old
Copy link

paddle-bot-old bot commented Jun 3, 2021

Thanks for your contribution!
Please wait for the result of CI firstly. See Paddle CI Manual for details.

@Shixiaowei02 Shixiaowei02 merged commit d19bceb into PaddlePaddle:develop Jun 7, 2021
@winter-wang winter-wang changed the title pack the @[email protected] into library. test=develop pack the @[email protected] into library. Jun 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants