Mac M1 GPUs for APP calculations?
Will APP be able to use Mac's M1 chip GPU's for calculations? If yes, when and what speed boost is anticipated? If not, what things stand in the way?
Not yet optimally, we don't have built-in GPU processing yet, this is a future development project. Thing is that it's a quite complicated process to implement, it will happen, but I don't have a date for it at the moment.
I noticed this post ( https://www.astropixelprocessor.com/community/development-priorities/upgrade-of-app-to-use-the-vulkan-khronos-and-metal-macos-apis/#post-5784) written much before my question -- and understand that complexities in GPU processing push development out beyond current schedules. However, there is real advantage in GPU processing, especially if deep learning algorithms become useful. To that, I'd like to point out an interesting article about deep learning used to resolve small details in permanently shadowed portions of the moonscape. Apparently, the deep learning allows fine resolution despite very low SNR -- all the way into read and dark noise. You probably know about this but in case not, here's a reference. https://www.nature.com/articles/s41467-021-25882-z.pdf?origin=ppub. I know it will take time, but I think that the advantages of using GPUs will allow breakthrough denoising while maintaining high spatial resolution and might be doable on a simple MacBook Pro with M1 GPUs. This is a hope. What do you think?
Thanks for the link, really nice! Yes GPU processing is very clearly on our list of things to implement, it indeed would speed up a lot of processes. We're currently in the process of moving the Java JVM from 8 to 17 and are working towards improving multiple things also for speed. I just can't put a date on when the GPU processing will be completed.
Thank you for the reply, Vincent. Fully understand that there is no timeline for GPU implementation and that you guys see the future benefits. The technique in the linked Nature article is not really ideal for quantitative analysis but might be good for the kind of denoising that is needed in dark areas of an astrophotograph while preserving star and nebula integrity. We GPU advocates will wait on the edge of our chairs, while appreciating your speed-ups in the interim. Good luck!
If you did get GPU up and running you'd be slaying the competition. 😉
Thank you for your thought and ideas. Like Vincent indicated, we are now moving our development to a newer platform for the next release. I really aim to include the first GPU calculations in about 3-4 version from now... I have already made tests and I know that on certain calculations/operations it works great and will add much more processing power to APP.
GREAT. Thank you! Support for METAL and utilising core graphics would greatly speed up the interface/processing.
I tried Affinity Photo for a bit. It's extremely fast, has non-destructive layers and cool curve and colour corrections. But the star-alignment is not that great. APP gets nicer star images. But Affinity demonstrated nicely the possibility of speed when programming natively and using the core APIs.
Any plans to work with (Xcode) Swift and SwiftUI? This would give the ultimate speed advantage for Apple silicon and a more Apple native look to APP as well. Swift has come a long way, especially with the asynchronic queues now.
I actually know a bit of Swift and Swift UI, I like it quite a bit indeed. However, we're developing very cross-platform and for that it's less well suited. We would then need to completely switch development and that's not really in the best interest of all users. We are however really progressing in the M1 support possibility and speed will be one of the noticable things.
Thank you for the quick feedback.
Understood. Even though SWIFT is open source, the critical speed defining features are mostly dedicated to APPLE Silicon only.
Good to know that JDK17 supports the M1 architecture natively now. I am already excited to see it soon.
Yes, it is indeed also available on all platforms now, but the Swift UI layer isn't, so that would still require a very different GUI to be made. For the M1 we can actually make use of Metal, so that will work as fast as possible.
No problem, thanks for asking. 🙂
As a M1 user, excellent news!
I finished collecting data on three new objects last week, with two more very close. Additionally I want to re-process all of my older images. With an APS-C format camera, file sizes around 52 mb, and 400-500 subs per object ... ouch. Taking advantage of the M1 speed would be absolutely huge for me.
With all of the recent M1 discussions on the Forum, I have been checking the status every time I need to launch APP 😉
Well, this will mainly be the image viewer panel that will be smooth as butter. 😉 However, the other calculations will also improve and of course we will continue to make things faster.