Lines Matching refs:viewer
13 static PetscErrorCode PetscViewerXMLStartSection(PetscViewer viewer, const char *name, const char *… in PetscViewerXMLStartSection() argument
19 PetscCall(PetscViewerASCIIGetTab(viewer, &XMLSectionDepthPetsc)); in PetscViewerXMLStartSection()
22 PetscCall(PetscViewerASCIIPrintf(viewer, "%*s<%s>\n", 2 * XMLSectionDepth, "", name)); in PetscViewerXMLStartSection()
24 …PetscCall(PetscViewerASCIIPrintf(viewer, "%*s<%s desc=\"%s\">\n", 2 * XMLSectionDepth, "", name, d… in PetscViewerXMLStartSection()
26 PetscCall(PetscViewerASCIIPushTab(viewer)); in PetscViewerXMLStartSection()
31 static PetscErrorCode PetscViewerInitASCII_XML(PetscViewer viewer) in PetscViewerInitASCII_XML() argument
37 PetscCall(PetscObjectGetComm((PetscObject)viewer, &comm)); in PetscViewerInitASCII_XML()
38 PetscCall(PetscViewerASCIIPrintf(viewer, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")); in PetscViewerInitASCII_XML()
40 PetscCall(PetscViewerASCIIPrintf(viewer, "%s\n", PerfScript)); in PetscViewerInitASCII_XML()
41 PetscCall(PetscViewerXMLStartSection(viewer, "root", NULL)); in PetscViewerInitASCII_XML()
45 static PetscErrorCode PetscViewerXMLEndSection(PetscViewer viewer, const char *name) in PetscViewerXMLEndSection() argument
51 PetscCall(PetscViewerASCIIGetTab(viewer, &XMLSectionDepthPetsc)); in PetscViewerXMLEndSection()
53 if (XMLSectionDepth > 0) PetscCall(PetscViewerASCIIPopTab(viewer)); in PetscViewerXMLEndSection()
54 PetscCall(PetscViewerASCIIGetTab(viewer, &XMLSectionDepthPetsc)); in PetscViewerXMLEndSection()
56 PetscCall(PetscViewerASCIIPrintf(viewer, "%*s</%s>\n", 2 * XMLSectionDepth, "", name)); in PetscViewerXMLEndSection()
61 static PetscErrorCode PetscViewerFinalASCII_XML(PetscViewer viewer) in PetscViewerFinalASCII_XML() argument
64 PetscCall(PetscViewerXMLEndSection(viewer, "root")); in PetscViewerFinalASCII_XML()
68 static PetscErrorCode PetscViewerXMLPutString(PetscViewer viewer, const char *name, const char *des… in PetscViewerXMLPutString() argument
74 PetscCall(PetscViewerASCIIGetTab(viewer, &XMLSectionDepthPetsc)); in PetscViewerXMLPutString()
77 …PetscCall(PetscViewerASCIIPrintf(viewer, "%*s<%s>%s</%s>\n", 2 * XMLSectionDepth, "", name, value,… in PetscViewerXMLPutString()
79 …PetscCall(PetscViewerASCIIPrintf(viewer, "%*s<%s desc=\"%s\">%s</%s>\n", 2 * XMLSectionDepth, "", … in PetscViewerXMLPutString()
84 static PetscErrorCode PetscViewerXMLPutInt(PetscViewer viewer, const char *name, const char *desc, … in PetscViewerXMLPutInt() argument
90 PetscCall(PetscViewerASCIIGetTab(viewer, &XMLSectionDepthPetsc)); in PetscViewerXMLPutInt()
93 …PetscCall(PetscViewerASCIIPrintf(viewer, "%*s<%s>%d</%s>\n", 2 * XMLSectionDepth, "", name, value,… in PetscViewerXMLPutInt()
95 …PetscCall(PetscViewerASCIIPrintf(viewer, "%*s<%s desc=\"%s\">%d</%s>\n", 2 * XMLSectionDepth, "", … in PetscViewerXMLPutInt()
100 static PetscErrorCode PetscViewerXMLPutDouble(PetscViewer viewer, const char *name, PetscLogDouble … in PetscViewerXMLPutDouble() argument
107 PetscCall(PetscViewerASCIIGetTab(viewer, &XMLSectionDepthPetsc)); in PetscViewerXMLPutDouble()
110 PetscCall(PetscViewerASCIIPrintf(viewer, buffer, value)); in PetscViewerXMLPutDouble()
114 static PetscErrorCode PetscPrintExeSpecs(PetscViewer viewer) in PetscPrintExeSpecs() argument
122 PetscCallMPI(MPI_Comm_size(PetscObjectComm((PetscObject)viewer), &size)); in PetscPrintExeSpecs()
130 PetscCall(PetscViewerXMLStartSection(viewer, "runspecification", "Run Specification")); in PetscPrintExeSpecs()
131 PetscCall(PetscViewerXMLPutString(viewer, "executable", "Executable", pname)); in PetscPrintExeSpecs()
132 PetscCall(PetscViewerXMLPutString(viewer, "architecture", "Architecture", arch)); in PetscPrintExeSpecs()
133 PetscCall(PetscViewerXMLPutString(viewer, "hostname", "Host", hostname)); in PetscPrintExeSpecs()
134 PetscCall(PetscViewerXMLPutInt(viewer, "nprocesses", "Number of processes", size)); in PetscPrintExeSpecs()
135 PetscCall(PetscViewerXMLPutString(viewer, "user", "Run by user", username)); in PetscPrintExeSpecs()
136 PetscCall(PetscViewerXMLPutString(viewer, "date", "Started at", date)); in PetscPrintExeSpecs()
137 PetscCall(PetscViewerXMLPutString(viewer, "petscrelease", "PETSc Release", version)); in PetscPrintExeSpecs()
153 …if (len) PetscCall(PetscViewerXMLPutString(viewer, "petscbuildoptions", "PETSc build options", bui… in PetscPrintExeSpecs()
154 PetscCall(PetscViewerXMLEndSection(viewer, "runspecification")); in PetscPrintExeSpecs()
158 static PetscErrorCode PetscPrintXMLGlobalPerformanceElement(PetscViewer viewer, const char *name, c… in PetscPrintXMLGlobalPerformanceElement() argument
166 PetscCall(PetscObjectGetComm((PetscObject)viewer, &comm)); in PetscPrintXMLGlobalPerformanceElement()
167 PetscCallMPI(MPI_Comm_size(PetscObjectComm((PetscObject)viewer), &size)); in PetscPrintXMLGlobalPerformanceElement()
179 PetscCall(PetscViewerXMLStartSection(viewer, name, desc)); in PetscPrintXMLGlobalPerformanceElement()
180 PetscCall(PetscViewerXMLPutDouble(viewer, "max", max[0], "%e")); in PetscPrintXMLGlobalPerformanceElement()
181 …PetscCall(PetscViewerXMLPutInt(viewer, "maxrank", "rank at which max was found", (PetscMPIInt)max[… in PetscPrintXMLGlobalPerformanceElement()
182 PetscCall(PetscViewerXMLPutDouble(viewer, "ratio", ratio, "%f")); in PetscPrintXMLGlobalPerformanceElement()
183 if (print_average) PetscCall(PetscViewerXMLPutDouble(viewer, "average", avg, "%e")); in PetscPrintXMLGlobalPerformanceElement()
184 if (print_total) PetscCall(PetscViewerXMLPutDouble(viewer, "total", tot, "%e")); in PetscPrintXMLGlobalPerformanceElement()
185 PetscCall(PetscViewerXMLEndSection(viewer, name)); in PetscPrintXMLGlobalPerformanceElement()
192 static PetscErrorCode PetscPrintGlobalPerformance(PetscViewer viewer, PetscLogDouble locTotalTime, … in PetscPrintGlobalPerformance() argument
203 PetscCall(PetscViewerXMLStartSection(viewer, "globalperformance", "Global performance")); in PetscPrintGlobalPerformance()
206 …PetscCall(PetscPrintXMLGlobalPerformanceElement(viewer, "time", "Time (sec)", locTotalTime, print_… in PetscPrintGlobalPerformance()
210 …PetscCall(PetscPrintXMLGlobalPerformanceElement(viewer, "objects", "Objects", (PetscLogDouble)num_… in PetscPrintGlobalPerformance()
213 …PetscCall(PetscPrintXMLGlobalPerformanceElement(viewer, "mflop", "MFlop", petsc_TotalFlops / 1.0E6… in PetscPrintGlobalPerformance()
218 …PetscCall(PetscPrintXMLGlobalPerformanceElement(viewer, "mflops", "MFlop/sec", flops / 1.0E6, prin… in PetscPrintGlobalPerformance()
222 …if (mem > 0.0) PetscCall(PetscPrintXMLGlobalPerformanceElement(viewer, "memory", "Memory (MiB)", m… in PetscPrintGlobalPerformance()
225 …PetscCall(PetscPrintXMLGlobalPerformanceElement(viewer, "messagetransfers", "MPI Message Transfers… in PetscPrintGlobalPerformance()
229 …PetscCall(PetscPrintXMLGlobalPerformanceElement(viewer, "messagevolume", "MPI Message Volume (MiB)… in PetscPrintGlobalPerformance()
232 …PetscCall(PetscPrintXMLGlobalPerformanceElement(viewer, "reductions", "MPI Reductions", red, print… in PetscPrintGlobalPerformance()
233 PetscCall(PetscViewerXMLEndSection(viewer, "globalperformance")); in PetscPrintGlobalPerformance()
240 static PetscErrorCode PetscPrintXMLNestedLinePerfResults(PetscViewer viewer, const char *name, Pets… in PetscPrintXMLNestedLinePerfResults() argument
250 PetscCall(PetscObjectGetComm((PetscObject)viewer, &comm)); in PetscPrintXMLNestedLinePerfResults()
266 PetscCall(PetscViewerXMLStartSection(viewer, name, NULL)); in PetscPrintXMLNestedLinePerfResults()
268 PetscCall(PetscViewerXMLPutDouble(viewer, "avgvalue", tot / size, "%g")); in PetscPrintXMLNestedLinePerfResults()
269 PetscCall(PetscViewerXMLPutDouble(viewer, "minvalue", minvalue, "%g")); in PetscPrintXMLNestedLinePerfResults()
270 PetscCall(PetscViewerXMLPutDouble(viewer, "maxvalue", maxvalue, "%g")); in PetscPrintXMLNestedLinePerfResults()
271 PetscCall(PetscViewerXMLPutInt(viewer, "minloc", NULL, minLoc)); in PetscPrintXMLNestedLinePerfResults()
272 PetscCall(PetscViewerXMLPutInt(viewer, "maxloc", NULL, maxLoc)); in PetscPrintXMLNestedLinePerfResults()
274 PetscCall(PetscViewerXMLPutDouble(viewer, "value", tot / size, "%g")); in PetscPrintXMLNestedLinePerfResults()
276 PetscCall(PetscViewerXMLEndSection(viewer, name)); in PetscPrintXMLNestedLinePerfResults()
281 static PetscErrorCode PetscLogNestedTreePrintLine(PetscViewer viewer, const PetscEventPerfInfo *per… in PetscLogNestedTreePrintLine() argument
288 PetscCall(PetscObjectGetComm((PetscObject)viewer, &comm)); in PetscLogNestedTreePrintLine()
290 PetscCall(PetscViewerXMLPutString(viewer, "name", NULL, name)); in PetscLogNestedTreePrintLine()
291 …PetscCall(PetscPrintXMLNestedLinePerfResults(viewer, "time", time / totalTime * 100.0, 0, 0, 1.02)… in PetscLogNestedTreePrintLine()
292 …PetscCall(PetscPrintXMLNestedLinePerfResults(viewer, "ncalls", parentCount > 0 ? ((PetscLogDouble)… in PetscLogNestedTreePrintLine()
293 …PetscCall(PetscPrintXMLNestedLinePerfResults(viewer, "mflops", time >= timeMx * 0.001 ? 1e-6 * per… in PetscLogNestedTreePrintLine()
294 …PetscCall(PetscPrintXMLNestedLinePerfResults(viewer, "mbps", time >= timeMx * 0.001 ? perfInfo->me… in PetscLogNestedTreePrintLine()
295 …PetscCall(PetscPrintXMLNestedLinePerfResults(viewer, "nreductsps", time >= timeMx * 0.001 ? perfIn… in PetscLogNestedTreePrintLine()
310 static PetscErrorCode PetscLogNestedTreePrint(PetscViewer viewer, double total_time, double thresho… in PetscLogNestedTreePrint() argument
330 …MPI_IN_PLACE, &child_time, 1, MPIU_PETSCLOGDOUBLE, MPI_MAX, PetscObjectComm((PetscObject)viewer))); in PetscLogNestedTreePrint()
354 …MPI_IN_PLACE, ×[num_children], 2, MPIU_REAL, MPIU_MIN, PetscObjectComm((PetscObject)viewer))); in PetscLogNestedTreePrint()
360 …PetscCall(PetscViewerASCIIPrintf(viewer, "%s %" PetscInt64_FMT "\n", parent_node->name, (PetscInt6… in PetscLogNestedTreePrint()
370 …if (type == PETSC_LOG_NESTED_XML && print_events) PetscCall(PetscViewerXMLStartSection(viewer, "ev… in PetscLogNestedTreePrint()
377 PetscCall(PetscViewerXMLStartSection(viewer, "event", NULL)); in PetscLogNestedTreePrint()
379 PetscCall(PetscLogNestedTreePrintLine(viewer, parent_info, 0, 0, "self", total_time)); in PetscLogNestedTreePrint()
381 …PetscCall(PetscLogNestedTreePrintLine(viewer, &other, other.count, parent_info->count, "other", to… in PetscLogNestedTreePrint()
385 …PetscCall(PetscLogNestedTreePrintLine(viewer, &perf[node], perf[node].count, parent_info->count, b… in PetscLogNestedTreePrint()
386 …PetscCall(PetscLogNestedTreePrint(viewer, total_time, threshold_time, &tree[node], &perf[node], &t… in PetscLogNestedTreePrint()
388 PetscCall(PetscViewerXMLEndSection(viewer, "event")); in PetscLogNestedTreePrint()
390 …PetscCall(PetscLogNestedTreePrint(viewer, total_time, threshold_time, &tree[node], &perf[node], &t… in PetscLogNestedTreePrint()
394 …if (type == PETSC_LOG_NESTED_XML && print_events) PetscCall(PetscViewerXMLEndSection(viewer, "even… in PetscLogNestedTreePrint()
399 static PetscErrorCode PetscLogNestedTreePrintTop(PetscViewer viewer, PetscNestedEventTree *tree, Pe… in PetscLogNestedTreePrintTop() argument
417 PetscCall(PetscViewerXMLStartSection(viewer, "timertree", "Timings tree")); in PetscLogNestedTreePrintTop()
418 PetscCall(PetscViewerXMLPutDouble(viewer, "totaltime", time, "%f")); in PetscLogNestedTreePrintTop()
419 PetscCall(PetscViewerXMLPutDouble(viewer, "timethreshold", threshold, "%f")); in PetscLogNestedTreePrintTop()
422 …PetscCall(PetscLogNestedTreePrint(viewer, time, threshold_time, main_stage, main_stage_perf, tree_… in PetscLogNestedTreePrintTop()
423 if (type == PETSC_LOG_NESTED_XML) PetscCall(PetscViewerXMLEndSection(viewer, "timertree")); in PetscLogNestedTreePrintTop()
427 …ndlerView_Nested_XML(PetscLogHandler_Nested nested, PetscNestedEventTree *tree, PetscViewer viewer) in PetscLogHandlerView_Nested_XML() argument
430 PetscCall(PetscViewerInitASCII_XML(viewer)); in PetscLogHandlerView_Nested_XML()
431 PetscCall(PetscViewerASCIIPrintf(viewer, "<!-- PETSc Performance Summary: -->\n")); in PetscLogHandlerView_Nested_XML()
432 PetscCall(PetscViewerXMLStartSection(viewer, "petscroot", NULL)); in PetscLogHandlerView_Nested_XML()
435 PetscCall(PetscPrintExeSpecs(viewer)); in PetscLogHandlerView_Nested_XML()
443 PetscCall(PetscPrintGlobalPerformance(viewer, locTotalTime, nested->handler)); in PetscLogHandlerView_Nested_XML()
445 PetscCall(PetscLogNestedTreePrintTop(viewer, tree, nested->threshold, PETSC_LOG_NESTED_XML)); in PetscLogHandlerView_Nested_XML()
446 PetscCall(PetscViewerXMLEndSection(viewer, "petscroot")); in PetscLogHandlerView_Nested_XML()
447 PetscCall(PetscViewerFinalASCII_XML(viewer)); in PetscLogHandlerView_Nested_XML()
451 …ew_Nested_Flamegraph(PetscLogHandler_Nested nested, PetscNestedEventTree *tree, PetscViewer viewer) in PetscLogHandlerView_Nested_Flamegraph() argument
454 …PetscCall(PetscLogNestedTreePrintTop(viewer, tree, nested->threshold, PETSC_LOG_NESTED_FLAMEGRAPH)… in PetscLogHandlerView_Nested_Flamegraph()