ðŸĪ” Opinion: Should I Implant Apple Silicon in my Stack?


You too want to buy the 1st Generation Apple Silicon? Not sure whether to wait or take a plunge? Worry not ðŸ§˜ðŸ―â€â™‚ïļ.

Do a 1 min Breathe on your 🍎 ⌚ïļ Series 6 and read on.

This decision tree will guide you:

graph LR; A["ðŸĪĐ"]-->B["🌟🍎"]; B-->C{"What is the Primary usage?"}; C-->D["Generic Stuff"]; D-->D1["Internet Surfing"]; D-->D2["Powerpoint/Keynote"]; D-->D3["Writing"]; D1-->DT["iPad Air/Pro?"] D2-->DT; D3-->DT; DT-->|No| X["✅ Go for It"]; C-->E["Photo/Video Editing"]; E-->E1["✅ Adobe Stuff"] E-->E2["✅ Apple Stuff"] E1-->X; E2-->X; C-->F["Software Development"]; F-->F1["Docker"]; F-->F2["Code Editors"]; F-->F3["Languages"]; F2-->R["via Rosetta 2"]; F3-->R; R-->|"Works for me"| X; R-->|"Not sure"| Z; F1-->Z["🛑 Hold your horses"] C-->G["Aritifical Intelligence"]; G-->G1["Machine Learning"] G1-->G11["Python"] G1-->G12["R"] G11-->Z; G12-->X; G-->G2["Deep Learning"] G2-->I["Try Colab?"]; G2-->Z; G2-->|But| H["8-Core GPU + Neural Engine"] H-->|Still| I; H-->Z; F2-->Z

Note: If you see some jumbled text instead of a chart then the library has failed to load 😅. Do you want to try refreshing the page ?

What is Rosetta?

Rosetta1 is a translation process that allows users to run apps that contain x86_64 instructions on Apple silicon. Rosetta is meant to ease the transition to Apple silicon, giving you time to create a universal binary for your app. It is not a substitute for creating a native version of your app.

But It has Neural Engine

Indeed, but as of now you can only use Tensorflow 2.4 Fork. There is no PyTorch support. Although in near future, we will probably have PyTorch and other frameworks supporting ML Compute 2 too.

Source

The charts are tempting, but we will have to wait for someone to do full comparison against nvidia cards (1080Ti, 2080). Do you really want to go through the headache of making things work with the 1st Gen? Or Do you prefer to wrestle with cuda installation on Ubuntu ðŸĪŠ.

Note:

  • SciPy and dependent packages are not supported in MacOS fork of Tensorflow.3
  • People are unable to get Scikit to work with M14

Will it Support eGPU?

My Primary DL workstation conveniently broke in Oct. I have narrowed the issue to be with the motherboard. However, I too am tempted to get M1 powered Mac Mini as long as it can support eGPUs. Because that will allow me to make use of my existing 1080Ti cards.

But for now, there is no official word from Apple on eGPU support. Although people have found that new Macs can detect ThunderBolt 3 eGPU5.

But, I would rather wait. And just replace the motherboard instead 😅.

I still want to get M1

If you still want to buy but not sure whether you apps will run on M1. The good folks at this website6 have you covered.


Updates: Dec 12th, 2020

Raymond has spoken 😃. Gotta get one now.

Sources


  1. What is Rosetta ↩︎

  2. ML Compute ↩︎

  3. Tensorflow macOS fork ↩︎

  4. Scikit Issue ↩︎

  5. Apple Silicon M1 Mac detection of Thunderbolt 3 eGPU gives hope for future support ↩︎

  6. The complete guide for MacOS Apps Optimized for M1 Apple Silicon MacBooks ↩︎