Native Apple Silicon / M1|M2|M3 Apps available

Oliver Behnke
Oliver Behnke
Moderator
Administrator
Joined: 4 Sep 07
Posts: 984
Credit: 25171376
RAC: 43

Right. Sorry, overlooked

Ok, I misinterpreted your earlier statement then and wanted to make that earlier requests couldn't have filled your cache.

We tuned a few things at our end so there should be CPU tasks available now. Let's see how those are identified/handled by your client.

Einstein@Home Project

zombie67 [MM]
Joined: 10 Oct 06
Posts: 121
Credit: 480076859
RAC: 443700

Thanks!  BOINC is telling me

Thanks!  BOINC is telling me that it must wait about 12 hours before it can get more tasks.  I will let you know how it goes then.

Reno, NV Team: SETI.USA

Oliver Behnke
Oliver Behnke
Moderator
Administrator
Joined: 4 Sep 07
Posts: 984
Credit: 25171376
RAC: 43

Erm, we just noticed you're

Erm, we just noticed you're using an old client. Please upgrade to the latest (at least 8.0) to get proper support for Apple Silicon GPUs. Meanwhile I'll reset your quota once more.

Einstein@Home Project

zombie67 [MM]
Joined: 10 Oct 06
Posts: 121
Credit: 480076859
RAC: 443700

Okay, I upgraded the client

Okay, I upgraded the client to 8.0.4.  But this is going to be a problem going forward.  Primegrid just turned off support for the 8.x client for OSX.  They said:

Server now recognizes Mac GPU on 8.0 clients, but all applications fails with message GPU not found: type=apple_gpu, opencl_device_index=0, device_num=-1 because they have no idea what apple_gpu is (it was introduced in 8.0) To fix this, all applications must be rebuilt with Boinc 8.0 libraries.

So I doubt PG will be allowing 8.x on OSX any time soon (they have LOTS of apps).  I guess I will just have to remember that I have to downgrade the client when I want to run PG.  And that I cannot run PG and Einstein at the same time.

In any case, after upgrading the client, all the tasks that were already downloaded aborted.

6            8/30/2024 6:51:34 AM    app version refers to missing GPU type Apple M1    
7    Einstein@Home    8/30/2024 6:51:34 AM    App version uses deprecated GPU type 'Apple M1' - discarding    

The client then downloaded a bunch of new tasks.  This time #2 from the list in the original post.  

The good news is that tasks are now running on the GPU and the CPU!  Thanks!

Reno, NV Team: SETI.USA

Bernd Machenschalk
Bernd Machenschalk
Moderator
Administrator
Joined: 15 Oct 04
Posts: 4312
Credit: 250380657
RAC: 34906

Using the Apple M GPU in

Using the Apple M GPU with Clients prior to 8.0 requires a couple of hacks to the server, which brings with it the inability to fully recognize the Apple M GPU as a GPU in the BOINC sense. Prior to 8.0 to BOINC the Apple (M) GPU is a "Generic OpenCL Coprocessor", for both server and client, and the app is treated essentially as a CPU App that requires a certain Coproc. That's why you don't get CPU and "GPU" tasks at the same time, because even the "GPU" App version isn't recognized as such. And with this old scheme, even disabling the "Use Apple GPU" flag in the project preferences has no effect.

For Primegrid to use the Apple M GPU as GPUs, they don't only need to recompile their (Apple-M) App versions (actually even beyond the 8.0 client tag, I can dig the commit out if you like), but also update their server code (scheduler and web).

E@H was again pioneering the use of Apple GPUs.

Edit: for the BOINC API to use to compile apps, see https://github.com/BOINC/boinc/issues/5738 and https://github.com/BOINC/boinc/pull/5739

BM

chilina
chilina
Joined: 27 Sep 14
Posts: 22
Credit: 27995677
RAC: 17456

Hey I have gotten some

zombie67 wrote:

In the last post (227837), you can see it asks for ONLY CPU tasks, and then receives 39 tasks.  Those 39 tasks are GPU tasks.  I don't think it has ever received any CPU tasks to date.

Hey I have gotten some cpu-only tasks for BRP4A in the past.  And I was recently trying to figure out "how not to get them" so that only FGRP5 tasks would run on the cpu, with only BRP4A tasks running on the gpu.  I couldn't seem to figure out the correct settings in Account->Preferences->Project to achieve this.

The BRP4A cpu-only tasks have tended to come sporadically with FGRP5 tasks, often in pairs, and usually when my queue is "getting slowly infilled with replacement cpu tasks".  I have never gotten them when a whole bunch of cpu-only work was requested.  I usually abort these cpu-only BRP4A tasks, and when I do they get sent out again as gpu tasks to other users.

My m1 mini takes about 5.5 minutes to run a gpu task with default settings, and I often have about 250 tasks/day in the queue.  So having 350 of them or so isn't a ton of work, especially if your mac chip has a better gpu than mine.  

chilina
chilina
Joined: 27 Sep 14
Posts: 22
Credit: 27995677
RAC: 17456

Oliver Behnke wrote: chilina

Oliver Behnke wrote:

chilina wrote:

I'd love to see an "intermediary layer" rise to prominence

Well, OpenCL was meant to be just that but the industry simply dropped it in favor of their own specific platforms...

Maybe openCL will evolve along with the hardware platforms, so that it has optimized adapters for whatever hardware it needs to run on, be that Metal, Vulkan, Nvidia, whatever google uses, Broadcom (RPi), etc. Clearly the companies that make our chips have chosen proprietary routes.  But that doesn't mean that the libs that run our compute code can't evolve along with them.  Khronos might be in a good position to facilitate this kinda of paradigm change, so that their libs are truly both open-source and hardware agnostic.

zombie67 [MM]
Joined: 10 Oct 06
Posts: 121
Credit: 480076859
RAC: 443700

Now that the CPU is actually

Now that the CPU is actually running tasks, there is another problem.  None of the tasks run on the CPU have validated.  All (40 of 40 so far) have been marked as "invalid".  Here is a sample:

https://einsteinathome.org/task/1649941192

Reno, NV Team: SETI.USA

Oliver Behnke
Oliver Behnke
Moderator
Administrator
Joined: 4 Sep 07
Posts: 984
Credit: 25171376
RAC: 43

Unfortunately, this is still

Unfortunately, this is still a thing, pronounced by comparing CPU vs. GPU results from different macOS versions. Have a look at this earlier post and the thread referenced in it. According to your computer details (kernel version) you're running Sonoma at least at 14.6, so you're not lacking any fixes that could result in invalids. However, your wingmen used older (14.5) and newer (15 beta) OS/kernel versions which fits chilina's observations in that thread. The problem is that these errors are hard to tackle since we ourselves need to reproduce them reliably for testing purposes. Yet Apple seems to have set up a moving target for us.

For you this means either waiting for a fix which is likely to take weeks (so you'd opt-out of certain app versions), or you keep things running, helping us gathering more statistics.

Best,
Oliver

Einstein@Home Project

zombie67 [MM]
Joined: 10 Oct 06
Posts: 121
Credit: 480076859
RAC: 443700

I'll keep running as-is for a

I'll keep running as-is for a while.  I need another 1100 hours for my wuprop goal (currently gaining about 100 hours/day)

FWIW, I am current on all updates for the OS, but not running the beta.  You would THINK that would be the most common for wingmen.  But I guess not.

Reno, NV Team: SETI.USA

Comment viewing options

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