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

Reply via email to