ARM Linux

ExtraTerrestrial Apes
ExtraTerrestria...
Joined: 10 Nov 04
Posts: 770
Credit: 540307461
RAC: 130926

I can't help with that, but

I can't help with that, but the idea sounds very useful :)

This optimization could done once and the results be applied to all similar devices. Drawback: you need to somehow gather and update the profiling data. Or it could be run once on the client side, then saved for future use as some Einstein file. Rerun upon CPU change. Both options might also be combined: upon loading the 1st WU ask server for profile, if it doesn't exist run this benchmark and report results as they can be used by others. You might want to gather a few samples per hardware and use the median of the results.

Might such a mechanism also be helpful for other platforms?

MrS

Scanning for our furry friends since Jan 2002

ExtraTerrestrial Apes
ExtraTerrestria...
Joined: 10 Nov 04
Posts: 770
Credit: 540307461
RAC: 130926

Your first results are in,

Your first results are in, and while variation is rather large for so few results it does appear to be significantly faster than running Android, I'd say by 10 - 20%.

MrS

Scanning for our furry friends since Jan 2002

Alex
Alex
Joined: 1 Mar 05
Posts: 451
Credit: 500605037
RAC: 33861

RE: Your first results are

Quote:

Your first results are in, and while variation is rather large for so few results it does appear to be significantly faster than running Android, I'd say by 10 - 20%.

MrS

Well, the system was not left alone. I installed a printer driver, tried to find out how I can gain acces to the remote_hosts.cfg and the gui_rpc_auth.cfg. Is not as easy as in windows.
And a VNC connection was open all the time. But I leave it for today, let's see how it works when nothing else is to do.

Alexander

Alex
Alex
Joined: 1 Mar 05
Posts: 451
Credit: 500605037
RAC: 33861

I have convertet my Odroid-u2

I have convertet my Odroid-u2 from Android to Lubuntu
http://einsteinathome.org/host/9764941/tasks

The same board running Android was
http://einsteinathome.org/host/8007044/tasks

Processor features: swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls

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

It's a bit strange that the

It's a bit strange that the BOINC benchmark on the newer BOINC version under Linux is showing worse performance than the older BOINC version's benchmark under Android.

It could be related to some other CPU intensive activity on the system during the time when the benchmark was running, or the way the newer Linux ARM BOINC code was compiled. I'm not sure whether the benchmarking code has a code branch that uses NEON, I know this was at least planned to be included tho.

Cheers
HB

Alex
Alex
Joined: 1 Mar 05
Posts: 451
Credit: 500605037
RAC: 33861

RE: Since I still don't

Quote:


Since I still don't have a NEON capable ARM board under Linux (thanks to the delays of Parallella, see another thread), I would need someone to volunteer for that.

HBE

My offer is still valid. If you give me instructions I can try it on my own if you prefer that.

I've set one device to no new tasks. I found a tool to check the cpu usage and can check that afterwards. I will test that with and without BM running to see the overhead that BM brings,

Alexander

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

RE: RE: Since I still

Quote:
Quote:


Since I still don't have a NEON capable ARM board under Linux (thanks to the delays of Parallella, see another thread), I would need someone to volunteer for that.

HBE

My offer is still valid. If you give me instructions I can try it on my own if you prefer that.

I've set one device to no new tasks. I found a tool to check the cpu usage and can check that afterwards. I will test that with and without BM running to see the overhead that BM brings,

Alexander

Thanks, I'll try that later today, I'm sure we 'll find one way or another to do the "wisdom" tests on your machine. It's nothing complicated, just time consuming.

I think the performance of the ARM quad core machine of yours that does 1 WU in ca 25k ... 30k seconds is already quite impressive for an ARM CPU. Compared to, for example, the previous generation, single core ARM CPU that is used on the Raspberry Pi, the productivity is greater by a factor of ca. 15 (!!!).

Cheers
HB

Alex
Alex
Joined: 1 Mar 05
Posts: 451
Credit: 500605037
RAC: 33861

I made some screenshots

I made some screenshots showing the cpu usage
first one is BM running and 4 wu's running
https://dl.dropboxusercontent.com/u/50246791/BM%20and%204%20wus%20running.png

Second one is BM running and the wu's put on hold
https://dl.dropboxusercontent.com/u/50246791/BM%20running%20wus%20put%20on%20hold.png

Third screenshot shows BM shutdown and wu's on hold.
https://dl.dropboxusercontent.com/u/50246791/BM%20off%20and%20tasks%20on%20hold.png

The orange peak at the end is the start of the screenshot software.

Looks like the BM itself uses a lot of system resources. This is something I have seen when running Android. Crunching with native Boinc gives faster results, maybe because native boinc makes updates only once every 10 seconds and thereby uses less resources.

Alexander

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

Hi all, With help from

Hi all,

With help from Alex (see above), I was able to get a FFTW "wisdom file" generated on an ODROID.

It would be interesting to see what happens if one takes this wisdom file and uses it on different ARMv7 (Neon capable) - Linux boards.

The procedure is simple:

As root, create the directory

/etc/fftw

and copy-and-paste the stuff from the box below into the file

/etc/fftw/wisdom

(fftw-3.3.2 fftwf_wisdom #x4a633eef #xb5a95564 #x91014bdd #x9c85ce5f
  (fftwf_codelet_t2fv_8_neon 0 #x10fdd #x10fdd #x0 #x805d94c8 #x3a7cf408 #x485262cd #x459be9d0)
  (fftwf_dft_buffered_register 0 #x11bdd #x11bdd #x0 #x47668e72 #x82debe3a #xe1906477 #x5277e097)
  (fftwf_dft_vrank_geq1_register 0 #x10fdd #x10fdd #x0 #x7c62ba75 #xf1c85b38 #x1ccd56dc #x12b45b18)
  (fftwf_dft_vrank_geq1_register 0 #x11bdd #x11bdd #x0 #xa48ccbb9 #xa7ba449b #x28f0f2a4 #x2df52e2b)
  (fftwf_dft_indirect_register 0 #x10bdd #x10bdd #x0 #xa5fbbaec #xd0d307cd #xc67e5f59 #xfbd0b348)
  (fftwf_rdft_rank0_register 2 #x11bdd #x11bdd #x0 #x27c4cfcf #x55147356 #x294d9dcc #x46c96e0f)
  (fftwf_codelet_t3fv_4_neon 0 #x11bdd #x11bdd #x0 #xb33d15b2 #x5a54c41e #x8b7ec909 #x775234b1)
  (fftwf_dft_r2hc_register 0 #x11bdd #x11bdd #x0 #x4b007949 #x56834b56 #xe5f18993 #xf753f6fc)
  (fftwf_dft_vrank_geq1_register 0 #x10fdd #x10fdd #x0 #x7d124f7d #x51c2b7a9 #x67614754 #x6f84eff6)
  (fftwf_codelet_q1_8 0 #x11bdd #x11bdd #x0 #x8362fe9a #x94cfdedf #x6e4ea842 #xc791a85e)
  (fftwf_dft_vrank_geq1_register 0 #x11bdd #x11bdd #x0 #xaf83d15c #xe13833ac #x821ef65e #x141682da)
  (fftwf_codelet_hc2cfdftv_16_neon 0 #x11bdd #x11bdd #x0 #xc338dbbd #x81477318 #xc96aed6b #xb15ea60a)
  (fftwf_codelet_q1fv_4_neon 0 #x11bdd #x11bdd #x0 #xe28af32f #x752b225f #x4fa246ed #x920e9f91)
  (fftwf_dft_r2hc_register 0 #x10bdd #x10bdd #x0 #x0f55ec13 #x01f27e1e #x5f9b5243 #xc3d0edc1)
  (fftwf_dft_vrank_geq1_register 0 #x11bdd #x11bdd #x0 #xcc076c18 #x857fa31d #x02fbb535 #xe9b7e9d1)
  (fftwf_codelet_r2cf_16 2 #x11bdd #x11bdd #x0 #x8f3ef9f7 #xe67e11ab #xe25a4700 #x8eed687a)
  (fftwf_codelet_t1fv_8_neon 0 #x11bdd #x11bdd #x0 #x64e7d51b #x237dd059 #xc2026fdf #x6e8f2b5f)
  (fftwf_dft_vrank_geq1_register 0 #x11bdd #x11bdd #x0 #x961f629e #xd12bd7a7 #xce177b8b #x7c477dca)
  (fftwf_codelet_n1fv_12_neon 0 #x10fdd #x10fdd #x0 #x25ec8e79 #x4f81cbf6 #x55ad6f62 #xba2232de)
  (fftwf_codelet_q1fv_8_neon 0 #x10fdd #x10fdd #x0 #x03ffa301 #xc7de6e45 #x69aa6d45 #x72039939)
  (fftwf_codelet_r2cfII_16 2 #x11bdd #x11bdd #x0 #xf4d971ab #x381e69c1 #xc4398fe0 #x3f2135b1)
  (fftwf_dft_nop_register 0 #x11bdd #x11bdd #x0 #x43d3056b #x107b1d7a #x7012ac92 #x65a51dfb)
  (fftwf_rdft_rank0_register 2 #x10bdd #x10bdd #x0 #x6d77237b #xa1e8c30d #xc918a41b #x203419f3)
)

The file needs to be readable by the user running BOINC.

If this turns out to improve performance across most if not all ARMv7-Linux boards, we will hard-wird this wisdom into the app.

I do NOT expect this wisdom to work with Android! We are currently experimenting with wisdom files under Android as well (using OUYAs :-) ). It will also not work on Raspberry Pi's (no NEON support!), but anyway the ARMv6 BRP4 app for the Raspi under Linux already has 'wisdom' embedded in the app.

Cheers
HBE


ExtraTerrestrial Apes
ExtraTerrestria...
Joined: 10 Nov 04
Posts: 770
Credit: 540307461
RAC: 130926

Nice to see you wising up

Nice to see you wising up ;)

MrS

Scanning for our furry friends since Jan 2002

Comment viewing options

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