Changeset 16253
- Timestamp:
- 09/25/13 10:33:00 (11 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/IoModel.cpp
r16251 r16253 63 63 *and prevent them from being erased during successive calls to iomodel->FetchConstants, iomodel->FetchData and 64 64 iomodel->DeleteData:*/ 65 this->StartTrace(); 65 66 this->DeclareIndependents(); 66 67 … … 223 224 } 224 225 /*}}}*/ 226 /*FUNCTION IoModel::StartTrace{{{*/ 227 void 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 /*}}}*/ 225 267 /*FUNCTION IoModel::DeclareIndependents{{{*/ 226 268 void IoModel::DeclareIndependents(void){ … … 234 276 235 277 int dummy; 236 bool keep=false;237 238 int my_rank=IssmComm::GetRank();239 278 240 279 /*Initialize array detecting whether data[i] is an independent AD mode variable: */ … … 246 285 247 286 #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 254 287 /*build dataset made of independent objects:*/ 255 288 this->independent_objects=new DataSet(); -
issm/trunk-jpl/src/c/classes/IoModel.h
r16209 r16253 83 83 FILE* SetFilePointerToData(int* pcode,int* pvector_type, int data_enum); 84 84 void DeclareIndependents(void); 85 void StartTrace(void); 85 86 void FetchIndependent(int dependent_enum); 86 87 }; -
issm/trunk-jpl/src/m/classes/autodiff.m
r16252 r16253 29 29 end % }}} 30 30 function obj = setdefaultparameters(obj) % {{{ 31 ob ufsize = 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; 37 37 end % }}} 38 38 function md = checkconsistency(obj,md,solution,analyses) % {{{
Note:
See TracChangeset
for help on using the changeset viewer.