yuyangJin / PerFlow

Domain-specific framework for performance analysis of parallel programs
11 stars 2 forks source link

What the contents of pag.gml, mpi_mpag.gml, output.json, pag_to_mpag.json, and mpag_perf_data.json #1

Open idoOwhd opened 1 year ago

idoOwhd commented 1 year ago

PerFlow is a great tool and we are interested in code implementation. However, we encountered some missing files while trying to reproduce it, such as: pag.gml, mpi_mpag.gml, output.json, pag_to_mpag.json, and mpag_perf_data.json. Although we have supplemented these files, we are unaware of their contents. We would greatly appreciate it if you could provide a few simple examples.

yuyangJin commented 1 year ago

Glad to see that you are interested in PerFlow and that you have successfully installed it. For your question:

  1. Several tiny examples have been provided under the example/ directory. For example, for the imbalance_analysis example, you can replace cg.B.x with your locally compiled parallel programs, then modify bin="..." and cmd="..." in imbalance_analysis.py with the correct ones. It is recommended to put the binary and this Python script in the same directory for initial testing.
  2. Currently PerFlow realizes the interactions between end-users and parallel program performance, but we have to admit that the current code implementation of PerFlow is not elegant enough, and the data structure of pag is not efficient enough, we must refine the code in the future.
guanchuli commented 1 year ago

i have a problem,can you help me? OS:Rocky Linux 8.7

...... [ 94%] Building CXX object CMakeFiles/baguatool.dir/src/core/graph_perf_data.cpp.o [ 94%] Building CXX object CMakeFiles/baguatool.dir/src/core/bagua_type.cpp.o [ 94%] Building CXX object CMakeFiles/baguatool.dir/src/core/perf_data.cpp.o [ 94%] Building CXX object CMakeFiles/baguatool.dir/src/core/pcg.cpp.o [ 94%] Building CXX object CMakeFiles/baguatool.dir/src/core/cfg.cpp.o [ 94%] Building CXX object CMakeFiles/baguatool.dir/src/collector/dynamic/papi/sampler.cpp.o [ 94%] Building CXX object CMakeFiles/baguatool.dir/src/collector/dynamic/shared_obj_analysis.cpp.o In file included from /share/software_source_code/perflow/PerFlow/src/collector/dynamic/papi/sampler.cpp:1: /share/software_source_code/perflow/PerFlow/src/collector/dynamic/papi/sampler.h:12:10: fatal error: libunwind.h: No such file or directory

include

      ^~~~~~~~~~~~~

compilation terminated. make[2]: [CMakeFiles/baguatool.dir/build.make:230: CMakeFiles/baguatool.dir/src/collector/dynamic/papi/sampler.cpp.o] Error 1 make[2]: Waiting for unfinished jobs.... In file included from /share/software_source_code/perflow/PerFlow/include/common/utils.h:18, from /share/software_source_code/perflow/PerFlow/include/common/utils.cpp:1: /share/software_source_code/perflow/PerFlow/third_party/dbg/dbg.h:39:76: note: #pragma message: WARNING: the 'dbg.h' header is included in your code base

pragma message("WARNING: the 'dbg.h' header is included in your code base")

                                                                        ^

/share/software_source_code/perflow/PerFlow/include/common/utils.cpp: In function ‘void split(char, const char, std::vector<std::__cxx11::basic_string >&)’: /share/software_source_code/perflow/PerFlow/include/common/utils.cpp:55:7: warning: unused variable ‘n’ [-Wunused-variable] int n = 0; ^ /share/software_source_code/perflow/PerFlow/src/core/pg.cpp: In member function ‘void baguatool::core::ProgramGraph::VertexTraversal(void ()(baguatool::core::ProgramGraph, int, void), void)’: /share/software_source_code/perflow/PerFlow/src/core/pg.cpp:21:49: warning: ‘igraph_error_t igraph_vs_seq(igraph_vs_t*, igraph_integer_t, igraph_integer_t)’ is deprecated [-Wdeprecated-declarations] igraph_vs_seq(&vs, 0, this->cur_vertex_num - 1); ^ In file included from /share/software_source_code/perflow/PerFlow/third_party/igraph/include/igraph.h:52, from /share/software_source_code/perflow/PerFlow/src/core/graph.h:4, ......

yuyangJin commented 1 year ago

It seems like you need to install a libunwind library, v1.3.1 is recommended.