Member-only story
Adventures in Imagineering — Mining the Apple Silicon
When I heard about Stable Diffusion, the first thing I wanted to do was install it on my Apple Silicon MacBook and try it out. Unfortunately, at that point, I couldn’t do so because Stable Diffusion required GPU support and there was no complete Metal GPU support at that point for PyTorch that you needed in order to test out Stable Diffusion. I was really disappointed, but I made do with Google Colab for my Stable Diffusion work for the moment.
Then I read that the PyTorch nightly builds had MPS (Metal Performance Shaders) support and I tried to get things working again on my M1 MacBookPro (MBP — yes, too many acronyms 😛) but ran into issues with various bugs. While PyTorch did have MPS support, the support was not complete and there appeared to be features which were not fully implemented yet and/or buggy. So I resolved to wait …
But then a couple of days ago, I came across this repo which added partial MPS support for running Stable Diffusion and even had a readme specifically devoted to getting things working on Apple Silicon. I was overjoyed and immediately went for it. After much trouble, I was able to get the code working … somewhat. But there were issues.
As the author of that readme notes, things are changing constantly with regards to Stable Diffusion — a PyTorch nightly, which might work…