Parallella, Raspberry Pi, FPGA & All That Stuff

MarkJ
MarkJ
Joined: 28 Feb 08
Posts: 437
Credit: 139002861
RAC: 0

Once I got upgraded to Ubuntu

Once I got upgraded to Ubuntu 14.04 you can pick up BOINC 7.2.42 from the repo. It looks like it has a couple of issues but seems to work for the most part. Link to host here

One of the things I tried was defining my own co-processor via cc_config. Unfortunately e@h doesn't reflect it on the computer details screen. I suspect it only works for the 3 types BOINC knows about (ie ATI, Nvidia and intel_gpu). I might mention this on the alpha email list.

Quote:

Epiphany16
1
0
1e10

I haven't tried installing COPRTHR, not even sure if its already installed after the upgrade and if it will report as an OpenCL capable device via BOINC.

Bikeman (Heinz-Bernd Eggenstein)
Bikeman (Heinz-...
Moderator
Joined: 28 Aug 06
Posts: 3522
Credit: 722348395
RAC: 1145160

RE: Once I got upgraded to

Quote:

Once I got upgraded to Ubuntu 14.04 you can pick up BOINC 7.2.42 from the repo. It looks like it has a couple of issues but seems to work for the most part. Link to host here

One of the things I tried was defining my own co-processor via cc_config. Unfortunately e@h doesn't reflect it on the computer details screen. I suspect it only works for the 3 types BOINC knows about (ie ATI, Nvidia and intel_gpu). I might mention this on the alpha email list.

Quote:

Epiphany16
1
0
1e10

I haven't tried installing COPRTHR, not even sure if its already installed after the upgrade and if it will report as an OpenCL capable device via BOINC.

This isn't quite as easy, for many reasons:

BOINC-wise: BOINC has a certain set of coprocessors that it knows how to detect, like NVIDIA-CUDA, ATI/AMD-OpenCL, NVIDIA-OpenCL , OpenCL on CPUs,... it just doesn't know about an Epiphany-OpenCL type of accelerator. Changes in BOINC are needed to support this chip.

Epiphany-wise: The OpenCL support for the Epiphany is nowhere near complete. Some features are supported, others are not.

E@H-wise: Even if the E@H app would use only Epiphany-supported features of OpenCL, the current apps that are written for OpenCL would not run efficiently (or at all) on the Epiphany. E@H OpenCL apps need ca 80MB data at the very minimum on the GPU. The Epiphany16 has only ca 512kB (yes, kilo byte!!) of on-chip RAM. And the interface to the host RAM isn't too fast.

It might be possible to rewrite, say, the BRP app to make clever use of the Epiphany coprocessor, but it's not as easy as just taking the existing OpenCL code.

HB

MarkJ
MarkJ
Joined: 28 Feb 08
Posts: 437
Credit: 139002861
RAC: 0

RE: This isn't quite as

Quote:

This isn't quite as easy, for many reasons:

BOINC-wise: BOINC has a certain set of coprocessors that it knows how to detect, like NVIDIA-CUDA, ATI/AMD-OpenCL, NVIDIA-OpenCL , OpenCL on CPUs,... it just doesn't know about an Epiphany-OpenCL type of accelerator. Changes in BOINC are needed to support this chip.

Epiphany-wise: The OpenCL support for the Epiphany is nowhere near complete. Some features are supported, others are not.

E@H-wise: Even if the E@H app would use only Epiphany-supported features of OpenCL, the current apps that are written for OpenCL would not run efficiently (or at all) on the Epiphany. E@H OpenCL apps need ca 80MB data at the very minimum on the GPU. The Epiphany16 has only ca 512kB (yes, kilo byte!!) of on-chip RAM. And the interface to the host RAM isn't too fast.

It might be possible to rewrite, say, the BRP app to make clever use of the Epiphany coprocessor, but it's not as easy as just taking the existing OpenCL code.

HB

Well DA has checked in a fix which is supposed to pass the coproc info through, so that should at least tell the server we've got an Epiphany.

As for the OpenCL support I understood its a subset so rather limited in its capabilities. Rom has asked me to run clinfo on it to see if they can make BOINC detect it. They are trying to add OpenCL detection for coprocessors even though they may not be one of the 3 brands of GPU currently supported. And as you said they've also got the CPU being detected as an OpenCL-capable device.

[edit] Found clinfo in the repo so have installed that. Not so easy to get COPRTHR installed though [/edit]

I don't really expect OpenCL will be the way to go with the Epiphany. I would think we'll have to wait for Adapteva to come up with an FFT library that can run on it. Andreas has asked over on the Parallella forums if they should develop one. It may take multiple passes to compute larger FFT's due to lack of memory. Once we've got such a library of routines that would probably then get bolted-on to the existing CPU apps. None of this is likely to happen any time soon unfortunately.

Bikeman (Heinz-Bernd Eggenstein)
Bikeman (Heinz-...
Moderator
Joined: 28 Aug 06
Posts: 3522
Credit: 722348395
RAC: 1145160

RE: Andreas has asked over

Quote:
Andreas has asked over on the Parallella forums if they should develop one. It may take multiple passes to compute larger FFT's due to lack of memory. Once we've got such a library of routines that would probably then get bolted-on to the existing CPU apps. None of this is likely to happen any time soon unfortunately.

Andreas himself has picked his birthday (September 15th) as a deadline for the bet he has with me which would require some sort of FFT library that makes use of the Epiphany. So I think he's confident they will find time to do it within this timeframe. Let's see.

HB

Claggy
Claggy
Joined: 29 Dec 06
Posts: 560
Credit: 2699403
RAC: 0

FFT on Arm Mali GPU

FFT on Arm Mali GPU anyone?:

Optimizing Fast Fourier Transformation on ARM Mali GPUs

Claggy

MarkJ
MarkJ
Joined: 28 Feb 08
Posts: 437
Credit: 139002861
RAC: 0

RE: has picked his

Quote:

has picked his birthday (September 15th) as a deadline for the bet he has with me which would require some sort of FFT library that makes use of the Epiphany. So I think he's confident they will find time to do it within this timeframe. Let's see.

HB

I saw the crate of beer bet.

How is the Pi version coming along? I presume you managed to get something working before making the bet, even if its not efficient (yet).

Seeing as I need to get COPRTHR installed (so I can run clinfo for Rom) is it just a simple matter of doing a wget and then unpacking the tar.gz? There was some talk in the parallella forums about setting up an apt repo but no confirmation its been done.

Bikeman (Heinz-Bernd Eggenstein)
Bikeman (Heinz-...
Moderator
Joined: 28 Aug 06
Posts: 3522
Credit: 722348395
RAC: 1145160

RE: I saw the crate of

Quote:


I saw the crate of beer bet.

How is the Pi version coming along? I presume you managed to get something working before making the bet, even if its not efficient (yet).

No, that would be boring and kind of unfair ;-). I have now, after making the bet, begun to implement it, first by spelling out a baseline implementation in Octave to verify I got the twiddling and index calculations right. Current plan is to divide the 3 x 2^22 point real to complex FFT in stages of 1024 x 1024 x 6 complex to complex FFTs, where at least the 1024 point FFTs would run on the VideoCore IV GPU, for which code already exists (10 - 12 times faster than teh Raspi CPU can do FFT). If I manage to learn how to program the VC IV GPU (very nasty assembly kind of stuff, but at least documented openly now), I might also get batches of length 6 FFTs working on the GPU. I have a feeling that I will need to do that to be competitive with the Epiphany 16.

I expect this to be a close race. Both coprocessors (VideoCore IV and Epiphany16) have comparable "horsepower" (roughly 25 GPFLOPS theoretical peak performance single precision), so this is all about "traction": bringing the horsepower to the road ..so to speak.

Maybe until September 15th Adapteva will also find ways how to speed up their Epiphany-to-DRAM interface, which would be very welcome and worth a crate of beer :-).

Quote:

Seeing as I need to get COPRTHR installed (so I can run clinfo for Rom) is it just a simple matter of doing a wget and then unpacking the tar.gz? There was some talk in the parallella forums about setting up an apt repo but no confirmation its been done.

I have not looked into OpenCL on the Parllella yet, but will do so soon.

HB

Bikeman (Heinz-Bernd Eggenstein)
Bikeman (Heinz-...
Moderator
Joined: 28 Aug 06
Posts: 3522
Credit: 722348395
RAC: 1145160

RE: Seeing as I need to

Quote:

Seeing as I need to get COPRTHR installed (so I can run clinfo for Rom) is it just a simple matter of doing a wget and then unpacking the tar.gz? There was some talk in the parallella forums about setting up an apt repo but no confirmation its been done.

Theoretically you can download a binary distribution of the package from here:

http://www.browndeertechnology.com/coprthr_download.htm

and after running an installation script, everything should work out of the box. Problem is...it doesn't :-(. See discussion in OpenCL subforum of the Parallella forum.

Stay tuned.
HB

Bikeman (Heinz-Bernd Eggenstein)
Bikeman (Heinz-...
Moderator
Joined: 28 Aug 06
Posts: 3522
Credit: 722348395
RAC: 1145160

OK, got it working

OK, got it working now.

Let me know if you still need the clinfo output.

Cheers
HB

MarkJ
MarkJ
Joined: 28 Feb 08
Posts: 437
Credit: 139002861
RAC: 0

RE: OK, got it working

Quote:

OK, got it working now.

Let me know if you still need the clinfo output.

Cheers
HB

Thanks HB. One of the guys had posted the output in the Parallella forums, so I sent that to the mailing list. Apparently it lists itself as a type Accelerator.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.