StarNet V2 on M1 Mac

Does anybody use StarNet V2 on M1 Mac? Does it use CPU or GPU to accomplish the task?
Please use Activity Monitor's CPU Usage and GPU Usage to find out. I am curious about it.

Thanks.
 
On my M1 Mac Mini, definitely CPU only (and Intel, not Apple).
For comparison, StarXTerminator.
 

Attachments

  • StarXTM1.png
    StarXTM1.png
    67.1 KB · Views: 168
  • Starnetv2M1.png
    Starnetv2M1.png
    59.4 KB · Views: 143
absolutely only CPU, no measurements needed. the tensorflow library does not support GPU at all on any mac platform since High Sierra and only Nvidia cards were supported at that time.

rob
 
absolutely only CPU, no measurements needed. the tensorflow library does not support GPU at all on any mac platform since High Sierra and only Nvidia cards were supported at that time.

There are now tensorflow libraries and plugins that take advantage of M1 GPUs (through the Metal Compute API). Sadly, they won't work with Starnet v2 as currently compiled — I tried. The new libraries are AArch64 but they fail to load with x86_64 processes under Rosetta. Or they failed to work with the Starnet v2 CLI that I tried, anyway ?

These new TF libraries do work in general, though! I was able to run a test training script and saw my M1 GPU start working as expected. I wonder if there's any way for tensorflow to eventually integrate with CoreML APIs / Neural Engine cores? That would be something! (we can dream)

I learned about most of this from a discussion with the developer over at the CloudyNights Starnet v2 launch thread. At the very least I'd expect the new libraries would need Starnet to be natively compiled for M1, but it sounds like it'll be a while before that happens.
 
thanks, i missed that. i had been looking into this back in november and found that there was no C++ API version of the metal-based tensorflow stuff. however looking at that github it seems to have appeared around that time. i even asked on the apple developer list and was told there was still a python dependency for what apple had pubished (the plug-in.) then was directed by apple to google's TF forum, and asked, but no one had anything to say.

anyway, yeah, a rosetta2 translated binary has to be all x86 including libraries. given that any TF C++ API dylib for the M1 machines is logically going to be targeted at AARCH64 there was probably no hope of this ever working.

the only thing i could really think of was to try translating the .pb weights files to metal-native and then rewriting the calls to TF in StarnetV1 to metal. that's a lot though for someone like me with no ML experience at all.

rob
 
Back
Top