diff --git a/src/spicelib/devices/ind/indparam.c b/src/spicelib/devices/ind/indparam.c index e39584c6f..6d038ce84 100644 --- a/src/spicelib/devices/ind/indparam.c +++ b/src/spicelib/devices/ind/indparam.c @@ -11,6 +11,9 @@ Author: 1985 Thomas L. Quarles #include "ngspice/sperror.h" #include "ngspice/suffix.h" +#ifdef USE_CUSPICE +#include "ngspice/CUSPICE/CUSPICE.h" +#endif /* ARGSUSED */ int @@ -65,5 +68,20 @@ INDparam(int param, IFvalue *value, GENinstance *inst, IFvalue *select) default: return(E_BADPARM); } + +#ifdef USE_CUSPICE + int status ; + INDmodel *model ; + + model = INDmodPtr(here) ; + if (model->gen.GENinitCUDA) { + model->INDparamCPU.INDinductArray[here->gen.GENcudaIndex] = here->INDinduct; + model->INDparamCPU.INDinitCondArray[here->gen.GENcudaIndex] = here->INDinitCond; + status = cuINDtemp ((GENmodel *)model); + if (status != 0) + return E_NOMEM; + } +#endif + return(OK); } diff --git a/src/spicelib/devices/ind/indsetup.c b/src/spicelib/devices/ind/indsetup.c index 6c711ec75..5715550dd 100644 --- a/src/spicelib/devices/ind/indsetup.c +++ b/src/spicelib/devices/ind/indsetup.c @@ -196,6 +196,8 @@ do { if((here->ptr = SMPmakeElt(matrix, here->first, here->second)) == NULL){\ status = cuINDsetup ((GENmodel *)model) ; if (status != 0) return (E_NOMEM) ; + + model->gen.GENinitCUDA = 1 ; } #endif