From 03f90b057601736b39790310788d90e2fad2b40a Mon Sep 17 00:00:00 2001 From: nbeams <246972+nbeams@users.noreply.github.com> Date: Fri, 26 Aug 2022 14:51:59 -0600 Subject: [PATCH 1/2] magma: free memory used in loading jit kernel source --- backends/magma/ceed-magma-basis.c | 5 +++++ backends/magma/ceed-magma-restriction.c | 3 +++ 2 files changed, 8 insertions(+) diff --git a/backends/magma/ceed-magma-basis.c b/backends/magma/ceed-magma-basis.c index db6b416aed..4c55667a34 100644 --- a/backends/magma/ceed-magma-basis.c +++ b/backends/magma/ceed-magma-basis.c @@ -757,6 +757,11 @@ int CeedBasisCreateTensorH1_Magma(CeedInt dim, CeedInt P1d, CeedInt Q1d, data->queue); ierr = CeedBasisSetData(basis, impl); CeedChkBackend(ierr); + ierr = CeedFree(&magma_common_path); CeedChkBackend(ierr); + ierr = CeedFree(&interp_path); CeedChkBackend(ierr); + ierr = CeedFree(&grad_path); CeedChkBackend(ierr); + ierr = CeedFree(&weight_path); CeedChkBackend(ierr); + ierr = CeedFree(&basis_kernel_source); CeedChkBackend(ierr); return CEED_ERROR_SUCCESS; } diff --git a/backends/magma/ceed-magma-restriction.c b/backends/magma/ceed-magma-restriction.c index 9594136d4f..5e8ab8ef7b 100644 --- a/backends/magma/ceed-magma-restriction.c +++ b/backends/magma/ceed-magma-restriction.c @@ -320,6 +320,9 @@ int CeedElemRestrictionCreate_Magma(CeedMemType mtype, CeedCopyMode cmode, CeedChkBackend(ierr); ierr = CeedSetBackendFunction(ceed, "ElemRestriction", r, "Destroy", CeedElemRestrictionDestroy_Magma); CeedChkBackend(ierr); + ierr = CeedFree(&restriction_kernel_path); CeedChkBackend(ierr); + ierr = CeedFree(&restriction_kernel_source); CeedChkBackend(ierr); + return CEED_ERROR_SUCCESS; } From 9af6094f9f99f1ca948443f1aa78c35663c305b0 Mon Sep 17 00:00:00 2001 From: nbeams <246972+nbeams@users.noreply.github.com> Date: Fri, 26 Aug 2022 15:56:37 -0600 Subject: [PATCH 2/2] JIT: free relative path variable after getting absolute path --- interface/ceed-jit-tools.c | 1 + 1 file changed, 1 insertion(+) diff --git a/interface/ceed-jit-tools.c b/interface/ceed-jit-tools.c index 00f6097a6c..46664dd90d 100644 --- a/interface/ceed-jit-tools.c +++ b/interface/ceed-jit-tools.c @@ -171,6 +171,7 @@ int CeedLoadSourceToInitializedBuffer(Ceed ceed, memcpy(ceed_relative_path, &next_left_chevron[1], ceed_relative_path_length); ierr = CeedGetJitAbsolutePath(ceed, ceed_relative_path, &include_source_path); CeedChk(ierr); + ierr = CeedFree(&ceed_relative_path); CeedChk(ierr); } // ---- Recursive call to load source to buffer CeedDebug256(ceed, 2, "JiT Including: %s\n", include_source_path);