PDA

View Full Version : Collatz: Android Applications Now Available



RSS
03-03-14, 06:00 PM
Solo Collatz applications are now available for Android. The Android application supports ARM, x86, and MIPS (Little Endian) processors. Assuming Murphy's Law will prevail as usual even though the apps work on my hardware, please let me know of any issues.

More... (http://boinc.thesonntags.com/collatz/forum_thread.php?id=1134)

zombie67
03-03-14, 09:25 PM
Sweet! Moving my GS3 to Collatz now.

It looks like you are trying to cover all devices…so I'll ask: Any chance for a Raspberry Pi app?

Mumps
03-03-14, 09:34 PM
Isn't a Raspberry Pi just another ARM *nix device? I wonder if the Android app would just work, if delivered to a Pi...

Slicker
03-04-14, 03:31 PM
Is there a version of BOINC for Raspberry Pi? The app is actually named solo_collatz_6.00_arm-android-linux-gnu (http://boinc.thesonntags.com/collatz/download/solo_collatz_6.00_arm-android-linux-gnu) so it would stand to reason that if Pi runs an ARM Linux distro, it may work.

[Edit: Nope. I read some more and it will not work with the android app as that is for an ARMv7 processor and the Pi is an ARMv6 processor].

zombie67
03-04-14, 04:00 PM
Is there a version of BOINC for Raspberry Pi?

Yep:

http://burdeview.blogspot.com/p/raspberry-pi-boinc-project-ive-created.html


The app is actually named solo_collatz_6.00_arm-android-linux-gnu (http://boinc.thesonntags.com/collatz/download/solo_collatz_6.00_arm-android-linux-gnu) so it would stand to reason that if Pi runs an ARM Linux distro, it may work.

I'll give it a shot.

Is there a sample app_info.xml for collatz somewhere?

Slicker
03-04-14, 06:50 PM
What platform name does the BOINC Raspberry Pi use? Maybe arm-linux-gnueabi? If so, I should be able to cross compile a v6 version.

Slicker
03-04-14, 07:19 PM
From the data on the Raspberry Pi site, I added two different platforms: armv6l-unknown-linux-gnueabihf and arm-unknown-linux-gnueabihf
I also cross compiled the CPU app and added it. Let me know if it works. You shouldn't need an appp_info.xml at all for it. It compiled OK but I have no idea if it will run or not. If it doesn't work, I'll need to disable the app version until I get one that does.

zombie67
03-04-14, 08:07 PM
Dang. It errored out.

http://boinc.thesonntags.com/collatz/result.php?resultid=881292

Slicker
03-04-14, 09:18 PM
Looks like I have to install and build the other toolchain listed on the Rasperry Pi site which looks to be the better part of a day's work.

zombie67
03-04-14, 10:31 PM
Don't do that just for me!

Slicker
03-04-14, 11:08 PM
Any chance you have gcc installed on your Pi? If so, what is the output of the command: gcc -dumpmachine
I might be able to use a pre-built cross compiler available already for Ubuntu but I'm not sure yet. It sounds like depending upon which Pi distro is used, it may want arm-unknown-linux-gnueabi or it may want arm-unknown-linux-gnueabihf where the "hf" stands for hardware floating point (vs. softfp or none).

zombie67
03-05-14, 08:44 AM
pi@raspberrypi ~ $ gcc -dumpmachine
arm-linux-gnueabihf

Does that help?

Slicker
03-05-14, 01:44 PM
I created a new app for the Raspberry Pi using a cross compiler built specifically for the armv6 chip used by the Pi. I also added even smaller WUs so it can hopefully finish them within a couple days.

I almost bought one, but after adding the PSU, keyboard, mouse, USB hub, wireless USB, thumb drive, and SD card, the price was almost $100. That's pretty steep for the equivalent of a PII 300Mhz machine. For a multi-media box, it would be cheaper to get a chrome USB adapter and stream from my laptop to the TV.

zombie67
03-05-14, 05:42 PM
Hmm. Do I need to do something on my end?

raspberrypi

1961 Collatz Conjecture 3/5/2014 2:39:19 PM work fetch resumed by user
1962 Collatz Conjecture 3/5/2014 2:40:18 PM [sched_op] Starting scheduler request
1963 Collatz Conjecture 3/5/2014 2:40:18 PM Sending scheduler request: To fetch work.
1964 Collatz Conjecture 3/5/2014 2:40:18 PM Requesting new tasks for CPU
1965 Collatz Conjecture 3/5/2014 2:40:18 PM [sched_op] CPU work request: 108000.00 seconds; 1.00 devices
1966 Collatz Conjecture 3/5/2014 2:40:20 PM Scheduler request completed: got 0 new tasks
1967 Collatz Conjecture 3/5/2014 2:40:20 PM [sched_op] Server version 703
1968 Collatz Conjecture 3/5/2014 2:40:20 PM Message from server: This project doesn't support computers of type arm-unknown-linux-gnueabihf
1969 Collatz Conjecture 3/5/2014 2:40:20 PM Project requested delay of 86400 seconds
1970 Collatz Conjecture 3/5/2014 2:40:20 PM [sched_op] Deferring communication for 1 days 0 hr 0 min 0 sec
1971 Collatz Conjecture 3/5/2014 2:40:20 PM [sched_op] Reason: requested by project

Slicker
03-05-14, 10:09 PM
Hmm. Do I need to do something on my end?

raspberrypi

1961 Collatz Conjecture 3/5/2014 2:39:19 PM work fetch resumed by user
1962 Collatz Conjecture 3/5/2014 2:40:18 PM [sched_op] Starting scheduler request
1963 Collatz Conjecture 3/5/2014 2:40:18 PM Sending scheduler request: To fetch work.
1964 Collatz Conjecture 3/5/2014 2:40:18 PM Requesting new tasks for CPU
1965 Collatz Conjecture 3/5/2014 2:40:18 PM [sched_op] CPU work request: 108000.00 seconds; 1.00 devices
1966 Collatz Conjecture 3/5/2014 2:40:20 PM Scheduler request completed: got 0 new tasks
1967 Collatz Conjecture 3/5/2014 2:40:20 PM [sched_op] Server version 703
1968 Collatz Conjecture 3/5/2014 2:40:20 PM Message from server: This project doesn't support computers of type arm-unknown-linux-gnueabihf
1969 Collatz Conjecture 3/5/2014 2:40:20 PM Project requested delay of 86400 seconds
1970 Collatz Conjecture 3/5/2014 2:40:20 PM [sched_op] Deferring communication for 1 days 0 hr 0 min 0 sec
1971 Collatz Conjecture 3/5/2014 2:40:20 PM [sched_op] Reason: requested by project

Looks like I need to create another cross compiler and set up additional platforms:

arm-unknown-linux-gnueabi
vs
arm-unknown-linux-gnueabihf

The former __should__ work as it does software emulation whereas the latter uses hardware floating point. Except for percent complete, collatz doesn't use floats. But, some Pi distros use "hf" and some don't. Look like I guessed wrong.


While I work on the new cross-compiler, any chance you can try addind the following to your cc_config.xml on Pi:

<alt_platform>arm-unknown-linux-gnueabi</alt_platform>

Slicker
03-05-14, 10:52 PM
Forget that last post. I compiled versions for both "hf" and non-"hf" distros of Raspberry Pi so you should be able to get work w/o the alt_platform change.

zombie67
03-06-14, 12:25 AM
Progress! But still an issue to solve:


2065 Collatz Conjecture 3/5/2014 9:23:34 PM [sched_op] CPU work request: 108000.00 seconds; 1.00 devices
2066 Collatz Conjecture 3/5/2014 9:23:35 PM Scheduler request completed: got 0 new tasks
2067 Collatz Conjecture 3/5/2014 9:23:35 PM [sched_op] Server version 703
2068 Collatz Conjecture 3/5/2014 9:23:35 PM No tasks sent
2069 Collatz Conjecture 3/5/2014 9:23:35 PM Project has no tasks available


Update: Got a task! BOINC thinks it will take 30 days, which is a problem. But maybe it takes some time to realize a shorter time Will update in the morning.

http://boinc.thesonntags.com/collatz/result.php?resultid=940632

Slicker
03-06-14, 10:13 AM
I think the issue is that when I changed from 4 to 8 WU sizes, BOINC got confused. They were originally numbers size 0 thru 3. Now they are 0-7 but the large ones are 4-7 and the smallest are 0-3. Maybe I can change the sze_class in the database for the WUS where the size doesn't match the size class (e.g. those created prior to switching from 4 to 8).

Slicker
03-06-14, 10:23 AM
Try again now. It __should__ get a much smaller WU now.

zombie67
03-06-14, 11:09 AM
I just downloaded a task for my GS3, and it looks like it will take 12 days.

http://boinc.thesonntags.com/collatz/result.php?resultid=967823


For the Pi, 30 days.

http://boinc.thesonntags.com/collatz/result.php?resultid=968546

Slicker
03-06-14, 03:25 PM
I just downloaded a task for my GS3, and it looks like it will take 12 days.

http://boinc.thesonntags.com/collatz/result.php?resultid=967823


For the Pi, 30 days.

http://boinc.thesonntags.com/collatz/result.php?resultid=968546


If looks like DA's multi-size still needs some work since there are 8 different sizes and your devices are grabbing work from #5. #1 is 16 times smaller than the one you are getting right now. Looks like I need to dig into the code and figure out why it is so stupid that it sends really large files to really slow clients. Could be bad benchmarks, bad code, or a combination. It doesn't help that all the benchmarks use flops and Collatz only uses integers. That makes the estimates off by a factor of 8 to start with but it takes client code changes to fix it. There's nothing I can change on the server since the client sends only floating point data and no integer data.

Fire$torm
03-10-14, 04:53 PM
Why of why can't DA............

I recall reading a post on these here forums about an independent group rewriting BOINC client & server code from the ground up. Can't seem to find it now. Anyhoot, does anyone know if have they made any progress with DA on this?

zombie67
03-10-14, 05:03 PM
The rewrite-BOINC-project is dead. Nothing really since 2009.

https://code.google.com/p/synecdoche/

Fire$torm
03-10-14, 05:05 PM
Oh, I thought what I read was something currently in progress. too bad.

zombie67
03-17-14, 11:11 PM
Yes! Raspberry Pi valid result!

http://boinc.thesonntags.com/collatz/result.php?resultid=1657029

Slicker
03-21-14, 01:06 PM
I tried writing a BOINC client GUI in C# .NET but shelved it since I got tired of adding hacks to get around all the ill-formed XML BOINC uses. That, and it was like trying to hit a moving target. As soon as one part was done, the BOINC developers had changed it so it needed to be upgraded again to remain compatible.