- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Interestingly, my strace output shows that icc is looking in
Is this something to be concerned about? Is there some way to get icc to use xild first? Should I even care?
Thanks for your time and help.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
if I do use -ipo, will icc automaticall call the correct one? Or will I have to do something extra?
Edit: Easy test - took a hello world program, and compiled as thus:
icpc hello.cpp -ipo -o hello
ran it through strace, and still no reference to xild. Or is the compiler being even smarter, and realizing that it stll doesn't need xild?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
if I do use -ipo, will icc automaticall call the correct one? Or will I have to do something extra?
Edit: Easy test - took a hello world program, and compiled as thus:
icpc hello.cpp -ipo -o hello
ran it through strace, and still no reference to xild. Or is the compiler being even smarter, and realizing that it stll doesn't need xild?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Though it does seem a little odd - I would have expected it to just always call xild, if it can. It also seems slightly odd, since I'm guessing there's no way to use xiar without specifying it explicitly, since icc doesn't call that one itself.
Thanks agan for your help!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Why cannot I see icpc calls xild with multi-file -ipo set up? (source code: https://codesign.llnl.gov/lulesh/lulesh2.0.3.tgz)
strace icpc -DUSE_MPI=0 lulesh.cc lulesh-comm.cc lulesh-viz.cc lulesh-util.cc lulesh-init.cc -v -qopenmp -ipo -lm -o lulesh2.0 &>t
I can only see gnu ld is called.
It is really confusing.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In my mind, the compilation is as follows (https://software.intel.com/en-
There are two possible models and they should be able to generate the same binary.
However, my experiment w/ LULESH 2.0 does not support such a claim.
I compare the two generated executables with diff.
My question is: is the claim wrong or I should use other tool to compare executables generated by the following two models?
[Model 1: explicitly link w/ xild for ipo]
1. icpc -ipo *.cc to compile each .cc file into object file with Intel intermediate IR.
2. xild performs IPO with *.o (with Intel IR)
3. xild invoke gnu ld to link libraries and generate final executable.
[Model 2: implicitly link w/ icpc for ipo]
1. same as 1 in Model 1.
2. icpc -DUSE_MPI=0 lulesh.o lulesh-comm.o lulesh-viz.o lulesh-util.o lulesh-init.o (may or may not add -ipo flag)
//icpc will do ipo and then invoke ld to generate final executable.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page