From 94d11fc3bd55a752101cbcea83f87a266c7641c3 Mon Sep 17 00:00:00 2001 From: Francesco Lannutti Date: Wed, 2 May 2018 23:13:03 +0200 Subject: [PATCH] Fix the CAP model for 'alter' command --- src/spicelib/devices/cap/capparam.c | 15 +++++++++++++++ src/spicelib/devices/cap/capsetup.c | 2 ++ 2 files changed, 17 insertions(+) diff --git a/src/spicelib/devices/cap/capparam.c b/src/spicelib/devices/cap/capparam.c index 003ebc2bb..f13342c3e 100644 --- a/src/spicelib/devices/cap/capparam.c +++ b/src/spicelib/devices/cap/capparam.c @@ -80,5 +80,20 @@ CAPparam(int param, IFvalue *value, GENinstance *inst, IFvalue *select) default: return(E_BADPARM); } + +#ifdef USE_CUSPICE + int status ; + CAPmodel *model ; + + model = CAPmodPtr(here) ; + if (model->gen.GENinitCUDA) { + model->CAPparamCPU.CAPcapacArray[here->gen.GENcudaIndex] = here->CAPcapac; + model->CAPparamCPU.CAPmArray[here->gen.GENcudaIndex] = here->CAPm; + status = cuCAPtemp ((GENmodel *)model); + if (status != 0) + return E_NOMEM; + } +#endif + return(OK); } diff --git a/src/spicelib/devices/cap/capsetup.c b/src/spicelib/devices/cap/capsetup.c index e6cb971a4..41642a7fc 100644 --- a/src/spicelib/devices/cap/capsetup.c +++ b/src/spicelib/devices/cap/capsetup.c @@ -204,6 +204,8 @@ do { if((here->ptr = SMPmakeElt(matrix, here->first, here->second)) == NULL){\ status = cuCAPsetup ((GENmodel *)model) ; if (status != 0) return (E_NOMEM) ; + + model->gen.GENinitCUDA = 1 ; } #endif