Changeset 16253


Ignore:
Timestamp:
09/25/13 10:33:00 (11 years ago)
Author:
Eric.Larour
Message:

CHG: fixed bug that was precluding default parameter setting in the autodiff class

Location:
issm/trunk-jpl/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/IoModel.cpp

    r16251 r16253  
    6363         *and prevent them from being erased during successive calls to iomodel->FetchConstants, iomodel->FetchData and
    6464         iomodel->DeleteData:*/
     65        this->StartTrace();
    6566        this->DeclareIndependents();
    6667
     
    223224}
    224225/*}}}*/
     226/*FUNCTION IoModel::StartTrace{{{*/
     227void IoModel::StartTrace(void){
     228
     229        int  i;
     230        bool autodiff = false;
     231        bool keep=false;
     232        IssmDouble gcTriggerRatio;
     233        IssmDouble gcTriggerMaxSize;
     234        IssmDouble obufsize;
     235        IssmDouble lbufsize;
     236        IssmDouble cbufsize;
     237        IssmDouble tbufsize;
     238
     239        int my_rank=IssmComm::GetRank();
     240
     241        this->FetchData(&autodiff,AutodiffIsautodiffEnum);
     242        if(autodiff){
     243
     244                #ifdef _HAVE_ADOLC_
     245                /*Retrieve parameters: */
     246                this->FetchData(&keep,AutodiffKeepEnum);
     247                this->FetchData(&gcTriggerRatio,AutodiffGcTriggerRatioEnum);
     248                this->FetchData(&gcTriggerMaxSize,AutodiffGcTriggerMaxSizeEnum);
     249                this->FetchData(&obufsize,AutodiffObufsizeEnum);
     250                this->FetchData(&lbufsize,AutodiffLbufsizeEnum);
     251                this->FetchData(&cbufsize,AutodiffCbufsizeEnum);
     252                this->FetchData(&tbufsize,AutodiffTbufsizeEnum);
     253
     254                /*Set garbage collection parameters: */
     255                setStoreManagerControl(reCast<size_t>(gcTriggerRatio),reCast<size_t>(gcTriggerMaxSize));
     256
     257                /*Set buffer sizes: */
     258
     259                /*Start trace: */
     260                if(keep)trace_on(my_rank,1);
     261                else    trace_on(my_rank);
     262                #endif
     263        }
     264
     265}
     266/*}}}*/
    225267/*FUNCTION IoModel::DeclareIndependents{{{*/
    226268void IoModel::DeclareIndependents(void){
     
    234276
    235277        int  dummy;
    236         bool keep=false;
    237 
    238         int my_rank=IssmComm::GetRank();
    239278
    240279        /*Initialize array detecting whether data[i] is an independent AD mode variable: */
     
    246285
    247286                #ifdef _HAVE_ADOLC_
    248                 /*Start trace*/
    249                 this->FetchData(&keep,AutodiffKeepEnum);
    250                 setStoreManagerControl(2.0,2000000);
    251                 if(keep)trace_on(my_rank,1);
    252                 else    trace_on(my_rank);
    253 
    254287                /*build dataset made of independent objects:*/
    255288                this->independent_objects=new DataSet();
  • issm/trunk-jpl/src/c/classes/IoModel.h

    r16209 r16253  
    8383                FILE*       SetFilePointerToData(int* pcode,int* pvector_type, int data_enum);
    8484                void        DeclareIndependents(void);
     85                void        StartTrace(void);
    8586                void        FetchIndependent(int dependent_enum);
    8687};
  • issm/trunk-jpl/src/m/classes/autodiff.m

    r16252 r16253  
    2929                end % }}}
    3030                function obj = setdefaultparameters(obj) % {{{
    31                 obufsize     = 524288;
    32                 lbufsize     = 524288;
    33                 cbufsize     = 524288;
    34                 tbufsize     = 524288;
    35                 gcTriggerRatio=2.0;
    36                 gcTriggerMaxSize=2000000;
     31                obj.obufsize     = 524288;
     32                obj.lbufsize     = 524288;
     33                obj.cbufsize     = 524288;
     34                obj.tbufsize     = 524288;
     35                obj.gcTriggerRatio=2.0;
     36                obj.gcTriggerMaxSize=2000000;
    3737                end % }}}
    3838                function md = checkconsistency(obj,md,solution,analyses) % {{{
Note: See TracChangeset for help on using the changeset viewer.