Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Lingfeng_C_Intel
Employee
48 Views

Problem with /MP option

I met an issue during compiling and building a project:
when using the /MP option for my project, the compiler starts several compilation threads at the same time, which is quite right.
The problem is, that xilink doesn't wait for the last compilation jobs to be finished but is started when the first job is finished, always resulting in linking errors because some of the OBJ files are still missing.

How to set up config to avoid this issue?

Best regards
Wise
12/22/2009
0 Kudos
6 Replies
aazue
New Contributor I
48 Views

Quoting - (Intel)
I met an issue during compiling and building a project:
when using the /MP option for my project, the compiler starts several compilation threads at the same time, which is quite right.
The problem is, that xilink doesn't wait for the last compilation jobs to be finished but is started when the first job is finished, always resulting in linking errors because some of the OBJ files are still missing.

How to set up config to avoid this issue?

Best regards
Wise
12/22/2009
Hi
How many number you have (/MP[:n])
This problem exist also some times with option --jobs of Make (Unix)
Test with several value (increase) if same make single and drink an coffee for wait time ...
Kind regards
Lingfeng_C_Intel
Employee
48 Views


Thanks, we use default value for /MP, and let me try using several value.

regards,
Wise
Lingfeng_C_Intel
Employee
48 Views

I test it using different value with /MP, but failed again. and meanwhile, /MP:1 option will create 2 threads, sounds it not right.

Wise
aazue
New Contributor I
48 Views

Quoting - (Intel)
I test it using different value with /MP, but failed again. and meanwhile, /MP:1 option will create 2 threads, sounds it not right.

Wise
Hi
Do not use this option better is very difficult to control or change order link process dependency.
/:1 make 2 thread is nomal i think you have more that 1 core in your machine or 0 counted 1.
Have you removed old objects *.o resulting precedent build before the new tests ?
Kind regards
Lingfeng_C_Intel
Employee
48 Views


Thanks,
Do you think old objects *.owill impact the new tests? Sounds MSVC has no issue.

Thanks,
Wise
aazue
New Contributor I
48 Views

Quoting - (Intel)

Thanks,
Do you think old objects *.o will impact the new tests? Sounds MSVC has no issue.

Thanks,
Wise
Hi
About removing *.o before rebuild is required with make Unix
(make distclean or make clean) but with your O/S I can not certify just an
theoretically supposition technically justified.
I have request some friends(MSCV) but actually no answer.
With small machine when i instruct several asynchronous tasks same --job=16
I receive always advertisement that some object anterior not ready.
Better that you hear sound MSCV probably
largely better experience that me in this O/S.

Just for inform using make (Unix) with --job is very important this
option can reduct time /5 or greater sometime.
Good luck for an better other possible solution (that an coffee for waiting ).
Kind regards
Reply