Apple Silicon M1/M2 (Pro, Max, Ultra) VideoAI Performance — Neural Engine or GPU?

I am curious to understand whether Topaz VideoAI relies on the Neural Engine or GPU. I’ve got M1 Mac minis and an M1 Pro MacBook Pro 16". Apple’s M2 generation improves Neural Engine performance by 40%, and increases the GPU core counts up to 38 cores in the M2 Max CPU (I guess M2 Ultra may come with up to 74 cores Real Soon Now™).

I’m in the market for a new Mac. If VideoAI relies primarily on the Neural Engine, which is the same across M2/M2 Pro/M2 Max, then I’m not going to get any additional performance improvement from spending more money on the more capable chips. A base MacBook or Mac mini would do the trick. But if VideoAI is GPU-driven, then it makes sense to go for the 38-core M2 Max or even to wait for M2 Ultra and its 74 cores.

Any insights to offer? Can anyone offer any comparisons in FPS improvements between different versions of Apple Silicon?

Same here. I want to see video AI performance on entry level and high spec M2 hardware.

I have some info I can share. I have a few Macs and ran a couple quick tests, for your information.

My test file is a 576p. I did an Auto Proteus to 1080p, h64 high autobot rate and here were my results.

Single Process
M1 Mini, 8gb ram - 10.5fps
M1 Pro 16gb, 14c GPU - 11.2 fps
M2 Pro 16gb, 19c GPU - 15.2fps

Double Process
M1 Mini - 6fps each, 12 fps total
M1 Pro - 7.4fps each 14.8 fps total
M2 Pro - 9.6fps each 19.2 fps total.

Topaz 3.1.1.

4 Likes

If there are any other models or parameters you’d like me to try let me know

I’d like to see M1P vs M2P for 1080p 2x upscale to 2160p(4k).

1 Like

I’ll run those later tonight after my current jobs complete.

I can add some Dione:Robust Dehalo data to mix.

Double Processes, DVD rips 1x480i + 1x576i to 1080p (not double framed)

M1 Base 7.2fps each, 14.4 total
M2 Pro 11fps each, 22fps total

Thanks, Stephen. What were the TVAI Process settings? On my Mac Studio M1 Max I get better performance by specifying the AI Processor instead of Auto together with lowering the memory % to around 25%. I’d be interested if you find something similar. Also, if running 2 processes in parallel, I get the best overall performance running 1 process with memory set to 100% (actually anything above 33%) and the other set to 25% (actually anything below 34%). Counter-intuitive I know, but that’s what I’ve found on my Mac Studio. The actual percentage “threshold” seems to relate to the video dimensions. Above or below seems to direct processing to CPU or GPU respectively.

Thanks

Andy

1080p to 4k, proteus auto, no grain, no noise, single process

M1P - 3.7
M2P - 4.4

I specify the M1 Pro/M2 Pro (not auto) in both and set memory to max.

I’ve never tried changing the memory before, I’ll give it a shot.

Not sure which settings you’re looking for, but no noise or grain added. 2 sources, 1 at 480/30 one at 576/25, both scaled vertically to 1080p (4:3), robust dehalo (the one without frame doubling).

Finished my new (win) desktop few weeks ago,13900k + 3090FE + 2tb 4.0 M2 SSD + 16gb RAM…results are better,but i´ve seen the comparsion m2 vs Win in the last beta mailing… benchs with m2 macbook air vs new probook would be interesting

Does Topaz video (or photo) even use the GPU efficiently? What difference does a mid range or high spec GPU make?

1 Like

It seems to use the neural engine for the models and the GPU for encoding, from what I can tell.

As for using the GPU “efficiently” I’m not sure the task of ML can be split up, as the options are limited to using the CPU or the specialized feature of the GPU (tensor, neural engine etc) if available, and defaulting to CPU if its not.

How much better? Because from what I can tell, the performance would be close on a $599 M2 Mini

Mac Mini M1 16GB

  • 1080p source, Enhancement using Artemis Denoise/Sharpen, Low Quality, Noisy input video condition
  • 1.9 fps (sometimes peaks at 2.9 fps)

MacBook Pro M1 Max 64GB

  • 1080p source, Enhancement using Artemis Denoise/Sharpen, Low Quality, Noisy input video condition
  • 7.7 fps (sometimes peaks at 9.1 fps)

Mac Studio M1 Ultra 128GB

  • 1080p source, Enhancement using Artemis Denoise/Sharpen, Low Quality, Noisy input video condition
  • 14.8 fps (sometimes peaks at 17.2 fps)

Edit: GPU Activity is pegged at 94% to 100% while running on each of the machines, so it makes HEAVY and VERY GOOD use of the GPU. These measurements gathered using multiple tools, but my favourite being “GPU Monitor Pro” from the App Store. ‎GPU Monitor Pro on the Mac App Store

3 Likes

Thanks @brock.gunter-smith. Were these tests run recently with the last eat build of Topaz? I’d love to see results in these machines doing upscales from FHD to 4k.

This was today using 3.1.1. I will update to 3.1.2 and then test doing FHD to 4K for you.

@shao.zhang here are the results of my tests with the same video file that was 1920x1080 at 29.978 fps (34677 total frames) that was upscaled to 4K 3840x2160 using identical settings on each of my computers using Topaz Video AI 3.1.2.

M1 16GB Mac Mini, FHD to 4K upscaling with Proteus model (auto)
Time to convert: 16 minutes 56 seconds (1016 seconds)
FPS while converting: 2209 frames / 1016 seconds / = 2.1742125984 fps

M1 Max 64GB MacBook Pro, FHD to 4K upscaling with Proteus model (auto)
Time to convert: 8 minutes 0 seconds (480 seconds)
FPS while converting: 2209 frames / 480 seconds = 4.6020833333 fps

M1 Ultra 128GB Mac Studio, FHD to 4K upscaling with Proteus model (auto)
Time to convert: 5 minutes 15 seconds (315 seconds)
FPS while converting: 2209 frames / 315 seconds = 7.0126984127 fps

M1 16GB Mac Mini:

M1 Max 64GB MacBook Pro:

M1 Ultra 128GB Mac Studio:

2 Likes

Awesome @brock.gunter-smith thanks. Looks like I’m going to need as many GPU cores as I can get from a new M2.

Absolutely. The GPU cores really are where so much work gets done these days in many surprising ways from most apps. The more, the better that’s for sure. :smiley:

I would love the devs to chime in. I’m getting nowhere near as much difference between machines.

M1 8c to M1 Pro 14c I get around 10% improvement.
M1 8c to M2 Pro 19c about 33%.

Activity monitor lists all the GPU utilization going to ffmpeg. Should this be going to the HW Encoders?