Re: [boinc_dev] Parallella

2014-03-15 Thread Heinz-Bernd Eggenstein
Hi

Von meinem iPad gesendet

 Am 15.03.2014 um 11:27 schrieb TarotApprentice tarotapprent...@yahoo.com:
 
 I am sure HBE would have run BOINC on the Parallella

Still waiting for my board. I am a last minute backer for parallella 
Kickstarter campaign, so my board will be in the last batch :-(.

Cheers
HB
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Boinc on Parallella

2014-03-14 Thread Heinz-Bernd Eggenstein
Hi!

Parallella uses an ARM 9 chip and the Raspberry Pi uses an ARM 7. Is ARM 
9
just newer and backward compatible with ARM 7 , or is it a totally
different instruction set?  The reason I ask is that the Raspberry Pi 
apps
use armhf (depending upon the distro I think) so would those apps work or
is a new version required?

The ARM nomenclature is a bit confusing. 

Actually Raspberry Pi uses an ARM 11 (!) type core which belongs to the 
ARMv6 architecture/instruction set.
Parallella uses ARM Cortex-A9 cores, which belong to the  ARMv7 
architecture/instruction set

ARMv7 is backwards compatibel to ARMv6 . Before we at Einstein@Home made a 
dedicated ARMv7 Linux versions, users were happily running the RasPi ARMv6 
version  on their ARMv7 Linux boards.

David wrote:
The question is whether represent it as an existing platform
with a new type of coprocessor, or as a new platform.
I suggest the latter.

I  suggest the former (coprocessor)
Reasons:
- Parallella is planned to come in several flavors with Epiphany chips 
having 16 cores (initial (current) version), 64 cores (maybe next year?), 
or even 1024 cores eventually. To me this will more naturally map to a 
scenario where the Epiphany is modelled as a coprocessor.

- Even more so in the future: Future versions might come with newer ARM 
cores as well (say eventually ARMv8 , the 64 bit instruction set). If you 
model the Epiphany as a coprocessor, you can deal with all the 
combinations of ARM-cores and Epiphany chips in an orthogonal way (CPU and 
coprocessor types separately), if you model it as a platform you have to 
map the matrix of possible combinations to one type I guess.

- The ARM on the Parallela is a dual-core, so in theory you can execute 
two BOINC tasks in parallel (BOINC will be running on the ARM cores, not 
the epiphany cores).  So you have to solve the same scheduling problem as 
with GPUs, where some tasks might need the full Epiphany chip (the default 
scenario I guess) but you can still run another task on the other ARM 
core, e.g. a task from a project that does not support the Ephiphany 
coprocessor if you model it that way. 


Cheer
HB
 

 
-
Heinz-Bernd Eggenstein
Max Planck Institute for Gravitational Physics
Callinstrasse 38
D-30167 Hannover,  Germany
Tel.: +49-511-762-19466 (Room 037)



From:   Jon Sonntag j...@thesonntags.com
To: Stephen Maclagan stephen.macla...@hotmail.com, 
Cc: boinc_dev@ssl.berkeley.edu boinc_dev@ssl.berkeley.edu
Date:   03/14/2014 05:09 AM
Subject:Re: [boinc_dev] Boinc on Parallella
Sent by:boinc_dev boinc_dev-boun...@ssl.berkeley.edu



Parallella uses an ARM 9 chip and the Raspberry Pi uses an ARM 7. Is ARM 9
just newer and backward compatible with ARM 7 , or is it a totally
different instruction set?  The reason I ask is that the Raspberry Pi apps
use armhf (depending upon the distro I think) so would those apps work or
is a new version required?

Jon Sonntag

On Thu, Mar 13, 2014 at 4:35 PM, Stephen Maclagan 
stephen.macla...@hotmail.com wrote:

 The first Boinc user to get Boinc running on a Parallella has happened:

 http://forums.parallella.org/viewtopic.php?f=22t=1026

 Since the Boinc version that apt-get gives is only Boinc 7.2.7,
 i've asked Gianfranco Costamagna to see if he can get his following
 packages fixed so they'll build for armhf:

 https://launchpad.net/~costamagnagianfranco/+archive/boinc

 https://launchpad.net/~costamagnagianfranco/+archive/firefox

 Then at least Parallella Boinc users can get an up to date version,
 and any changesets can be pushed to them reasonably quickly.
 (Unless the Saucy Salamander Boinc 7.2.7 can be updated to 7.2.42)

 Claggy

 ___
 boinc_dev mailing list
 boinc_dev@ssl.berkeley.edu
 http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
 To unsubscribe, visit the above URL and
 (near bottom of page) enter your email address.

___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Estimated Time Remaining, frictional reporting ...

2014-02-13 Thread Heinz-Bernd Eggenstein
Hi!

The question, however, is this: is BOINC as smart as a 4th grader - can 
it avoid falsely 
claiming that work units won't finish on time, thus misleading users into 
aborting work 
units that appear to have absolutely no chance of making their deadline?

Maybe the real problem is that the info BOINC manager displays as an 
estimate has no measure of confidence or uncertainty attached (it lacks 
error bars, if you want). 

If an estimate is just it will take 100 hrs, 10 min, 5 sec , updated 
every second, the user reaction will (understandably)  be  different 
compared to something like (say) 
100 hrs (+/- 80 hrs).

No matter what scheme is used for the estimation, there will  always be 
some uncertainty and while I'm not familiar with the BOINC code on the 
projected runtime, if things like the standard deviation of runtime per 
task is kept (I think this was mentioned), plus some [new] project 
supplied measure of uncertainty of the flops estimate for a workunit, it 
might be possible to give a better (more useful, less misleading) estimate 
by including an uncertainty.

Just my 2 cents.

Cheers
HBE



-
Heinz-Bernd Eggenstein
Max Planck Institute for Gravitational Physics
Callinstrasse 38
D-30167 Hannover,  Germany
Tel.: +49-511-762-19466 (Room 037)



From:   William bcdecbi...@yahoo.com
To: Jon Sonntag j...@thesonntags.com, elliott...@verizon.net 
elliott...@verizon.net, 
Cc: BOINC Developers Mailing List @berkeley.edu 
boinc_dev@ssl.berkeley.edu
Date:   02/13/2014 12:53 AM
Subject:Re: [boinc_dev] Estimated Time Remaining, frictional 
reporting ...
Sent by:boinc_dev boinc_dev-boun...@ssl.berkeley.edu



The question, however, is this: is BOINC as smart as a 4th grader - can it 
avoid falsely claiming that work units won't finish on time, thus 
misleading users into aborting work units that appear to have absolutely 
no chance of making their deadline?

Signs point to NO.

 
~
Rightful liberty is unobstructed action according to our will within 
limits drawn around us by the equal rights of others. I do not add 'within 
the limits of the law' because law is often but the tyrant's will, and 
always so when it violates the rights of the individual. - Thomas 
Jefferson



On Wednesday, February 12, 2014 5:28 PM, Jon Sonntag j...@thesonntags.com 
wrote:
 
If after 5 minutes, a workunit  is 10% done and after 10 minutes it is 20%
done, I don't need a domain expert.  A 4th grade student should be able 
to
calculate that it will take a total of 50 minutes to complete and that 40
minutes remain.

Jon Sonntag

P.S. I went to a tax professional once. They charged a lot and they got 
it
wrong.  The IRS corrected it and sent me a refund.



On Tue, Feb 11, 2014 at 6:18 AM, Charles Elliott 
elliott...@verizon.netwrote:

 Although I am a CS grad student, I urge you to reconsider choosing CS 
grad
 students to work on this problem and consider instead using domain 
experts
 in statistics and/or Operations Research or Systems, or perhaps even an
 interdisciplinary team.  Old research shows  that it is much more
 cost-effective to hire domain experts and teach them to program 
computers
 than it is to hire CS grads and try to teach them the domain.  Suppose 
your
 income tax preparation was a complex process.  Which would you want do 
it:
 a
 CS grad who wrote the fastest program possible, or a tax law expert who
 could save you months of work on an IRS tax audit and keep you out of 
jail?

 Charles Elliott

 -Original Message-
 From: boinc_dev [mailto:boinc_dev-boun...@ssl.berkeley.edu] On Behalf 
Of
 David Anderson
 Sent: Monday, February 10, 2014 10:58 PM
 To: boinc_dev@ssl.berkeley.edu
 Subject: Re: [boinc_dev] Estimated Time Remaining, frictional reporting 
...

 In general we've put statistics-gathering into server rather than 
client
 because
 - it gives uniform data over the entire host population
 - it puts the data all in one place

 Currently these statistics are just the bare essentials:
 mean and standard deviation of elapsed time, turnaround time, and
 credit-related quantities.
 We maintain these per (host, app version) and per app version.
 We use them to estimate job duration and to compute credit.

 As you point out, there are many other types of info we could track, 
and
 many visualizations that could offered.
 This is an area were having a few CS grad students working on BOINC 
would
 be
 a big help.

 -- David

 On 10-Feb-2014 4:01 PM, Max Power wrote:
 
  Many types of distributed computing applications don't due uniform
  processing (and reporting on percent done) like SETI, Astropulse or
  Einstein ... and the biological science applications (and image
  rendering ones) have taken some time to discipline the reporting of
 percent done.
 
  What the BOINC Client does not do is use the hashsums of computing
  applications (as sometimes they run in pairs as in Climate 
Prediction)
  to form

Re: [boinc_dev] RFE: restart automatically all uploads of a project if one upload job was successfully retried

2014-01-29 Thread Heinz-Bernd Eggenstein
Hi
 IMO all other upload job of the same project should be retried too
 automatically instead  manually kick every job.

I would not mind if the uploads are done with some delay in between in the 
situation you described. Imagine a situation when a bigger project can't accept 
uploads for some time (say up to several days) for whatever reason 
(maintenance, HW failure, ). In the meantime hosts can accumulate 100s of 
completed results, and while BOINC will only try to upload so many files 
simultaneously, thousands of hosts trying to upload 100s of results in a very 
short timespan after the upload server comes online again can overwhelm the 
server.

Cheers
HB


Von meinem iPad gesendet

 Am 29.01.2014 um 22:05 schrieb Toralf Förster toralf.foers...@gmx.de:
 
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA256
 
 Today I had have 4 hanging upload jobs for WCG.
 After I while I restarted one of the four successfully.
 
 IMO all other upload job of the same project should be retried too
 automatically instead  manually kick every job.
 
 - -- 
 MfG/Sincerely
 Toralf Förster
 pgp finger print:1A37 6F99 4A9D 026F 13E2 4DCF C4EA CDDE 0076 E94E
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v2.0.22 (GNU/Linux)
 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
 
 iF4EAREIAAYFAlLpbQMACgkQxOrN3gB26U4UFwD8D0IaRR9LPwpomwI/nPrbMLbP
 scDdWLY0BQafzNkIk7YBAIrcbBVJTTyGHjNjE73SrP+SbP0paE6U9AvqBQ/9mTrP
 =cL/j
 -END PGP SIGNATURE-
 ___
 boinc_dev mailing list
 boinc_dev@ssl.berkeley.edu
 http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
 To unsubscribe, visit the above URL and
 (near bottom of page) enter your email address.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

[boinc_dev] Build problem (ignoring missing jpeglib.h)

2014-01-17 Thread Heinz-Bernd Eggenstein
Hi!

There seems to be a problem in checking the pre-requisites for compiling 
the graphics related parts of the BOINC API: if libGLUT and friends 
**ARE** installed, but jpeglib.h is missing, the configure script will 
output a warning saying continue building the non-graphical parts of the 
BOINC API, but in fact it will still try to build boinc/api/gutil.cpp , 
which must fail w/o jpeglib.h. 

The problem and a suggested fix are illustrated by the attached patch



Cheers
HB





-
Heinz-Bernd Eggenstein
Max Planck Institute for Gravitational Physics
Callinstrasse 38
D-30167 Hannover,  Germany
Tel.: +49-511-762-19466 (Room 037)

0001-Bug-fix-Do-not-try-to-compile-graphics-part-of-API-i.patch
Description: Binary data
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Re: [boinc_dev] android: account manager support

2013-09-12 Thread Heinz-Bernd Eggenstein
Hi Joachim!

I like the blue background design, loos very intuitive to me! I have never 
worked with BOINC account managers tho, I'll need to learn more about it 
before I can really test this.
 
Cheers
HB



-
Heinz-Bernd Eggenstein
Max Planck Institute for Gravitational Physics
Callinstrasse 38
D-30167 Hannover,  Germany
Tel.: +49-511-762-19466 (Room 037)



From:   Joachim Fritzsch joachim.fritz...@gmail.com
To: Keith J Uplinger upl...@us.ibm.com, Kevin Reed 
knr...@us.ibm.com, Heinz-Bernd Eggenstein 
heinz-bernd.eggenst...@aei.mpg.de, David Anderson (UCBerkeley) 
da...@ssl.berkeley.edu, Rom Walton r...@romwnet.org, Carl Christensen 
carl...@yahoo.com, 
Cc: boinc_dev@ssl.berkeley.edu boinc_dev@ssl.berkeley.edu, 
eah_andr...@aei.mpg.de eah_andr...@aei.mpg.de
Date:   09/11/2013 08:01 PM
Subject:android: account manager support



I have committed code changes to support account managers in the Android 
GUI.

There are a few screenshots in my dropbox
https://www.dropbox.com/sh/i1ebp0xffoujx3m/H_jKaIQwNa

- complete blue background indicates: account manager
- blue background of project icon indicates that this project gets
managed by the manager (and can therefore not be removed manually, see
31)
- attaching account manager via additional button on bottom of project
list (21), only shown if not already attached (22)

Tested so far with GridRepublic and BAM!.

Feedback welcome.

Joachim

___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] android -- boinc not storing cpu features (/proc/cpuinfo features)

2013-08-22 Thread Heinz-Bernd Eggenstein
Hi Carl

 Hi, I may be late to this party, but am I right in thinking boinc isn't 
 parsing out the cpu features on Android?  for example my phone supports vfp, 
 vfpv3, and neon, but on my Einstein@home record it says No coprocessor
 

No coprocessor here means that no GPU is detected. The Android BOINC client is 
checking the presence of CPU features and forwarding those in scheduler 
requests, e.g. we at E@H use this information to distinguish devices w/ and w/o 
NEON (even tho we don't show the CPU features in the web interface). 

Cheers
HB
Von meinem iPad gesendet

___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] : BOINC (windows) doesn't report avx processor feature

2013-08-16 Thread Heinz-Bernd Eggenstein
Hi 

We are in the process of updating our Windows toolchain to a more recent
version of Visual Studio.
It isn't enough to just check if the instruction set is present, we also
need to check whether the OS is saving and restoring the registers as
well. 

Just curious, what are the plans for Linux and OSX (as you mentioned 
Windows specifically). Will the BOINC client also 
check for OS support of AVX before reporting this CPU  feature? 

Cheers
HB

 
-
Heinz-Bernd Eggenstein
Max Planck Institute for Gravitational Physics
Callinstrasse 38
D-30167 Hannover,  Germany
Tel.: +49-511-762-19466 (Room 037)



From:   Rom Walton r...@romwnet.org
To: Kosuke Kaizuka cai.0...@gmail.com, 
boinc_dev@ssl.berkeley.edu, 
Date:   08/16/2013 07:47 AM
Subject:Re: [boinc_dev] : BOINC (windows) doesn't report avx 
processor   feature
Sent by:boinc_dev boinc_dev-boun...@ssl.berkeley.edu



We are in the process of updating our Windows toolchain to a more recent
version of Visual Studio.

It isn't enough to just check if the instruction set is present, we also
need to check whether the OS is saving and restoring the registers as
well.  That required a more recent assembler than what we are currently
using.

Once we have the updated toolchain we will finish up with the rest of
the detection and get it ported over to the 7.2 branch.

- Rom

-Original Message-
From: Kosuke Kaizuka [mailto:cai.0...@gmail.com] 
Sent: Friday, August 16, 2013 12:27 AM
To: Rom Walton; boinc_dev@ssl.berkeley.edu
Subject: Re: [boinc_dev] : BOINC (windows) doesn't report avx processor
feature

BOINC 7.2.10/7.2.11 does not detect AVX feature with Core i7-2600  Win7
Professional x64 SP1...

2013/08/16 13:06:30 |  | No config file found - using defaults
2013/08/16 13:06:30 |  | Starting BOINC client version 7.2.11 for
windows_x86_64
2013/08/16 13:06:30 |  | log flags: file_xfer, sched_ops, task
2013/08/16 13:06:30 |  | Libraries: libcurl/7.25.0 OpenSSL/1.0.1
zlib/1.2.6
2013/08/16 13:06:30 |  | Data directory: D:\BOINC
2013/08/16 13:06:30 |  | Running under account Kosuke
2013/08/16 13:06:30 |  | Processor: 8 GenuineIntel Intel(R)
Core(TM) i7-2600 CPU @ 3.40GHz [Family 6 Model 42 Stepping 7]
2013/08/16 13:06:30 |  | Processor features: fpu vme de pse tsc msr pae
mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr
sse sse2 ss htt tm pni ssse3 cx16 sse4_1 sse4_2 popcnt aes syscall nx lm
vmx smx tm2 pbe
2013/08/16 13:06:30 |  | OS: Microsoft Windows 7: Professional x64
Edition, Service Pack 1, (06.01.7601.00)
2013/08/16 13:06:30 |  | Memory: 15.98 GB physical, 15.98 GB virtual
2013/08/16 13:06:30 |  | Disk: 886.28 GB total, 560.33 GB free
2013/08/16 13:06:30 |  | Local time is UTC +9 hours
2013/08/16 13:06:30 |  | VirtualBox version: 4.2.16
2013/08/16 13:06:30 |  | CAL: ATI GPU 0: AMD Radeon HD 7850/7870 series
(Pitcairn) (CAL version 1.4.1848, 2048MB, 2008MB available, 6400 GFLOPS
peak)
2013/08/16 13:06:30 |  | OpenCL: AMD/ATI GPU 0: AMD Radeon HD 7850/7870
series (Pitcairn) (driver version 1272.2 (VM), device version OpenCL 1.2
AMD-APP (1272.2), 2048MB, 2008MB available, 6400 GFLOPS peak)
--
Kosuke Kaizuka cai.0...@gmail.com

___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] ARM questions

2013-07-23 Thread Heinz-Bernd Eggenstein
Hi!

There are two floating point ABIs for arm-linux corresponding to the
calling conventions used for passing floating point parameters (memory
vs registers, I presume). 

..and Floating point registers vs passing floats in integer registers ( 
split in two for doubles...gr). 

A really good overview on Linux ARM ABI QA can be found at Debian, most 
of it should be valid in general for other Linuxes: 
http://wiki.debian.org/ArmHardFloatPort#Background_information

Here's where I start to get confused.  Tell me if I've got this right.

Let's see :-)

The gcc default is to use the soft float ABI,

GCC will use the best default for the platform it was compiled for. E.g. 
on Debian armhf Linux port, it will use hard float by default. More on 
this later.

The gcc default is to use the soft float ABI, which results in the
generation of calls to implement emulations of floating point path.

See the section ld.so hwcaps on the Debian page linked above. Even with 
soft ABI, there will be a benefit for devices actually having VFP 
hardware, it's not like soft-ABI implies software emulation. Still the 
overhead is considerable (a function call, some register shuffling, for 
each FP op)

If one specifies -mfloat-abi=softfp the compiler generates hardware
floating point instructions but uses the softfp call convention.

Correct.

The hard float is chosen by -mfloat-abi=hard.  For this a VFP is
required, but it is the most efficient mode. 

Correct.

FFTW 3.3.3, for some
reason, thinks this mode is incompatible with NEON SIMD code, though.

I would consider this a bug, but I kind of doubt this is a problem. 
Here is a report of someone claiming to have used FFTW 3.3.3 with 
hardfloat ABI and NEON support enabled:
https://bitbucket.org/jpommier/pffft   (search the page for 
--enable-neon )

So if I wanted to target the widest variety of devices.  I'd make one
executable with the default (software) FP.  I'd make one with softfp
including NEON code in FFTW.  And I'd make one for hardfp without NEON
code in FFTW. 

The important point is that you are NOT free to decide which ABI (hard or 
soft(fp)) you want to use for a given target system. The target OS is 
either having libraries that are expecting getting values passed the 
hard or the soft way. If the target system is soft-ABI, you are free 
to choose soft or softfp code, tho.


I hope there's something in the BOINC headers or host
record that would tell me which one to send.

The way to communicate the ABI of the host OS is the platform string. 

Presence of certain hardware and instruction set features for ARM CPUs are 
found in the CPU capabilities, but note that detailed support e.g. for 
detecting NEON or VFP were added only recently to BOINC. Some legacy BOINC 
installaions on ARM (e.g. BOINC from the official distribution repos) will 
not give you this information.

Android throws in another twist in that pre-ARMv7 devices can only use
software floating point. 

Android has two ABIs defined, pre ARMv7 and Armv7, but **both** are of the 
soft-floating point variant (!). In general, hardfloat code will not run 
correctly on Android devices.
See the document docs/CPU-ARCH-ABIS.html  of the Android NDK. 

Here's the crucial quote:
=
I.2. 'armeabi-v7a'
[...]

  IMPORTANT NOTE: This ABI enforces that all double values are passed 
during
  function calls in 'core' register pairs, instead of dedicated FP ones.
  However, all internal computations can be performed with the FP 
registers
  and will be greatly sped up.

  This little constraint, while resulting in a slight decrease of
  performance, ensures binary compatibility with all existing 'armeabi'
  binaries.


which essentially says that even this ABI is a soft float ABI (!!). You 
can check the commandline option that NDK will use for gcc: even for the 
ARMv7 ABI it will be -mfloat-abi=softfp

It's not clear from the documents whether
all androidabi-v7a devices are required to have a VFP

I understand the section in the quoted document above to mean that VFP is 
mandatory for the armeabi-v7a ABI, and NEON is optional. But yeah, the 
wording could be more precise.

and whether their GCC port defaults to hardfp
generation.
See above. GCC may technically allow  to set the hardfloat ABI on the 
commandline in the NDK build of gcc, but all the runtime libs in the NDK 
are soft float ABI. So no hardfloat ABI support in the NDK and Android 
versions targeted by the official NDK!!!

It's almost getting back to the early days of SUN when every
workstation had a different FPU.

Indeed, the ARM-world is very modular and full of variants, and it's not 
just floating point :  e.g. one other CPU feature that needs to be treated 
with care is the Thumb instruction set which can be used to minimise 
code size, but is not supported by all devices.

Cheers
HB


-
Heinz-Bernd Eggenstein
Max Planck Institute for Gravitational Physics
Callinstrasse

[boinc_dev] RAM requirent depending on plan class

2013-07-23 Thread Heinz-Bernd Eggenstein
Dear all,

I'd like to hear comments on the following problem/idea:

For Android on ARM, we at E@H have optimised our science app to require 
less RAM than our regular CPU app versions for x86 CPUs.

OTOH, we would like to have only one application (in the BOINC 
terminology) for all CPU platforms, so only one suite of work generators, 
validators etc is needed and x86 and ARM app versions get the same tasks 
and can even cross-validate against each other, which we think is good.

But as the memory requirements are associated to the work unit,  we have 
to use the maximum value for all the different app versions/ plan classes. 


IMHO the situation is somewhat similar to the execution speed differences 
for different plan classes that cannot be fully modelled by the BOINC 
benchmark results (e.g. for CPU-GPU comparison) and I understand that the 
solution for this was a scaling factor that can be configured with plan 
classes to let the scheduler know that results are computed faster by a 
certain factor for a particular plan class compared to what BOINC would 
assume otherwise. 

Would it be feasible/a good idea to also have a configurable scaling 
factor for RAM requirements, perhaps ?? I think many projects will find 
that optimising for RAM size is important for Android. 

Cheers
HB


-
Heinz-Bernd Eggenstein
Max Planck Institute for Gravitational Physics
Callinstrasse 38
D-30167 Hannover,  Germany
Tel.: +49-511-762-19466 (Room 037)
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] RAM requirement depending on plan class

2013-07-23 Thread Heinz-Bernd Eggenstein
Hi!

But I think you've chosen a poor example with the CPU-GPU speed 
relationship

Agreed, and I hope I didn't open a can of worms here because getting the 
RAM requirement handled better was my main concern :-) , e.g.  we have a 
factor of about 2 between the required RAM for x86 CPUs and ARM CPUs for 
one application. 
While the speed up factor for tweaking the runtime estimates especially 
for GPUs might not be ideal, it seems to work kind of reasonably well at 
least for our project, E@H. But that's a different issue.

Cheers
HB


-
Heinz-Bernd Eggenstein
Max Planck Institute for Gravitational Physics
Callinstrasse 38
D-30167 Hannover,  Germany
Tel.: +49-511-762-19466 (Room 037)



From:   Richard Haselgrove r.haselgr...@btopenworld.com
To: Heinz-Bernd Eggenstein heinz-bernd.eggenst...@aei.mpg.de, BOINC 
Developers Mailing List boinc_dev@ssl.berkeley.edu, 
Date:   07/23/2013 04:01 PM
Subject:Re: [boinc_dev] RAM requirent depending on plan class



I think we need to be careful about the scoping validity of data, and we 
haven't always been in the past.

In this particular case, I think that it's a reasonable assumption that 
the RAM requirements of an application (again in the BOINC terminology) on 
one platform have a deterministic relationship with the RAM requirements 
on other platforms. All of that is knowable by the project team, and 
suitable for implementation on the server.

But I think you've chosen a poor example with the CPU-GPU speed 
relationship. There is no necessary or deterministic relationship between 
the speed of a GPU, and the speed of the CPU of the host it's mounted in 
(and to confuse matters further, there's no necessary relationship between 
the speeds of two different GPUs in the same host).

The current code assumes (as a starting point) that a generic GPU is 10x 
the speed of the associated CPU: I suspect that this assumption - along 
with a sub-optimal choice of plan_class by the server - is the underlying 
cause of a recent report of 'EXIT_TIME_LIMIT_EXCEEDED' errors at SETI 
Beta.

http://setiweb.ssl.berkeley.edu/beta/forum_thread.php?id=2008

From: Heinz-Bernd Eggenstein heinz-bernd.eggenst...@aei.mpg.de
To: BOINC Developers Mailing List boinc_dev@ssl.berkeley.edu 
Sent: Tuesday, 23 July 2013, 12:54
Subject: [boinc_dev] RAM requirent depending on plan class

Dear all,

I'd like to hear comments on the following problem/idea:

For Android on ARM, we at E@H have optimised our science app to require 
less RAM than our regular CPU app versions for x86 CPUs.

OTOH, we would like to have only one application (in the BOINC 
terminology) for all CPU platforms, so only one suite of work generators, 
validators etc is needed and x86 and ARM app versions get the same tasks 
and can even cross-validate against each other, which we think is good.

But as the memory requirements are associated to the work unit,  we have 
to use the maximum value for all the different app versions/ plan classes. 



IMHO the situation is somewhat similar to the execution speed differences 
for different plan classes that cannot be fully modelled by the BOINC 
benchmark results (e.g. for CPU-GPU comparison) and I understand that the 
solution for this was a scaling factor that can be configured with plan 
classes to let the scheduler know that results are computed faster by a 
certain factor for a particular plan class compared to what BOINC would 
assume otherwise. 

Would it be feasible/a good idea to also have a configurable scaling 
factor for RAM requirements, perhaps ?? I think many projects will find 
that optimising for RAM size is important for Android. 

Cheers
HB


-
Heinz-Bernd Eggenstein
Max Planck Institute for Gravitational Physics
Callinstrasse 38
D-30167 Hannover,  Germany
Tel.: +49-511-762-19466 (Room 037)
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Android (was ARM questions)

2013-07-23 Thread Heinz-Bernd Eggenstein

One more thing:

Am 23.07.2013 um 23:04 schrieb Eric J Korpela korp...@ssl.berkeley.edu:

 And if you're sending to android on ARMv6 with VFP or NEON, it seems
 to me that you are doing something that the NDK says is not supported
 by either ABI.

I just found this on the Google Playstore: an app (or rather library I guess) 
that is specifically written for ARMv6+VFP to make use of hardware fp 
instructions, and it seems to work fine:

https://play.google.com/store/apps/details?id=roman10.media.converter.v6vfp

Cheers
HB




___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] : BOINC (windows) doesn't report avx processor feature

2013-07-22 Thread Heinz-Bernd Eggenstein
Hi

Von meinem iPad gesendet

Am 23.07.2013 um 00:18 schrieb Juha juha.sointus...@gmail.com:

 I'm not quite sure I understand what that article was about.
 
 Anyway, since 7 RTM, Vista and earlier Windowses don't handle the new
 processor registers AVX brought, I would expect that AVX science
 applications won't work properly on those operating system versions. That
 is, the science application will produce sooner or later garbage results.
 
 If that is the case then either BOINC shouldn't report AVX support on those
 OS versions or the scheduler should check for processor features + OS
 version.
 

BOINC (or the scheduler) would have to make this decision also for Linux and 
MacOS, and then there is AVX2 available now...

Project developers might want to look into an alternative, which would also 
work for legacy BOINC clients: letting the science app handle instruction set 
optimized code paths at runtime, I think the Intel compilers and intel 
libraries like IPP can do this quite well, e.g see here 

http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-understanding-cpu-optimized-code-used-in-intel-ipp

Cheers
HB


 -Juha
 
 
 On 23 July 2013 00:41, Wolfgang Schwieger wolfg...@schwieger.de wrote:
 
 As you can see here
 http://msdn.microsoft.com/en-us/library/windows/desktop/ff919571(v=vs.85).aspx
  this
 is no problem for BOINC.
 
 ** **
 
 When a new windows version of BOINC is available (with reporting of AVX) i
 will test it with WinXP/WinXP-64bit, and if it is reporting AVX…..i will
 test it with the PrimeGrid app  ;-)
 
 ** **
 
 --Wolfgang
 
 ** **
 
 *Von:* Juha [mailto:juha.sointus...@gmail.com]
 *Gesendet:* Montag, 22. Juli 2013 23:18
 *An:* Rom Walton
 *Cc:* Wolfgang Schwieger; BOINC Developers Mailing List
 *Betreff:* Re: [boinc_dev] : BOINC (windows) doesn't report avx processor
 feature
 
 ** **
 
 AVX needs support from operating system and according to Wikipedia the
 first Windows to support AVX is 7 SP1.
 
 Should the client report all the features that could be available and
 leave it to the scheduler to decide what is safe to use or should the
 client report only those features that the entire system supports?
 
 
 (SSEn needs OS support as well, but since that was added in Win 95 or 98
 maybe we can safely assume the support is always available.)
 
 -Juha
 
 ** **
 
 On 22 July 2013 20:09, Rom Walton r...@romwnet.org wrote:
 
 Done.
 
 Revision: 9b2d0f992f6669d31d1996c4fc105ce22324445b
 Author: Rom Walton
 Date: 7/22/2013 1:08:36 PM
 Message:
 client: Add detection of the AVX instruction set for newer processors
 
 
 
 Modified: client/hostinfo_win.cpp
 
 - Rom
 
 
 -Original Message-
 From: boinc_dev [mailto:boinc_dev-boun...@ssl.berkeley.edu] On Behalf Of
 Wolfgang Schwieger
 Sent: Monday, July 22, 2013 1:02 PM
 To: 'BOINC Developers Mailing List'
 Subject: [boinc_dev] : BOINC (windows) doesn't report avx processor
 feature
 
 Hi all,
 
 BOINC (windows) reports these processor features for a sandy bridge CPU
 (2600k):
 Processor features: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
 mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss htt tm pni
 ssse3 cx16
 sse4_1 sse4_2 popcnt aes syscall nx lm vmx tm2 pbe
 
 But there is no avx entry, so PrimeGrid cannot deliver the new
 GeneferAVX application to windows hosts.
 
 Can you please add this line to hostinfo_win.cpp (e.g. line 1075)?
 
 FEATURE_TEST(std_supported, (std_ecx  (1  28)), avx );
 
 
 Regards
 Wolfgang Schwieger
 
 
 
 ___
 boinc_dev mailing list
 boinc_dev@ssl.berkeley.edu
 http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
 To unsubscribe, visit the above URL and
 (near bottom of page) enter your email address.
 ___
 boinc_dev mailing list
 boinc_dev@ssl.berkeley.edu
 http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
 To unsubscribe, visit the above URL and
 (near bottom of page) enter your email address.
 
 ** **
 
 ___
 boinc_dev mailing list
 boinc_dev@ssl.berkeley.edu
 http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
 To unsubscribe, visit the above URL and
 (near bottom of page) enter your email address.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Re: [boinc_dev] Project list icon for Intel GPU support?

2013-07-19 Thread Heinz-Bernd Eggenstein
Hi!

I like the idea to get an indication (e.g. highlighting of projects in the 
list) whether or not a given project will run on the device used to 
attach, but OTOH volunteers typically have more than one BOINC capable 
device. 
E.g. I'd like to see a little Android logo displayed for projects that 
support those clients, even if that project has no work for the PC that is 
used to browse the list so, volunteers see what might be possible on other 
devices he/she owns.

Cheers
HB


 

 
-
Heinz-Bernd Eggenstein
Max Planck Institute for Gravitational Physics
Callinstrasse 38
D-30167 Hannover,  Germany
Tel.: +49-511-762-19466 (Room 037)



From:   Jon Sonntag j...@thesonntags.com
To: David Anderson da...@ssl.berkeley.edu, 
Cc: BOINC Developers Mailing List @berkeley.edu 
boinc_dev@ssl.berkeley.edu
Date:   07/19/2013 02:13 AM
Subject:Re: [boinc_dev] Project list icon for Intel GPU support?
Sent by:boinc_dev boinc_dev-boun...@ssl.berkeley.edu



That would be simpler than adding every type of coprocessor or platform as
the list continues to grow.
Would it also take into account the no alt platform setting so that if a
64-bit user wants only 64-bit apps and the project doesn't have them that
it wouldn't show that it has apps that will run on this client?
Would the project list be filtered so that the projects that won't run at
all on the client (e.g. WEP if running Windows) wouldn't even be listed if
neither the CPU or GPU apps were compatible?  Or maybe have that as an
option in the preferences. In other words, don't taunt people by showing
projects they can't use. That, or add a warning when they try and connect
that says [in a bad French accent] Now go away or I shall have to taunt
you a second time!  ;-)

Jon Sonntag


On Thu, Jul 18, 2013 at 6:57 PM, David Anderson 
da...@ssl.berkeley.eduwrote:

 I'd also like to change things so that the add-project dialog shows:

 1) whether this project has apps that will run on this client
 2) whether this project has apps that will use this client's GPU(s)

 ... rather than listing all the platforms and GPUs that the project
 supports.

 -- David

 On 18-Jul-2013 6:55 AM, Heinz-Bernd Eggenstein wrote:

 Dear all,

 In the projects list displayed when choosing a project to attach to, 
would
 it be possible to have an icon displayed for project supports 
Intel-GPUs
 (like the ones for ATI/AMD and NVIDIA GPU support in
 /clientgui/res/templates ) ?

 (I'm not sure how much of a hassle one has to go thru for this , e.g. 
ask
 Intel for permission to use a shrinked logo)

 THX,
 Cheers
 HB

 --**--**-
 Heinz-Bernd Eggenstein
 Max Planck Institute for Gravitational Physics
 Callinstrasse 38
 D-30167 Hannover,  Germany
 Tel.: +49-511-762-19466 (Room 037)
 __**_
 boinc_dev mailing list
 boinc_dev@ssl.berkeley.edu
 http://lists.ssl.berkeley.edu/**mailman/listinfo/boinc_dev
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
 To unsubscribe, visit the above URL and
 (near bottom of page) enter your email address.

  __**_
 boinc_dev mailing list
 boinc_dev@ssl.berkeley.edu
 http://lists.ssl.berkeley.edu/**mailman/listinfo/boinc_dev
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
 To unsubscribe, visit the above URL and
 (near bottom of page) enter your email address.

___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


[boinc_dev] Project list icon for Intel GPU support?

2013-07-18 Thread Heinz-Bernd Eggenstein
Dear all, 

In the projects list displayed when choosing a project to attach to, would 
it be possible to have an icon displayed for project supports Intel-GPUs 
(like the ones for ATI/AMD and NVIDIA GPU support in 
/clientgui/res/templates ) ? 

(I'm not sure how much of a hassle one has to go thru for this , e.g. ask 
Intel for permission to use a shrinked logo)

THX,
Cheers
HB
 
-
Heinz-Bernd Eggenstein
Max Planck Institute for Gravitational Physics
Callinstrasse 38
D-30167 Hannover,  Germany
Tel.: +49-511-762-19466 (Room 037)
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


[boinc_dev] CPU throttling and GPU apps

2013-07-04 Thread Heinz-Bernd Eggenstein
Hi all!

While hunting for a bug recently, we at Einstein@Home came across a 
question that I would like to present for discussion here:

If an app has a non zero GPU share (GPU app for short), should CPU 
throttling (as configured thru the preferences setting Use at most x % of 
CPU time) be applied to it?

I guess there are several pros and cons, e.g.:

cons: 
  - one one hand, GPU apps (depending on the CPU share?) get a higher OS 
prio (in terms of niceness) to prevent the GPU being starved. Throttling 
the CPU might very well cause this starvation
  - if a GPU app has a rather low CPU runtime share in the first place, 
further CPU throttling does not seem too useful.
  - in order to avoid GPU load to interfere with the user doing non-BOINC 
related stuff, there is already the setting Suspend GPU work while 
computer is in use.  

pros:
  I can't think about many, maybe consistency and user expectation?

Volunteer reports at E@H seem to suggest that in the current BOINC client 
version, GPU apps are indeed CPU throttled, right?
Browsing thru the source code, my initial impression is that only NCI 
(non-CPU-intensive) apps are excluded from throttling.

Cheers
HB 

-
Heinz-Bernd Eggenstein
Max Planck Institute for Gravitational Physics
Callinstrasse 38
D-30167 Hannover,  Germany
Tel.: +49-511-762-19466 (Room 037)
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Boinc Client Platform String for ARM devices

2013-07-03 Thread Heinz-Bernd Eggenstein
Hi

As you mentioned the Raspberry Pi: BOINC is available in the repo of Raspian, a 
Debian wheezy  fork, and it uses the platform string 
'arm-unknown-linux-gnueabihf'.

It does make sense IMHO to differentiate in the platform string between hard 
float (as with Raspbian) and soft float ABI platforms for the ARM CPU (e.g. the 
native Debian wheezy for ARMv6 CPUs), because they are not binary compatible. 
The project has to know what kind of executable it can send to the client, and 
the natural way to do so is via the platform string. 

Cheers 
HB

Von meinem iPad gesendet

Am 03.07.2013 um 21:10 schrieb yoyo y...@mailueberfall.de:

 Hello,
 
 are there some rules which platform string a Boinc client on a ARM
 device (not Android) should sent?
 Here http://boinc.berkeley.edu/trac/wiki/BoincPlatforms only Android is
 mentioned.
 
 But what about RasPi, Odroid or my NAS server which runs:
  # uname -a
 Linux nas02 2.6.33.2 #1 Fri Apr 26 05:33:12 CST 2013 armv5tel unknown
 
  # cat /proc/cpuinfo
 Processor name  : Feroceon 88F6282 rev 1 (v5l) @ 2 GHz
 BogoMIPS: 1985.74
 Features: swp half thumb fastmult edsp
 CPU implementer : 0x56
 CPU architecture: 5TE
 CPU variant : 0x2
 CPU part: 0x131
 CPU revision: 1
 
 Hardware: Feroceon-KW ARM
 Revision: 
 Serial  : 
 
 I know these platform strings, but which ones are prefered?:
 - arm-linux-gnu
 - arm-unknown-linux-gnueabi
 - arm-unknown-linux-gnueabihf
 
 What does other projects use?
 
 kind regards,
 yoyo
 
 ___
 boinc_dev mailing list
 boinc_dev@ssl.berkeley.edu
 http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
 To unsubscribe, visit the above URL and
 (near bottom of page) enter your email address.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Can we do shared memory with no disk usage?

2013-06-18 Thread Heinz-Bernd Eggenstein
Hi all,

Interesting. I guess it would be useful to run BOINC on a dedicated 
partition (e.g. ext hard disk/ USB stick)  to isolate BOINC's contribution 
to the stats.

How often is the client_state.xml file updated? It can grow to enormous 
sizes if you have a huge number of  waiting tasks  or unreported finished 
tasks (stderr outputs !!). 

Cheers
HB


-
Heinz-Bernd Eggenstein
Max Planck Institute for Gravitational Physics
Callinstrasse 38
D-30167 Hannover,  Germany
Tel.: +49-511-762-19466 (Room 037)



From:   Steffen Möller steffen_moel...@gmx.de
To: boinc_dev@ssl.berkeley.edu boinc_dev@ssl.berkeley.edu, 
Date:   06/18/2013 09:03 AM
Subject:Re: [boinc_dev] Can we do shared memory with no disk 
usage?
Sent by:boinc_dev boinc_dev-boun...@ssl.berkeley.edu




 Gesendet: Montag, 17. Juni 2013 um 21:29 Uhr
 Von: David Anderson da...@ssl.berkeley.edu
 An: boinc_dev@ssl.berkeley.edu
 Betreff: Re: [boinc_dev] Can we do shared memory with no disk usage?

 In situations were BOINC is causing unexpectedly large
 ( 1 GB/hour) disk I/O,
 we need to figure out the source of the I/O.
 -- David


My little centrino laptop had SETI (official client) run over night.

$ iostat -h -m
Linux 3.8-1-rt-amd64 (Toshiba)  06/18/2013  _x86_64_(2 CPU)
...
Device:tpsMB_read/sMB_wrtn/sMB_readMB_wrtn
sda
 33.80 0.17 0.39   3040   6859
$ date
Tue Jun 18 00:30:06 CEST 2013
$ iostat -h -m
...
Device:tpsMB_read/sMB_wrtn/sMB_readMB_wrtn
sda
 65.32 0.07 0.98   3387  45737
$ date
Tue Jun 18 08:36:50 CEST 2013

Looking only at the last column, in those 8 hours this were

 (45737-6859)/1024
[1] 37.9668

GB and consequently

 (45737-6859)/1024/8
[1] 4.74585

GB/h


another machine, running about 10 clients in parallel (all Rosetta, one 
WCG),
had a bit less of IO ... here iostat was run twice with 1h interim sleep

twin1a:~ $ date ; iostat -m -h
Mon Jun 17 23:34:12 CEST 2013
Linux 3.2.0-3-amd64 (twin1a)06/17/2013  _x86_64_(24 CPU)

Device:tpsMB_read/sMB_wrtn/sMB_readMB_wrtn
sda
  3.08 0.02 0.30  29091 504228

$ sleep 3600 ; date ; iostat -m -h
Tue Jun 18 00:34:26 CEST 2013
..
Device:tpsMB_read/sMB_wrtn/sMB_readMB_wrtn
sda
  3.09 0.02 0.30  29091 506276


So this is about 2 GB per hour written and nothing read 

And yet another machine, same hardware, mostly einstein with 1 Rosetta and 
1 WCG

twin1b:~ $ date; iostat -h -m ; sleep 3600 ; date ; iostat -h -m
Mon Jun 17 23:58:16 CEST 2013
...
Device:tpsMB_read/sMB_wrtn/sMB_readMB_wrtn
sda
  1.67 0.00 0.12  758482377118


Tue Jun 18 00:58:16 CEST 2013

Device:tpsMB_read/sMB_wrtn/sMB_readMB_wrtn
sda
  1.67 0.00 0.12  758482379914


Which means another 2 GB per hour.

The machines were not running anything else but BOINC, the laptop had 
firefox open in the background.
No BOINC graphical clients run anywhere.

iostat comes with the sysstat package, for anyone out there to try.

The laptop only has 1G of mem, which may lead to some swapping and account 
for some of the IO. Still,
to me it looks mostly like some process writing a lot of status 
information that is not read by anyone.
The missing reads for the big machines I might want to explain by large IO 
buffers ... there certainly
have been a couple of uploads that should have caused some read, 
otherwise.

Cheers,

Steffen

___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] BOINC 7.0.64 weirdness?

2013-06-04 Thread Heinz-Bernd Eggenstein
Hi!

FWIW, we get reports of this as well on Einstein@Home, this one is for 
BOINC 7.0.62: 

http://einstein.phys.uwm.edu/forum_thread.php?id=10134nowrap=true#124926

 On the server side it
appears to be a request for 0 seconds of CPU and 0 seconds of GPU work

Confirmed. We see this in the scheduler log:

2013-06-03 10:46:02.4045 [PID=30856] Request: [USER#x] [HOST#6119565] 
[IP xxx.xxx.xxx.38] client 7.0.62
2013-06-03 10:46:02.4187 [PID=30856] [send] effective_ncpus 1 
max_jobs_on_host_cpu 99 max_jobs_on_host 99
2013-06-03 10:46:02.4187 [PID=30856] [send] effective_ngpus 1 
max_jobs_on_host_gpu 99
2013-06-03 10:46:02.4187 [PID=30856] [send] Not using matchmaker 
scheduling; Not using EDF sim
2013-06-03 10:46:02.4187 [PID=30856] [send] CPU: req 0.00 sec, 0.00 
instances; est delay 0.00
2013-06-03 10:46:02.4187 [PID=30856] [send] CUDA: req 0.00 sec, 0.00 
instances; est delay 0.00
2013-06-03 10:46:02.4187 [PID=30856] [send] work_req_seconds: 0.00 secs
2013-06-03 10:46:02.4187 [PID=30856] [send] available disk 23.89 GB, 
work_buf_min 0
2013-06-03 10:46:02.4187 [PID=30856] [send] active_frac 0.99 on_frac 
0.44 DCF 1.226839
2013-06-03 10:46:02.4222 [PID=30856] Sending reply to [HOST#6119565]: 0 
results, delay req 60.00
2013-06-03 10:46:02.4225 [PID=30856] Scheduler ran 0.024 seconds

The polling interval seems to be once per minute.

Cheers
HBE


-
Heinz-Bernd Eggenstein
Max Planck Institute for Gravitational Physics
Callinstrasse 38
D-30167 Hannover,  Germany
Tel.: +49-511-762-19466 (Room 037)



From:   Eric J Korpela korp...@ssl.berkeley.edu
To: boinc_dev@ssl.berkeley.edu boinc_dev@ssl.berkeley.edu, 
Date:   06/03/2013 07:17 PM
Subject:[boinc_dev] BOINC 7.0.64 weirdness?
Sent by:boinc_dev boinc_dev-boun...@ssl.berkeley.edu



Some BOINC v7 clients are getting into a weird state where they contact 
the
server every few minutes to request no work.  I haven't been able to
reproduce it, but people have reported that it goes away when they select
read config file, even if they don't have a config file.

Here's a not very detailed log that someone sent me.  On the server side 
it
appears to be a request for 0 seconds of CPU and 0 seconds of GPU work
(essentially the same as requesting an update when no work is required).

5/31/2013 10:30:23 AM | SETI@home | Starting task
23jn12ab.24163.21032.12.11.50_1 using setiathome_enhanced version 609
(cuda23) in slot 2
5/31/2013 10:30:25 AM | SETI@home | Started upload of
23oc12ac.25717.18472.12.11.50_0_0
5/31/2013 10:30:28 AM | SETI@home | Finished upload of
23oc12ac.25717.18472.12.11.50_0_0
5/31/2013 11:31:14 AM | SETI@home | Computation for task
23jn12ab.24163.21032.12.11.50_1 finished
5/31/2013 11:31:14 AM | SETI@home | Starting task
23oc12ac.25646.13973.15.12.45_0 using setiathome_v7 version 700 (cuda32) 
in
slot 2
5/31/2013 11:31:18 AM | SETI@home | Started upload of
23jn12ab.24163.21032.12.11.50_1_0
5/31/2013 11:31:25 AM | SETI@home | Finished upload of
23jn12ab.24163.21032.12.11.50_1_0
5/31/2013 11:31:28 AM | SETI@home | Sending scheduler request: To fetch
work.
5/31/2013 11:31:28 AM | SETI@home | Reporting 2 completed tasks
5/31/2013 11:31:28 AM | SETI@home | Not requesting tasks
5/31/2013 11:31:30 AM | SETI@home | Scheduler request completed
5/31/2013 11:33:26 AM | SETI@home | Computation for task
26mr10ab.24819.17826.5.11.138_0 finished
5/31/2013 11:33:26 AM | SETI@home | Starting task
23oc12ac.25646.13973.15.12.40_0 using setiathome_v7 version 700 in slot 1
5/31/2013 11:33:29 AM | SETI@home | Started upload of
26mr10ab.24819.17826.5.11.138_0_0
5/31/2013 11:33:32 AM | SETI@home | Finished upload of
26mr10ab.24819.17826.5.11.138_0_0
5/31/2013 11:36:35 AM | SETI@home | Sending scheduler request: To fetch
work.
5/31/2013 11:36:35 AM | SETI@home | Reporting 1 completed tasks
5/31/2013 11:36:35 AM | SETI@home | Not requesting tasks
5/31/2013 11:36:37 AM | SETI@home | Scheduler request completed
5/31/2013 1:28:09 PM | SETI@home | Sending scheduler request: To fetch 
work.
5/31/2013 1:28:09 PM | SETI@home | Not requesting tasks
5/31/2013 1:28:11 PM | SETI@home | Scheduler request completed
5/31/2013 1:33:15 PM | SETI@home | Sending scheduler request: To fetch 
work.
5/31/2013 1:33:15 PM | SETI@home | Not requesting tasks
5/31/2013 1:33:19 PM | SETI@home | Scheduler request completed
5/31/2013 1:38:23 PM | SETI@home | Sending scheduler request: To fetch 
work.
5/31/2013 1:38:23 PM | SETI@home | Not requesting tasks
5/31/2013 1:38:26 PM | SETI@home | Scheduler request completed
5/31/2013 1:43:30 PM | SETI@home | Sending scheduler request: To fetch 
work.
5/31/2013 1:43:30 PM | SETI@home | Not requesting tasks
5/31/2013 1:43:33 PM | SETI@home | Scheduler request completed
5/31/2013 1:48:37 PM | SETI@home | Sending scheduler request: To fetch 
work.
5/31/2013 1:48:37 PM | SETI@home | Not requesting tasks
5/31/2013 1:48:40 PM | SETI@home | Scheduler request

Re: [boinc_dev] XML parser may not null-terminate buffers (was: MD5 checksums - parsing errors on mal-formed tags)

2013-03-29 Thread Heinz-Bernd Eggenstein
Hi

This is rather common in C code as it follows directly the (IMHO 
counterintuitive) definition of string handling functions like strncpy (mind 
the 'n' ), e.g. see man strncpy. It is the responsibility of the code calling 
strncpy to make sure the result is null terminated, if desired (usually it is).

So for me, we are looking at a bug here.

Cheers
HB

Von meinem iPad gesendet

Am 29.03.2013 um 16:30 schrieb Nicolás Alvarez nicolas.alva...@gmail.com:

 2013/3/29, Richard Haselgrove r.haselgr...@btopenworld.com:
 The sched_reply_climateprediction.net.xml files appear to be XML compliant,
 but not to conform to BOINC's restricted sub-set of XML. Two tags (that I've
 identified so far) are broken over two lines - nbytes and md5_cksum:
 both these tags have additional single LineFeed (0x0A) characters after the
 data and before the closing tag.
 
 The version of md5_cksum written into client_state.xml by - in my case -
 BOINC v7.0.59, 32-bit version, under Windows 7, consists of 40 characters:
 the (correct) original 32-character MD5 copied from sched_reply, plus 8
 additional characters of - it appears - classic buffer overflow characters.
 Needless to say, the 40 character (MD5+buffer) fails to match the 32
 character MD5 calculated by the BOINC client for the file: the downloaded
 file is rejected, and the MD5 mis-match is recorded in the event log.
 
 Bug: The BOINC XML parser returns successfully and doesn't
 null-terminate buffers if the element contains more data than the
 buffer would fit.
 
 Here is what happens in a normal situation, where md5_cksum contains
 exactly 32 characters:
 
 - The FILE_INFO parser calls parse_str(md5_cksum), passing it a
 33-byte buffer.
 - parse_str verifies that md5_cksum is indeed the tag name of the last
 parsed tag, and calls get_aux(buf,33) to get the text after the
 element.
 - get_aux reads the first character, since it's not a '', it calls
 copy_until_tag to do the rest. (It also puts the first character in
 the buffer and adjusts the copy_until_tag args accordingly, but for
 simplicity we can pretend that get_aux ungetc()s the character
 instead; the effect would be the same)
 - copy_until_tag reads characters one by one, placing them in the
 buffer as long as they aren't '', and checking that there's still
 space in the buffer.
 - After reading the last (32nd) character of the MD5 hash, len is 1.
 - It reads one more character and it's a '', which indicates the text
 content finished. It unreads the '', puts a null-terminator in the
 buffer, and returns.
 - parse_str then verifies that the text is followed by a /md5_cksum
 closing tag, and terminates happily. The buffer now has the 32
 characters that were inside the XML element, followed by a null
 terminator.
 
 Now, here's what happens if we have 33 characters in md5_cksum,
 starting from copy_until_tag:
 
 - copy_until_tag reads characters one by one, placing them in the
 buffer as long as they aren't '', and checking that there's still
 space in the buffer.
 - After reading the last (32nd) character of the MD5 hash, len is 1.
 - It reads one more character and it's not a '' (in this case it's a
 newline). It subtracts 1 from 'len', and it becomes 0, which indicates
 there's more data than the buffer can hold.
 - It returns XML_PARSE_OVERFLOW, without modifying the last position
 of the buffer at all. It probably contains some garbage.
 - get_aux propagates the error code.
 - parse_str only checks if get_aux reached EOF, or found the end tag
 (which would mean there's no text, as in foo/foo). In the case of
 PARSE_OVERFLOW it will just continue.
 - parse_str checks that the /md5_cksum tag follows, etc. and returns
 successfully.
 
 The FILE_INFO parser now thinks nothing went wrong, since parse_str
 returned success. But the md5_cksum array is not null-terminated,
 unless its last position already happened to contain a null character
 before parsing. Any code that reads file_info.md5_cksum will go past
 the array bounds.
 
 I didn't follow the code flow in the case the element contains even
 more data (ie. if it would overflow by more than 1 byte), but my guess
 is that it would also return successfully, truncate the data silently,
 and leave a non-terminated buffer.
 
 -- 
 Nicolás
 ___
 boinc_dev mailing list
 boinc_dev@ssl.berkeley.edu
 http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
 To unsubscribe, visit the above URL and
 (near bottom of page) enter your email address.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Re: [boinc_dev] Transferring jobs.

2013-01-14 Thread Heinz-Bernd Eggenstein
Hi!

I guess the answer depends on what else you are doing with the hosts.

One solution could be BOINC installed to a USB or otherwise portable disk 
and use it at different hosts.  I'm not sure what limitations exist for 
doing this under Windows (registry entries???) but for Linux it should 
work. 
If the hosts are doing nothing else but BOINC, Dotsch/UX [1] is offering 
an easy solution to run BOINC and the whole Linux OS around it from a USB 
stick. When it's time to communicate results 
and download new tasks, you would physically move the stick to a different 
host that has Internet connectivity. I'm not sure how well Dostch runs 
inside a 
VM (obvious problems with GPU apps...), maybe that would be an option if 
you  need to have Windows on the host and run different stuff other than 
BOINC there as well. Maybe even a
native installation to a USB drive under Windows would work.

[1] http://www.dotsch.de/boinc/Dotsch_UX.html 

Cheers
HB
 



From:   McLeod, John john.mcl...@sap.com
To: Admin Team \St.Petersburg\ st.petersburg.bo...@gmail.com, 
boinc_dev@ssl.berkeley.edu boinc_dev@ssl.berkeley.edu, 
Date:   01/14/2013 02:34 PM
Subject:Re: [boinc_dev] Transferring jobs.
Sent by:boinc_dev-boun...@ssl.berkeley.edu



Basically, the answer is it is very painful.  There are several people 
that have tried, but they all give up after a week or two.

-Original Message-
From: boinc_dev-boun...@ssl.berkeley.edu [
mailto:boinc_dev-boun...@ssl.berkeley.edu] On Behalf Of Admin Team 
St.Petersburg
Sent: Sunday, January 13, 2013 2:40 PM
To: boinc_dev@ssl.berkeley.edu
Subject: [boinc_dev] Transferring jobs.

Hi. Maybe who will prompt? How it is possible to transfer tasks from my
computer to another? On other there is no Internet. I want to carry there
tasks for Boinc. It is desirable to tell more precisely.
I thank.
Andrey.
-- 
Желаем Вам всем не болеть и не тужить. Всего хорошего.
Администрация команды. St.Petersburg.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

[boinc_dev] [PATCH] problem in get_vendor in api/boinc_opencl.cpp

2013-01-10 Thread Heinz-Bernd Eggenstein
Hi all!

Someone familiar with BOINC's OpenCL code should have a look at the 
attached patch.

1) It corrects one clear bug (use of sizeof() on a pointer var to  get the 
length of the array pointed to...doesn't work).

2) There is another more subtle point that needs checking. 
In the original form, get_vendor() returns the Vendor string supplied 
by the openCL API call in case 
none of the conditions that are used to detect AMD, NVIDIA, and INTEL 
GPUs matches.
In most cases (say, vendor =Acme), this will cause problems in the 
calling code because, as I understand it,
get_vendor() should translate native vendor names to standard 
canonical names used by BOINC. So I think the intended
behavior was to return CL_INVALID_DEVICE_TYPE in this case and this is 
another bug.

However, if the openCL API returns ATI (for legacy cards/drivers 
), this would actually happen to work because
it coincides with the canonical vendor name used by BOINC for ATI/AMD 
GPUs, even tho the original 
code doesn't try to match ATI.

The enclosed patch deals with this by adding an explicit match with 
ATI and 
 otherwise returning an error if no match is found with known vendor 
name patterns.
 
OK?

Cheers 
HB


 


0001-Fix-for-buffer-overrun-ish-problem-in-get_vendor-cau.patch
Description: Binary data
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

[boinc_dev] Feature proposal: Safeguards against excessive checkpointing?

2012-08-10 Thread Heinz-Bernd Eggenstein
Dear all,

At E@H we have one app that (at least in the GPU variant) calls 
boinc_time_to_checkpoint()  very frequently (more than once per second, 
far less frequently in the CPU version). 

We noticed that for volunteers who changed the default checkpointing 
interval to something like, say,1 or 0 sec, our app will as a 
consequence checkpoint every second. Per task...not nice on multicores :-) 


As this is a BOINC global setting and some projects (current or future) 
might actually for some weird reasons want to do it that way, I think 
there is no need to change the web interface or client.

But I wonder whether there should be some convenient way in the API code 
(at runtime or compile time) to specify an override for a sensible minimum 
time interval between checkpoints based on the knowledge of the app 
developers, e.g. the cost of preparing and writing the chekpoint file. 
E.g. if the checkpointing is very expensive, you definitely don't want to 
checkpoint every second even if the volunteers *allow* you to do that. 

So what are the opinions here? Would it make sense to have something 
either at  BOINC API compile time 
(e.g. -DBOINC_APP_MIN_CPT_INTERVAL=10)  or on the C API level to enforce a 
minimum checkpoint interval ? 
I'd rather not deal with time stuff in the app code itself if BOINC can do 
that for me.


P.S.: In addition, the general defaulting to (effectively) 1 sec 
checkpointing might be not a good idea in the current code. Maybe 60 
seconds???

Ideas? Opinions?
Thanks in advance 
HBE 
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.


Re: [boinc_dev] Fwd: RE: help needed on BOINC

2012-07-04 Thread Heinz-Bernd Eggenstein
Hii David,

Let me summarise a discussion we (Oliver, Bernd, me) at E@H had on this:

 One API that's always available is OpenGL (and DirectX on Win).

We think this assumption may not hold for (near) future or even present 
day accelerator products, (and accelerators in general are what we should 
be dealing with):
We doubt that NVIDIA Tesla installations (those do not even have video 
out) or the upcoming Intel Xeon Phi (formerly known as MIC) cards will 
necessarily support OpenGL or DirectX. Same holds for headless setups in 
general. 

 Should we be using these (in addition to, or preferably instead of)
 the other APIs, to enumerate GPUs?

Probably not instead of, for the reasons given above. 

Just our 2 cents.
HB


boinc_dev-boun...@ssl.berkeley.edu wrote on 07/04/2012 09:19:08 AM:

 From: David Anderson da...@ssl.berkeley.edu
 To: Rom Walton rwal...@ssl.berkeley.edu, Charlie Fenton 
 charl...@ssl.berkeley.edu, BOINC Developers Mailing List 
 boinc_dev@ssl.berkeley.edu, 
 Date: 07/04/2012 09:19 AM
 Subject: [boinc_dev] Fwd: RE: help needed on BOINC
 Sent by: boinc_dev-boun...@ssl.berkeley.edu
 
 We've been enumerating GPUs first using vendor-specific interfaces
 (CUDA, CAL) and then OpenCL.
 
 However, there are GPU apps that don't use any of these (see below)
 and that work even if none of these APIs are available.
 To support such apps in general we need to have some other
 way of enumerating GPUs.
 
 One API that's always available is OpenGL (and DirectX on Win).
 Should we be using these (in addition to, or preferably instead of)
 the other APIs, to enumerate GPUs?
 
 -- David
 
  Original Message 
 Subject: RE: help needed on BOINC
 Date: Wed, 4 Jul 2012 07:00:57 +
 From: Jin, Jennifer jennifer@intel.com
 To: David Anderson da...@ssl.berkeley.edu
 
 Professor David:
 The application is a .net based multi-media processing application. I am 
in 
 China now, otherwise I can lend you a Intel PC:)
 
 -Jen
 
 -Original Message-
 From: David Anderson [mailto:da...@ssl.berkeley.edu]
 Sent: Wednesday, July 04, 2012 2:47 PM
 To: Jin, Jennifer
 Subject: Re: help needed on BOINC
 
 Jen:
 What application are you talking about?
 Is it written using OpenCL?
 Does it currently work with an Intel GPU?
 ___
 boinc_dev mailing list
 boinc_dev@ssl.berkeley.edu
 http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
 To unsubscribe, visit the above URL and
 (near bottom of page) enter your email address.
___
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.