Model graph size doubling after partitioning for arm compute library

Hello,

I have been using the ACL backend for TVM and have observed the following, without partitioning the graph for ACL, the size of graph.so is around 17MB for MobilenetV1, however, after partitioning it is around 33MB. Have been observing the same for other models as well. I doubt the weights are being serialized twice in case of partitioning with ACL. Is this a known issue & is there a quick workaround for the same? If yes, please suggest it.

Thanks.

@dmitriy-arm might know.

@ramana-arm @dmitriy-arm any suggestions on this?

Thanks.

I think @dmitriy-arm has been looking into this.

Sorry for being non-verbosive. Yes there is an issue in current implementation of Graph runtime led to local and external parameters being serialized twice (in graph runtime module and then in metadata module). There is proposed fix for this [BYOC] Exclude external params from Graph Runtime by d-smirnov · Pull Request #7564 · apache/tvm · GitHub

Be aware that it fixes only one side of the complex issue, though.

1 Like

@dmitriy-arm Thanks for the reply :+1: