[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/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 - OpenCL is the best.

OpenCL is the best.

Moderator: dar

Re: OpenCL is the best.

Postby Dade » Mon Dec 17, 2012 5:09 pm

, , , ,
User avatar
Dade
 
Posts: 26
Joined: Sun Dec 16, 2012 8:59 pm

Re: OpenCL is the best.

Postby Ariemeth » Mon Dec 17, 2012 5:56 pm

Ariemeth
 
Posts: 6
Joined: Mon Dec 17, 2012 3:26 am

Re: OpenCL is the best.

Postby jar » Mon Dec 17, 2012 6:25 pm

User avatar
jar
 
Posts: 295
Joined: Mon Dec 17, 2012 3:27 am

Re: OpenCL is the best.

Postby Dade » Mon Dec 17, 2012 9:20 pm

, , , ,
User avatar
Dade
 
Posts: 26
Joined: Sun Dec 16, 2012 8:59 pm

Re: OpenCL is the best.

Postby Gedece » Mon Dec 17, 2012 9:24 pm

I'm already looking into Python with OpenCL, so far PyOpenCL seems the way to go.
User avatar
Gedece
 
Posts: 23
Joined: Mon Dec 17, 2012 3:18 am
Location: Buenos Aires, Argentina

Re: OpenCL is the best.

Postby jar » Tue Dec 18, 2012 2:20 am

OpenCL is great and all, but it's really meant for GPUs. It has language within the standard that doesn't even apply to the Epiphany architecture or other multi-core CPUs.

For example, Epiphany doesn't have OpenCL Local Memory, Constant Memory, Caches, or multiple Compute Units. Instead there is a single Compute Unit built from many Processing Elements which each have a very large amount of Private Memory compared to GPUs. OpenCL also lacks a mechanism for moving data between Processing Elements' Private Memory. The term "Private Memory" is obviously a bit of a misnomer here when it is being shared between Processing Elements. See the overly simplified, cheesy diagram attachment below.

The Epiphany architecture has this Private Memory sharing capability in hardware and is used to extend the OpenCL specification with the memaddr/memcopy/memsync/memsend/memrecv routines found in . Data moved between neighboring Processing Elements in the 2D grid or off-chip to the shared host memory (OpenCL Global Memory).

So the OpenCL model is used where it applies to using Epiphany as a coprocessor/accelerator. And OpenCL is extended where it is lacking obvious capabilities.

See the that uses Private Memory sharing routines.
Attachments
OpenCLvsEpiphany.png
OpenCLvsEpiphany.png (87.22 KiB) Viewed 30933 times
User avatar
jar
 
Posts: 295
Joined: Mon Dec 17, 2012 3:27 am

Re: OpenCL is the best.

Postby calufrax » Tue Dec 18, 2012 12:48 pm

The Hetereogeneous Parallel Programming course currently running on Coursera will apparently cover OpenCL... It's geared toward CUDA, but OpenCL is on the syllabus, and the general principles would still apply.

I'd love to see a MOOC course geared toward Epiphany, of course... That would be a way to promote the hardware, and get the impetus for software development...
calufrax
 
Posts: 1
Joined: Mon Dec 17, 2012 3:20 am

Re: OpenCL is the best.

Postby dar » Wed Dec 19, 2012 5:29 pm

dar
 
Posts: 90
Joined: Mon Dec 17, 2012 3:26 am

Re: OpenCL is the best.

Postby dar » Wed Dec 19, 2012 5:51 pm

Macros, C++ bindings, PyOpenCL, and "solving a problem that doesn't exist" ... where to begin.

First, regarding macro discussion, they are used in stdio.h. All serious code uses macros. Nots sure what the issue is there.

OpenCL is a really useful API. Its also not the best API for all programmers to use directly. (Its also a GPU API, not a multicore API, but that's another discussion.) If you are an OpenGL programmer you may very well not see the problem STDCL "solves". If you are a CUDA programmer its obvious. We (BDT) have received enough praise for developing libstdcl to know that we did some things right. Perhaps you want to use C++ bindings. Perhaps you want to use Python. Every programmer will have their own preferences. What makes the Parallella project exciting is that its completely open and the community will be able provide solutions to problems without vendor approval, or worst, waiting for a vendor to get around to providing a solution. We are looking forward to providing support for Parallella in our COPRTHR SDK. We have some very exciting features planned that we hope will contribute to the Parallella community.
dar
 
Posts: 90
Joined: Mon Dec 17, 2012 3:26 am

Re: OpenCL is the best.

Postby Ariemeth » Thu Dec 20, 2012 2:52 am

rethought
Last edited by Ariemeth on Thu Dec 20, 2012 1:57 pm, edited 1 time in total.
Ariemeth
 
Posts: 6
Joined: Mon Dec 17, 2012 3:26 am

PreviousNext

Return to OpenCL

Who is online

Users browsing this forum: No registered users and 4 guests

cron