ARM processors and future of imatch

Started by brunopetit17, April 01, 2024, 12:41:06 AM

Previous topic - Next topic

brunopetit17

Hi

I've been using imatch for 2 months and overall it's a very nice software. As a travelling  photographer though I am wondering if I will be able to keep using it in the future.
I have two concerns: one imatch not available for mac and I know from reading other posts, it probably never will. Second, imatch requires AVX instructions and from what I have read so far AVX won't work with ARM based processor. This means imatch can't run in parallel in macos, and imatch won't run on the upcoming Snapdragon X Elite windows laptop.

I'm thinking very seriously about switching my editing process to a ARM based computer. The reason is very simple: performance. When you do serious picture editing or video editing, the experience of editing on the new apple silicon chip vs an intel based laptop is just night and day. The time and efficiency you're gaining is tremendous. And the gain in battery life is also mind-blowing. I had a macbook M1 for a while and I actually really started enjoying editing pictures or videos because finally there was virtually no lag when editing pictures in Lightroom or editing videos in any video editing software. And I could do that for hours and hours without having to plug-in the macbook, with no performance drop and no worry about battery life.
Until this year, going Apple was the only way to benefit from the ARM computing revolution. But with the upcoming Snapdragon X Elite, we could finally have the same level of performance in Windows laptop. I really hope it will be as good as promised as it would open up a all new world of possibilities for people using windows laptops professionally.
I was hoping the new Intel Core Ultra would somehow be on par with the Apple silicon chips but from what I can see in this video it's definitely not there yet and may never be just because of the x86 architecture: https://www.youtube.com/watch?v=Z_ehJaMSi24 . Look at the Lightroom Classic performance comparison and the Da Vinci rendering comparison chapters of the video. If you're a pro photographer editing thousands of pictures regularly, and some videos as well, the differences you see in the video have a big impact on your productivity. And as more and more photographers and videographers will move to ARM based computers, those of us who stay with Intel Windows computers will be less and less competitive in terms of editing speed.

When it comes at organizing and keeping organized a library of dozen of thousands of pictures and videos though, imatch is better than Lightroom or anything else. It's just very frustrating that in the present state of things, we have to choose between performance in the editing process or flexibility and power in the organizing process.

I know there's imatch anywhere which allow to use imatch from the cloud, but in my experience using any software from the cloud is a really bad idea. Simply because there isn't a good internet connection everywhere in the world. Right now I am travelling in India and the quality of the 4G is just really really bad compared to what we have in Europe nowdays. And it requires to have two computers or a windows server, which is expensive and not worth the trouble.

So in my humble opinion, if imatch wants to keep being a good long lasting solution for photographers, videographers or any kind of content creators using powerful editing software, then it needs to somehow be compatible with ARM based computers. I don't know what can be done, if AVX can somehow be adapted to ARM or be removed from imatch requirement. Then imatch would be usable with Windows on ARM or Macos through Parallels virtualization.

Mario

If there will be sufficient demand for running IMatch in a simulator that runs on ARM or Apple's M* hardware, but cannot simulate AVX or running IMatch in a Hypervisor on ARM or M* processors that cannot provide AVX, I'm sure I can replace AVX support with whatever vector performance technology exists for that hardware platform.

Or just disable it and rely on the faster processors in the target system to do the vector math quickly enough without the need for AVX or the ARM replacement.

I have isolated all code in IMatch that uses AVX instructions into two of the DLLs. For me, its just a compiler switch and a rebuild of the IMatch code base. Anything 'AI' in IMatch is 10 times or more slower without AVX, but it will run.
I could also ship two versions of these DLLs and load them dynamically, depending on whether or not the target system supports AVX or not. There is just no need for all that currently.

I've provided non-AVX versions of IMatch Anywhere for several years, since IMatch Anywhere was run on older PCs, Intel Nuc's and similar, which don't support AVX. I have discontinued these builds last year, when  IMatch 2023 was released, since there were no downloads for these non-AVX builds for over a year.

IMatch uses AVX as the minimum technology since it is available for over a decade in the Intel / AMD world. ARM and Apple decided not to support this processor instruction set and instead they came up with their own vector math stuff. A decision which unfortunately makes it now impossible to run many Windows applications in "Run Windows software on Mac" like Parallels.

I think about all this when there is demand. There ware always a few users who ran IMatch in Parallels or Bootcamp.

brunopetit17

Thanks for the quick reply. It's great to know it's relatively easy to adapt IMatch to the new processors. I guess as more and more computers get released with ARM processors, the demand will be there. It may even be that simply disabling AVX is enough as those new processors are so powerful.

Mario

Quoteit's relatively easy to adapt IMatch to the new processors. I
No, it isn't. The ARM processor technology is vastly different from Intel/AMD processor technology.
Porting IMatch to ARM would take me years, without any real business prospect.
Windows for ARM sells really badly, for example.
There are one billion Windows PCs running on Intel/AMD hardware out there and I don't see this changing any time soon.
Since, for end users, there is really no advantage in ARM processors over Intel/AMD processors.

For Apple, switching to their own processor was a good way to make the walls of their walled garden even higher and burning all bridges to Intel/AMD.

The only thing I could do is to build a special version of IMatch which still requires Intel/AMD processor technology but no AVX. Which would then allow the five people who want to run IMatch in a VM/Hiypervisor on M* hardware to use it.

Mario

The Intel/AM simulator on Windows for ARM now supports AVX (most or less fast). So IMatch should run just fine.

I have not seen a Windows ARM PC yet, nobody here has one, I cannot borrow one. Spending 1,500$ to get a sample just to make some experiments is out of the question.
Microsoft recently released Intel versions of their Surface notebooks, with about the same runtime and battery usage as their ARM models, but with full compatibility with all Windows software.
I don't know where ARM is going, but I currently see no incentive to invest in hardware and spend time in creating an ARM version of IMatch.