[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4688: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4690: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4691: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4692: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
Parallella Community • View topic - How to use mutex locks in OpenCL

How to use mutex locks in OpenCL

Moderator: dar

How to use mutex locks in OpenCL

Postby Marcio » Wed Sep 25, 2013 9:43 am

Marcio
 
Posts: 17
Joined: Fri Jun 07, 2013 12:50 pm

Re: How to use mutex locks in OpenCL

Postby timpart » Wed Sep 25, 2013 11:00 am

The mutex must be executed on the Epiphany chip and the variable address must be on the chip, it can't be in the shared DRAM, and the ARM chip has no ability to do mutexes on the Epiphany (yet?)

Tim
timpart
 
Posts: 302
Joined: Mon Dec 17, 2012 3:25 am
Location: UK

Re: How to use mutex locks in OpenCL

Postby Marcio » Wed Sep 25, 2013 2:15 pm

Marcio
 
Posts: 17
Joined: Fri Jun 07, 2013 12:50 pm

Re: How to use mutex locks in OpenCL

Postby timpart » Wed Sep 25, 2013 5:13 pm

timpart
 
Posts: 302
Joined: Mon Dec 17, 2012 3:25 am
Location: UK

Re: How to use mutex locks in OpenCL

Postby Marcio » Thu Sep 26, 2013 7:23 am

Thanks timpart. Its strange though, cause in the coprthr sdk appears as an extended function of the eSDK and it confused me :?: I guess that its a documentation mistake or something like that, I double check the documentation of the eSDK and you are right, there is no mutex_destroy() function there...
Marcio
 
Posts: 17
Joined: Fri Jun 07, 2013 12:50 pm

Re: How to use mutex locks in OpenCL

Postby timpart » Thu Sep 26, 2013 11:20 am

E_mutex_destroy does have a prototype in mutex.h, so perhaps your environment was checking the headers and assuming (reasonably) that the actual function would exist too.

Tim
timpart
 
Posts: 302
Joined: Mon Dec 17, 2012 3:25 am
Location: UK

Re: How to use mutex locks in OpenCL

Postby ysapir » Thu Sep 26, 2013 11:52 am

User avatar
ysapir
 
Posts: 393
Joined: Tue Dec 11, 2012 7:05 pm

Re: How to use mutex locks in OpenCL

Postby Marcio » Mon Sep 30, 2013 1:03 pm

Marcio
 
Posts: 17
Joined: Fri Jun 07, 2013 12:50 pm

Re: How to use mutex locks in OpenCL

Postby notzed » Mon Nov 11, 2013 4:12 am

notzed
 
Posts: 331
Joined: Mon Dec 17, 2012 12:28 am
Location: Australia

Re: How to use mutex locks in OpenCL

Postby dar » Mon Nov 11, 2013 5:06 am

At the present time the mutex extensions target the older eSDK and we are waiting to receive the same Parallella board that will be shipping in order to update the implementation to eSDK-5. We presently have a prototype board, and there have been significant changes in the eSDK which cause things like mutex locks to no longer work as they once did depending on what recent software/hardware combination you may have.

In general, I believe the posts above are correct on two observations. The mutex must be stored in core-local memory not global DRAM, and if not done carefully one can end up with each core targeting its own private redundant mutex defeating the operation of the mutex.

As far as the usefulness of a mutex, or an atomic operation for that matter, these can be killers on a GPU where thousands of threads are "in flight", and the approach of doing a late reduction is a good one. However, Epiphany is not a GPU, it is not hardware multithreaded, and the core count is lower than the multithreading of GPUs, so locking and synchronization with a mutex actually becomes a useful tool for the programmer. For this reason we aim to get this updated as soon as we can.

The entire machinery used to implement OpenCL has been substantially refactored to provide a much cleaner direct API which we plan to announce very soon for programmers who might use it directly, or for implementing other high-level APIs. I will defer a discussion, just mentioning this at the moment - the rationale and benefits are better discussed when the API can be presented in more detail. As for STDCL, this is not the API being referred to here. STDCL is a very high level API that has remained essentially unchanged since 2009 which happens to use OpenCL to provide portable hardware support. We really should separate it out as a distinct API to avoid confusion. There is documentation for it online for those who are interested. Everyone likes their favorite API. STDCL is there for programmers who want what it provides since it is simpler than OpenCL and includes features OpenCL lacks.
dar
 
Posts: 90
Joined: Mon Dec 17, 2012 3:26 am

Next

Return to OpenCL

Who is online

Users browsing this forum: No registered users and 10 guests