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]          phone: 713-348-5179

_______________________________________________
Dyninst-api mailing list
[email protected]
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

Reply via email to