Software Archive
Read-only legacy content
17060 Discussions

cilkscreen and cilkview bug in C++ Compiler XE 12.1

6172-staff
Beginner
1,072 Views
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
----
0 Kudos
4 Replies
Barry_T_Intel
Employee
1,072 Views
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
0 Kudos
6172-staff
Beginner
1,072 Views
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.
0 Kudos
Barry_T_Intel
Employee
1,072 Views
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
0 Kudos
Barry_T_Intel
Employee
1,072 Views

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
0 Kudos
Reply