Hi John, I can answer the part about ParseAPI. You can definitely use the CFGFactory to construct your ParseAPI CFG, which should contains a bunch of ParseAPI::Function, ParseAPI::Block, and ParseAPI::Edge objects. Then, you can invoke loop analysis through Function objects. You won't have the SymtabCodeSource or CodeObject, but they are not needed for loop analysis.
Thanks, --Xiaozhu On Tue, May 29, 2018 at 2:53 PM, John Mellor-Crummey <[email protected]> wrote: > We are interested in building ParseAPI CFGs for a GPU binary given a > representation of the CFG for a GPU binary in as a graph in dot format. We > are currently parsing the GPU CFG for each function out of dot, understand > its blocks, edges, and calls. From scanning through the documentation in > ParseAPI, it is not clear whether it would be feasible to simply use the > CFG factory interface to supply graph elements to Dyninst to construct a > CFG. If we did so, would it then be possible to use the Loop Analyzer to > analyze this CFG? (At present, we have a copy of the LoopAnalyzer code that > analyzes our lightweight internal representation of the dot graph, but it > would be better for HPCToolkit’s hpcstruct to just work with one > representation - Dyninst CFGs for binaries.) > > Also, can I push line map information into dyninst from the outside? Line > maps for optimized GPU binaries can’t be read from libdw. If I write my own > reader, can I push information associating address ranges with source file > and line? There is no information about compilation units, which is what > makes NVIDIA’s cubin line maps unreadable with libdw. If I were to push > information in from the outside about source lines and files, would I have > to fake a compilation unit, or could I just put it in the default module? > > We would appreciate any advice. If is easier to have a conversation than > sending a long email, let me know. > -- > John Mellor-Crummey Professor > Dept of Computer Science Rice University > email: [email protected] <[email protected]> phone: 713-348-5179 > > > _______________________________________________ > Dyninst-api mailing list > [email protected] > https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api >
_______________________________________________ Dyninst-api mailing list [email protected] https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api
