huixiangufl / aparapi

Automatically exported from code.google.com/p/aparapi
Other
0 stars 0 forks source link

Support ParallelArray (extra166y) #82

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
This enhancement request is related to the Parallel.For() enhancement request 
but instead requests supporting ParallelArray types in Aparapi.

Please see the following:

http://g.oswego.edu/dl/concurrency-interest/
http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/extra166y/

I have also attached a PDF presentation of extra166y (jsr166y) features.

The idea here is to use ParallelArray features, but instead of relying on the 
built-in Fork/Join implementation use Aparapi GPU/OpenCL implementation by 
default and "fall-back" to Fork/Join if OpenCL fails.

I believe this kind of functionality would also be a prime candidate for 
Project Sumatra.

The only major requirement to adding this enhancement would be a requirement to 
use Java 7 (I believe).

Original issue reported on code.google.com by ryan.lam...@gmail.com on 5 Dec 2012 at 1:06

Attachments:

GoogleCodeExporter commented 8 years ago
I think this seems to converge on ideas behind the project lambda stream APIs. 

If you have not looked at the new java.util.stream package in the project 
lambda branch  I would urge you to do so.

They recently added the ability to apply maps/parallel operations/reduce 
operations to primitive arrays as well as retrofitting existing Java collection 
API's (via the new default method *cough* hack *cough*). 

Gary 

Original comment by frost.g...@gmail.com on 5 Dec 2012 at 1:48

GoogleCodeExporter commented 8 years ago
Alright, I'll try and take a look at the java.util.stream package. Do you have 
any useful links I can read?

I'm guessing this is part of Java 8? I believe that the above ParallelArray 
implementation does not rely on Lambdas, thus compatible with Java 7, which I 
think has a lot of value.

Original comment by ryan.lam...@gmail.com on 5 Dec 2012 at 2:27