Hello all, I have a sample code from tvm offical site below. I want to build thousands of operators in the same process. But i found there is memory leak and the memory usage is increasing. I thought after the build of one operator was finished, the corresponding resource should be freed. Do you have any advice? Can i free memory manually after building a operator? Thanks a lot in advance!
Sample code(env: tvm 0.6, ubuntu 18.04, python3.7.5): ` import os, psutil import tvm def tvm_build(): n = 2 A = tvm.placeholder((n,), name='A') B = tvm.placeholder((n,), name='B') C = tvm.compute(A.shape, lambda *i: A(*i) + B(*i), name='C') s = tvm.create_schedule(C.op) m = tvm.lower(s, [A, B, C], name="test_add") rt_mod = tvm.build(m, target="llvm") def main(): process = psutil.Process(os.getpid()) for i in range(0, 1000): tvm_build() print('i='+str(i)+', Used Memory:', process.memory_info().rss / 1024 / 1024, 'MB') ` --- [Visit Topic](https://discuss.tvm.apache.org/t/memory-leak-how-to-free-memory-manually-after-building-a-operator-for-long-running-building-case/8037/1) to respond. You are receiving this because you enabled mailing list mode. To unsubscribe from these emails, [click here](https://discuss.tvm.apache.org/email/unsubscribe/b9bf25f4ab4641f21b5b1dd142870a090bda4438a7a75197e6b3955a60a3643f).