OpenCL is the best.

Moderator: dar

Re: OpenCL is the best.

Postby dar » Thu Dec 20, 2012 6:14 am

Just to avoid any confusion, STDCL is a C API, similar to the level of CUDA, but users are not required to use STDCL in order to use the OpenCL implementation for Parallella that is also provided by the COPRTHR SDK.
Last edited by dar on Fri Dec 21, 2012 12:43 pm, edited 1 time in total.
dar
 
Posts: 90
Joined: Mon Dec 17, 2012 3:26 am

Re: OpenCL is the best.

Postby Ariemeth » Thu Dec 20, 2012 1:52 pm

I was not really thinking about the fact that STDCL is a C API. While I did not intend on giving offense, I seem to have gotten carried away in my arguments. For that I apologize. STDCL is not my kind of library, but I can still appreciate the amount of work that went into wrapping the OpenCL API's into an easier to use C API.
Ariemeth
 
Posts: 6
Joined: Mon Dec 17, 2012 3:26 am

Re: OpenCL is the best.

Postby notzed » Thu Jan 03, 2013 4:05 am

jar wrote: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.


I would have to disagree here - it's really meant for any computation device. It fits pretty well with SIMD cpu's, gpu's, and accelerators (of which epiphany is one). There are only a few bits not applicable to all device types and they are there for obvious efficiency - images, async dma, lds, constants, etc.

My first impression of Ephipany was "well that should fit opencl extremely well". Apart from images and bit twiddling, there's nothing in the spec that shouldn't be a good fit, even if there are features of the hardware OpenCL doesn't expose - but by definition that is OpenCL on every platform.

Of course going straight to the hardware without that layer will be far more flexible on every device, but it comes at a cost.
notzed
 
Posts: 331
Joined: Mon Dec 17, 2012 12:28 am
Location: Australia

Re: OpenCL is the best.

Postby dar » Thu Jan 03, 2013 10:49 am

What JAR is referring to is that the standard is very much designed around GPU architectures ca. 2009. Yes, you can program other compute devices with OpenCL, but they were not the driving architectures in the design. This can be seen most notably in the memory model and the lack of strong signaling support. If you were to design a programming model around multi-core devices that are not massively multi-threaded, with fully divergent cores, strong inter-core communication, and more general memory architectures, it would not look like OpenCL, but it would have some things in common with it. Everything evolves for a reason and GPGPU was the reason for OpenCL. This is clear in the design. That is not a criticism. I have invested considerable time in OpenCL, it can be leveraged for other "compute devices", and we are determined to leverage OpenCL to provide a productive parallel programming API for Parallella. OpenCL is a great foundation, but it must be adapted to support non-GPU architectures.
dar
 
Posts: 90
Joined: Mon Dec 17, 2012 3:26 am

Re: OpenCL is the best.

Postby Gideon » Thu May 28, 2015 1:58 am

jar wrote: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 e32_opencl_ext.h.

that is a question:how to use OpenCL extensions(memaddr/memcopy). Thanks.
Gideon
 
Posts: 4
Joined: Thu May 28, 2015 1:27 am

Re: OpenCL is the best.

Postby dar » Thu May 28, 2015 3:33 am

I am not sure I can find a current example that uses these extensions. They were used to share data between cores a very long time ago and I am not sure they are still compatible with current code base. Its been 2 years since I tested these extensions. The need for these extensions contributed to the evolution of our currently recommended programming model for Epiphany, which is threaded MPI. This model has exhibited the highest performance reported to date using a standard programming API. There are technical reasons that lead me to believe APIs designed for SMP architectures will not prove to be as effective.

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

Re: OpenCL is the best.

Postby Gideon » Sat May 30, 2015 12:50 pm

DAR
Thank you for your response, i will have a look for MPI

Gideon
Gideon
 
Posts: 4
Joined: Thu May 28, 2015 1:27 am

Previous

Return to OpenCL

Who is online

Users browsing this forum: No registered users and 3 guests

cron