BRP4A and "invalid results"

chilina
chilina
Joined: 27 Sep 14
Posts: 22
Credit: 28012107
RAC: 17340
Topic 231118

Hey I'm wondering if there is a "typical" or "acceptable" level of "invalid" results for the BRP4A application (apple silicon gpu).  I've just recently started running the BRP4A tasks with the gpu on my m1 mac mini.  It seems like have quite a few results that are "inconclusive", and that then become "invalid".  But perhaps this is not uncommon?  Or maybe I need to set up my computing preferences differently?  Or configure something differently?  I was running Boinc 7.24.3 but updated today to 7.24.4.  The mini is running sonoma 14.3.1.  I use 38% of the cpu cores, and allow them to run 67% of the time.  It may be a little atypical, but with this configuration I could run 1 O3 task + 2 other cpu tasks and not run out of ram.

Any help is much appreciated!  Also I apologize if this topic is in the forum somewhere already.  I tried searching a bit but didn't manage to find anything specific.

Thanks!

Scrooge McDuck
Scrooge McDuck
Joined: 2 May 07
Posts: 1052
Credit: 17886304
RAC: 12200

It's not uncommon. The

It's not uncommon. The invalids also occur for BRP4 tasks run on Intel GPUs (builtin GPU) validated against tasks crunched by ARM CPUs. Even different types of ARM CPUs validated against each other lead to a share of invalids.

GPUs floating point arithmetics is not as precise as it has predictable rounding behavior. The validation results therefore differ from task to task. It's hard to identify or fix such anomalies. Until today there's no reliable floating point standard for GPUs like IEEE754 for FPUs (floating point unit aka Intel 8087, included in each CPU since the Intel 486DX). GPUs were initially made for graphics, not computation. Who cares about invisible differences in pixel colours (least significant bits of colour values)?

I vaguely remember that user Archae86 explained the background of GPU and FPU arithmetics in much greater detail somewhere in the forum.

Conclusion: We client users cannot prevent the invalids by adjusting project settings. The only option is to deactivate this app BRP4 (GPU) or you have to live with a relevant share of invalids.

There's this 2021 thread on the topic for Intel GPU vs. ARM (and different ARM CPU types).

chilina
chilina
Joined: 27 Sep 14
Posts: 22
Credit: 28012107
RAC: 17340

Hey thanks for your comments

Hey thanks for your comments McDuck!  There is also a nice long thread about the apple silicon apps here:

https://einsteinathome.org/content/native-apple-silicon-m1m2m3-apps-available?page=13

Here are some observations since my original post:

1)  About 12% of my m1 mini tasks are invalid (relative to the sum of valid and invalid tasks).  At the moment, I have 144 valid and 20 invalid tasks.

2) I've looked at the task results of maybe a dozen or two public macs in the community.  Many/most have very low rates of invalid tasks, on the order of 0 or 1 per 500-2000 total. A couple/few macs have invalid rates similar to my mini (10%-20%).  One mac had a very high rate of invalid results (50%).  I didn't see any macs with invalid rates in the range of 2-10%.

3) I'm not sure why some/most macs seem to be in near perfect agreement with other macs, and why some aren't.  But I do find it interesting that there does not seem to be a nice, even distribution of "invalid" results amongst macs, at least in a qualitative way.

4) Validation success for my mini does not seem to be related to particular machines.  My mini has obtained both valid and invalid results from the same macs across most or all of the public macs I've looked at in greater detail.  But for some macs, my mini seems to have very poor agreement and much higher rates of invalid tasks.

5) The BRP4A server status has an invalid rate of about 4% (relative to the sum of valid and invalid tests).

I'm fine with an invalid rate of 12% for BRP4A tasks.  I'm glad it's not 50%.  And I realize (from the thread above) that this application is a work in progress, that its the first Metal-based task in the project.  It's exciting to see this and its been fun to be more engaged with the Einstein project because of it.  And I'm super glad that the core developers have put in the effort to develop these applications for arm-based macs.

Also, it has been really helpful to see some of the details of other macs in the community, along with the results of the tasks they have run.

chilina
chilina
Joined: 27 Sep 14
Posts: 22
Credit: 28012107
RAC: 17340

OK one more observation.

OK one more observation.  After updating macOS to the latest version (Darwin 23.5.0), I'm getting significantly fewer invalid BRP4A tasks, and significantly more validated ones.  I feel like this has less to do with "the latest version", and more to do with macs agreeing better with one another when they're all using the same kernel.

I feel like most mac users keep their systems updated on a regular basis.  There are very valid reasons to lag behind though.  But updating to what a lot of the other macs are using within the computing pool has really seemed to help reduce the number of invalid and inconclusive tasks for my m1 mini.

Comment viewing options

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