cilkscreen and cilkview bug in C++ Compiler XE 12.1

cilkscreen and cilkview bug in C++ Compiler XE 12.1

6172-staff的头像
Hi, I upgraded toC++ Compiler XE 12.1 (parallel_studio_xe_2011_sp1_intel64), and got the unknown system metacall bug when running cilkscreen & cilkview. What should I do? Thanks, Yod ---- Cilkscreen Race Detector V2.0.0, Build 1113 Sorting 1 integers Running 1 trials BUG: Unknown system metacall 6@ 0x7f34e20253f4 ---- cilkview: generating scalability data Cilkview Scalability Analyzer V2.0.0, Build 1113 Running 1 trials BUG: Unknown system metacall 6:0x7fff72259ac0 @ 0x7f48d27f73f4 ----
5 帖子 / 0 new
最新文章
如需更全面地了解编译器优化,请参阅优化注意事项
Barry Tannenbaum (Intel)的头像

Build 1919 of the Intel Cilk Plus Tools (Cilkscreen and Cilkview) is required to support the 12.1 compiler. I've posted the new kits at http://software.intel.com/en-us/articles/download-intel-cilk-plus-software-development-kit/ .

The old kits are still available. Please be sure to download the 12.1 compatible kits.

In addition to supporting the new compiler, this version of Cilkscreen allows you to specify that the number of errors is returned as the exit code for the Cilkscreen run.

- Barry

6172-staff的头像

Thanks. There is a small bug where `cilkscreen -v` tries to load 32-bit libraries although I use 64-bit machine + compiler. cilkscreen itself works fine.

Barry Tannenbaum (Intel)的头像

Thank you for reporting this. I'm out of the office until Monday, 3-Oct. I'll look into it when I get back.

- Barry

Barry Tannenbaum (Intel)的头像

I'm not sure what the problem you're seeing is. The command "cilkscreen -v" is documented as printing the version string and exiting. Even if it's running a 32-bit image, that should still run on an Intel64 (64-bit) system. And I'm pretty sure that it's not starting the application.

The injected code prints out the version number when it starts. For example, "Cilkscreen Race Detector V2.0.0, Build 1919 for IA32" for 32-bit code, or "Cilkscreen Race Detector V2.0.0, Build 1880 for Intel64" 64-bit code.
I modified the simple-race example to add the following code:

#ifdef _M_X64
     printf("Intel64 build\n");
#endif
#ifdef _M_X86
     printf("x86 build\n");
#endif

This was inserted after the printf in main(). I built the application for both x86 and Intel64, and got the expected results; the program printed out "x86 build" to go with the IA32 injected code, and "Intel64 build" to go with the Intel64 injected code.

- Barry

登陆并发表评论。