我有一個使用PETSc的應用程序。對於(近)生產運行中的性能監控,我想記錄少量的各種值。一些由PETSc生成,一些不是。從PetscEventPerfInfo中讀取數值
現在我想知道:如何將PetscEventPerfInfo
中的時間值寫入我的文件?我找不到關於PetscEventPerfInfo
的文檔條目,所以我不確定我是否應該以任何方式觸摸它。
然而,我發現下面的方法基本上揭示PetscEventPerfInfo
結構:
PetscErrorCode EventPerfInfoClear(PetscEventPerfInfo *eventInfo)
{
PetscFunctionBegin;
eventInfo->id = -1;
eventInfo->active = PETSC_TRUE;
eventInfo->visible = PETSC_TRUE;
eventInfo->depth = 0;
eventInfo->count = 0;
eventInfo->flops = 0.0;
eventInfo->flops2 = 0.0;
eventInfo->flopsTmp = 0.0;
eventInfo->time = 0.0;
eventInfo->time2 = 0.0;
eventInfo->timeTmp = 0.0;
eventInfo->numMessages = 0.0;
eventInfo->messageLength = 0.0;
eventInfo->numReductions = 0.0;
PetscFunctionReturn(0);
}
我有一個強烈的猜測,這只是eventInfo->time
,但我絕對不知道它是否保存閱讀它奧德是否有一種「官方」方式來讀取該結構。
那麼,如果我只是想將時間值讀入變量以備後用,我該怎麼辦?