diff --git a/taichi/program/program.cpp b/taichi/program/program.cpp index 2eb7c053d5c93..6245839772d45 100644 --- a/taichi/program/program.cpp +++ b/taichi/program/program.cpp @@ -381,6 +381,9 @@ uint64 Program::fetch_result_uint64(int i) { } void Program::finalize() { + if (finalized_) { + return; + } synchronize(); TI_TRACE("Program finalizing..."); @@ -498,8 +501,7 @@ void Program::fill_ndarray_fast(Ndarray *ndarray, uint32_t val) { } Program::~Program() { - if (!finalized_) - finalize(); + finalize(); } std::unique_ptr Program::make_aot_module_builder(Arch arch) {