From 86f644979cacb45ab7a3a57d31375361592bc1f3 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sun, 20 Oct 2019 00:18:28 -0500 Subject: [PATCH] Updated pppm --- lib/gpu/lal_pppm.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/lib/gpu/lal_pppm.cpp b/lib/gpu/lal_pppm.cpp index 8b5012f312..84d6c16e14 100644 --- a/lib/gpu/lal_pppm.cpp +++ b/lib/gpu/lal_pppm.cpp @@ -35,12 +35,17 @@ PPPMT::PPPM() : _allocated(false), _compiled(false), _max_bytes(0) { device=&global_device; ans=new Answer(); + pppm_program=NULL; } template PPPMT::~PPPM() { clear(0.0); delete ans; + k_particle_map.clear(); + k_make_rho.clear(); + k_interp.clear(); + if (pppm_program) delete pppm_program; } template @@ -192,14 +197,6 @@ void PPPMT::clear(const double cpu_time) { *ans,_max_bytes+_max_an_bytes,cpu_time, _cpu_idle_time,screen); - if (_compiled) { - k_particle_map.clear(); - k_make_rho.clear(); - k_interp.clear(); - delete pppm_program; - _compiled=false; - } - time_in.clear(); time_out.clear(); time_map.clear(); @@ -207,7 +204,6 @@ void PPPMT::clear(const double cpu_time) { time_interp.clear(); ans->clear(); - device->clear(); } // --------------------------------------------------------------------------- @@ -380,6 +376,7 @@ void PPPMT::compile_kernels(UCL_Device &dev) { ucl_template_name()+"4"; #endif + if (pppm_program) delete pppm_program; pppm_program=new UCL_Program(dev); #ifdef USE_OPENCL