Is it possible yet to do static analysis of code that has offloaded sections? I'm trying to use iforts static analyser by compiling with the following flags:
ifort -g -O3 -fpp -xHost -align -ansi-alias -traceback -mcmodel=medium -openmp -diag-enable sc-concise
However this issues the error:
ifort: command line error: '-static' conflicts with '-mcmodel'
This works only when I add '-no-offload' or when I take away '-mc-model'. In the latter case it creates two inspector reports, but they don't seem to correspond to 1 for MIC and the other for Host. They both report the same things... Can anybody clarify these two things for me, please?
It would be great if there was a static analyser for offloading code. The two toughest things about debugging the code is finding either variables / functions that haven't been declared as offloadable in the code - the compiler doesn't always catch these, but you do at runtime with much less information with regards to where the thing was called. And the second is much worse - finding variables in offloaded sections that exist on the MIC side, but they are uninitialized because I overlooked doing the data transfer somewhere.