by censix » Fri Jun 28, 2013 8:49 pm
Hi
all that is needed is a BLAS library that uses the epiphany, i.e. through OpenCL. In another post I have suggested that we could use the "viennacl" for this.
Some clarifications:
This BLAS library does in no way have to be specific to R !
In addition, with a few additional ./configure flags, R can be compiled in a way so that it uses an external (epiphany driven) BLAS library. In that scenario, again, R does not care how the BLAS library does the calcuations.
For comparison:
1) Lets say you have an nvidia graphics card and install the cuda/opencl capable dirvers for it. These drivers come with a library called "cuBLAS" which implements BLAS routines using the nvidia GPU though cuda.
2) Lets say you have an ati graphics card and install the opencl drivers. Then again, these dirvers come with a library called "libclamdblas" that implements BLAS routines using the ati GPU.
In both scenarios, 1) and 2) it is possible to configure R so that it will use 'cuBLAS' or 'libclamdblas' instead of its own built in BLAS library, therby using the GPUs to accelerate almost all basic R calculations!
So coming back to the original point. If someone manages to create a standard BLAS implementation of as many levels as possible (1-3) using the epiphany processor ... we have won the game! Like I said. Viennacl look like a very promising starting point.