Cilkscreen/CilkView error on Ubuntu 11.10: E:3.0 is not a supported linux release

Cilkscreen/CilkView error on Ubuntu 11.10: E:3.0 is not a supported linux release

I downloaded v12.1 (and v12.0) of the CilkPlus SDK onto my system, and untarred the cilkutils. When I try to run either Cilkscreen or Cilkview, it does not run and they both report the same error:

E:3.0 is not a supported Linux Release

I am using Ubuntu 11.10 which is based on the Linux 3.0.1 kernel, so I am assuming that this is too new a version for the compiled tools that come with the release. Please let me know if that is correct.

Do I need to use an older version of Linux, or can I recompile the SDK tools to use this version of Linux?
If I can recompile, how can I do that. The source files do not seem to come with the release of these tools.

Thanks,
Scott

13 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hello Scott,
What compiler (and version) are you using to create the CilkPlus executables (not the Cilkview and Cilkscreen, but the actual executable that you are feeding into Cilkview/Cilkscreen)?

Thanks,

Balaji V. Iyer.

Quoting Balaji Iyer (Intel)
Hello Scott,
What compiler (and version) are you using to create the CilkPlus executables (not the Cilkview and Cilkscreen, but the actual executable that you are feeding into Cilkview/Cilkscreen)?

Thanks,

Balaji V. Iyer.

ubuntu > icpc -v
icpc version 12.1.0 (gcc version 4.6.0 compatibility)

As Will just posted on the Cilk++ forum, we've updated the Cilk Plus SDK to use a newer version of Pin which should support this version of Ubuntu. Build 2061 is now available at http://software.intel.com/en-us/articles/download-intel-cilk-plus-software-development-kit/.

- Barry

Hi Barry,
Check my respone to Will. I tried the new binary, but now PIN fails. Cilkscreen cant run PIN the way Ubuntu is set up by default. It says that I should modify ptrace_scope, but Ubuntu does not give away the root password, and I can't change it using sudo.

Thanks,
Scott

This has come up a number of times in the pinheads group on Yahoo. Try the following:

echo "0" > /proc/sys/kernel/yama/ptrace_scope

You probably need root privs for this.

- Barry

Thanks Barry, but Ubuntu does not let me do this even if using sudo, and Ubuntu does not give out the root password (Which is beyond stupid since it is my machine and I should be able to break it if I want to). Can you think of another way to fix it? (or do you know the secret Ubuntu default root password?)

Quoting Barry Tannenbaum (Intel)
This has come up a number of times in the pinheads group on Yahoo. Try the following:

echo "0" > /proc/sys/kernel/yama/ptrace_scope

You probably need root privs for this.

- Barry

Oh the power of root is mine at last!!! Thanks to a little help from google.

Hi Barry,
I was able to update ptrace_scope as you requested, now I get the following error:

ubuntu > su
Password:
root@ubuntu:/home/scott# echo "0" > /proc/sys/kernel/yama/ptrace_scope
root@ubuntu:/home/scott# exit
exit
ubuntu > cat /proc/sys/kernel/yama/ptrace_scope
0
ubuntu >
ubuntu > cilkscreen othello
E:Unable to load /home/scott/cmpt880/CilkPlus/cilkutil/bin/../lib64/cilkscreen-tool.so: libelf.so.0: cannot open shared object file: No such file or directory

Quoting Barry Tannenbaum (Intel)
This has come up a number of times in the pinheads group on Yahoo. Try the following:

echo "0" > /proc/sys/kernel/yama/ptrace_scope

You probably need root privs for this.

- Barry

Hi Barry,

I manageed to set ptrace_scope as you specified, and I have now loaded the elf tools. I was able to run both cilkiew and cilkscreen but I think something is still not working.

When I run cilkscreen, it gives me a report but it does not plot the results even though gnuplot is installed. Also, when I ask it to run all tests: -"trials all" it seems to only the same test as without this option, and the run only generates a single pass with only one processor active (instead of all 4).

For Cilkview, I have run it on my test program and it report 5 race conditions (which is great), but it only displays the information in cryptic hex offsets from the start of my routine. It does not give line numbers or any symbolic information. Is it possible that it is having problems interacting with elf?

I would like to attached the report.txt that it generated as an fyi, but the add files button in this reporting system is not very intuitive. I could not get it to find my file.

Thanks,

ScottK

Attachments: 

AttachmentSize
Downloadapplication/octet-stream pin.log179 bytes
Downloadtext/plain report.txt4.56 KB
Best Reply

Try deleting the pin.log file to make sure that it's not stale. But the fact that it's complaining about libelf.so.0 is a definite hint. :o)

The first question about the cilkscreen log (report.txt) is whether you compiled your application with debugging symbols. That would be the "-g" option on Linux. If you can step into gdb and see line numbers, the answer would be yes.

We depend upon PIN's code which interprets the debug information in the image, and I believe that it useslibelf.so. On my system it's available in /usr/lib (which contains 64-bit images). Interestingly, there isn't a copy in /usr/lib32.

- Barry

Hi ScottK,

I think you have Cilkview and Cilkscreen reversed. ;)

Cilkview will always give you a whole-program output, textually. But it will only give you a plot if you instrument a specific section of code.

For Cilkscreen, make sure that you have compiled with symbols (-g) so that there are files/line numbers for it to find.

Quoting William Leiserson (Intel)

Hi ScottK,

I think you have Cilkview and Cilkscreen reversed. ;)

Cilkview will always give you a whole-program output, textually. But it will only give you a plot if you instrument a specific section of code.

For Cilkscreen, make sure that you have compiled with symbols (-g) so that there are files/line numbers for it to find.

Hi William,

Fantastic news! I have CilkScreen running (with -g added) and it found 5 data races that I thought would be harmless. But sure enough, once I cleaned up these race conditions, my Othello program runs determininistisically while running in parallel. Thanks for you help!

I didn't know about the limitation regarding Cilkview. It also doesn't seem to do anything with my "-trials all" option. Is this the same issue? I need to instrument a specific section of code?

Also, I am unable to figure out how to tell Cilk to only run N threads. I have tried the -cilk_set_worker_count=1 option but it always gets intercepted by my parameter passing. I thought it was supposed to be intercepted by Cilk? Here is an example of running my program:

ubuntu > othello -cilk_set_worker_count=1 c3c5
Unrecognized option: -cilk_set_worker_count=1
Usage:
othello [h|c][h|c]

The error message is coming from my program. Using the CILK_NPROCS=N option does not seem to work either: "othello CILK_NPROC=2 c2c3"

I have Cilkscreen and cilkview both working now. Thanks for your help! Cilkscreen found 5 data races in my code, all of which I knew about but thought were safe. I cleaned up this code as cilkscreen suggested, and my Othello program now works remarkably well with Cilk (and is very fast indeed!).

On a quad-core i5, I got a speed up of between 2x to over 4x which was quite remarkable.

Cilkscreen was invaluable for getting my program to work with Cilk. Thanks for a great tool!

Leave a Comment

Please sign in to add a comment. Not a member? Join today