- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There's a minor compile-time problem with cilkpub when compiling with icc 16.0.0. Here's the compile-time error:
$ icpc -DCILKPUB_DETRED_DBG_LEVEL=0 -Wall -g -O3 -I../include_dev -I../include test_sort.cpp -o tmp/test_sort In file included from test_sort.cpp(54): cilktest_timing.h(77): error: argument of type "void *" is incompatible with parameter of type "const char *" __notify_zc_intrinsic((void*) "CILKTEST_GETTICKS_START", 0); ^ In file included from test_sort.cpp(54): cilktest_timing.h(97): error: argument of type "void *" is incompatible with parameter of type "const char *" __notify_zc_intrinsic((void*) "CILKTEST_GETTICKS_END", 0); ^
, which is fixed by this diff:
[bradley@30-87-232 cilkpub_v105]$ diff ~/cilkplub/cilkpub_v105/test/cilktest_timing.h.~1~ ~/cilkplub/cilkpub_v105/test/cilktest_timing.h 77c77 < __notify_zc_intrinsic((void*) "CILKTEST_GETTICKS_START", 0); --- > __notify_zc_intrinsic((char*) "CILKTEST_GETTICKS_START", 0); 97c97 < __notify_zc_intrinsic((void*) "CILKTEST_GETTICKS_END", 0); --- > __notify_zc_intrinsic((char*) "CILKTEST_GETTICKS_END", 0);
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There are some other compile-time errors in cilkpub under icc 16. It might be better for you to test it rather than for me to list the problems here.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bradley,
Thanks for the bug reports. I will take a look and see if I can update Cilkpub to work with 16.0.0, or come up with a temporary workaround for some of the compiler issues that I am seeing.
So far, the only fatal issue I haven't been able to diagnose is with the "test_dotmix_pi" example. It seems to compile for me with -O1, but dies on higher optimization levels. I can find other ways to work around the problem, but getting a good fix may take a bit more time.
There are two other issues I've found so far --- the one with the intrinsic you described above, and warnings about C++11 extended friend declarations, which I think are easier to fix.
Also, I don't know if this is causing bugs, but the reducer_vector.h header comes with the default Cilk Plus reducers now (I think as of 15.0). Thus, there isn't a need for the old Cilkpub version of the reducer_vector.h file any more (and it is no longer compatible with the latest reducer headers).
Cheers,
Jim
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Version 1.06 of Cilkpub has been posted, which should ideally have either fixed or worked around problems with the 16.0 compiler. If you are still encountering issues with Cilkpub using the new compiler, please let me know.
The main issue I found that required a workaround due to a compiler bug is the "test_dotmix_pi" example. There seems to be a compiler bug related to exception handling in a cilk_for loop when more than a certain number of C++ objects are declared on the stack; a new bug report has been submitted. In that test case, I worked around the issue by eliminating one of the unnecessary objects. But compiling with the "-fno-exceptions" flag also seems avoid the issue.
Cheers,
Jim
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page