Changeset 16253 for issm/trunk-jpl/src/c/classes/IoModel.cpp
- Timestamp:
- 09/25/13 10:33:00 (11 years ago)
- File:
-
- 1 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();
Note:
See TracChangeset
for help on using the changeset viewer.