- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear all,
I am using Intel Parallel Studio XE 2017.6 in order to trace a HYBRID OPENMP/MPI application.
I use:
```mpiexec.hydra -trace "libVT.so libmpi.so" python ....py args```
and although the application runs fine and an .stf file is created with reasonable results
the log file of my application's execution gives me the error:
ERROR: ld.so: object ''libVT.so' from LD_PRELOAD cannot be preloaded: ignored.
I would expect this error to be resolved by using :
export LD_PRELOAD=.../libVT.so
however it still persists.
In case where I remove "libVT.so libmpi.so" from the command above I get:
ERROR: ld.so: object ''libVT.so' from LD_PRELOAD cannot be preloaded: ignored.
python: symbol lookup error: /rdsgpfs/general/apps/intel/2017.6/itac/2017.4.034/intel64/slib/libVT.so: undefined symbol: PMPI_Initialized
and my application terminates without success.
Does that mean that even if it complains for faulty preloading, it still uses that? (I guess yes.)
Should I trust the results I get for the `succesfull` however `complaining` execution?
I will be more than happy to help with more info if needed.
Thank you in advance,
George Bisbas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello George,
If .stf file is created it means that ITAC worked just fine and was able to collect trace.
I would guess that together with `-trace "libVT.so libmpi.so"` you exported `LD_PRELOAD=.../libVT.so`. In order to collect trace you only need to use one of this options.
So, I think `-trace "libVT.so libmpi.so"` worked and `LD_PRELOAD=.../libVT.so` did not (and that's why preload error is in logs).
You can fix this error like this `export LD_PRELOAD=libVT.so:libmpi.so` (also no need to provide full path to libs if you sourced itacvars.sh and mpivars.sh). libmpi.so is needed in LD_PRELOAD because you run python application.
Anyway, I recommend using `-trace "libVT.so libmpi.so"`, no need to set additional environment variables.
Best regards,
Marat
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The same happens if I use a toy mpi-hello-world program so I guess it is not specific to my application.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello George,
If .stf file is created it means that ITAC worked just fine and was able to collect trace.
I would guess that together with `-trace "libVT.so libmpi.so"` you exported `LD_PRELOAD=.../libVT.so`. In order to collect trace you only need to use one of this options.
So, I think `-trace "libVT.so libmpi.so"` worked and `LD_PRELOAD=.../libVT.so` did not (and that's why preload error is in logs).
You can fix this error like this `export LD_PRELOAD=libVT.so:libmpi.so` (also no need to provide full path to libs if you sourced itacvars.sh and mpivars.sh). libmpi.so is needed in LD_PRELOAD because you run python application.
Anyway, I recommend using `-trace "libVT.so libmpi.so"`, no need to set additional environment variables.
Best regards,
Marat
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you very much for the help Marat.
Problem solved.
Best,
George Bisbas

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