Forum

Author Topic: Disappointing performance results on new MacBook Pro M1 Max  (Read 13592 times)

bgreenstone

  • Jr. Member
  • **
  • Posts: 97
    • View Profile
Disappointing performance results on new MacBook Pro M1 Max
« on: November 02, 2021, 12:12:09 AM »
My new MacBook Pro with the M1 Max chip and 32 GPU cores + 64gigs of RAM arrived today.  I ran a quick test with the Metashape 1.8 beta that runs natively on Apple Silicon and it's actually no faster, and possibly a tiny bit slower than on my old 2013 Mac Pro.

Even though my MacBook Pro has 32 GPU cores, Metashape is only using 1 of them.  It used both on my old Mac Pro, and that seems to be why the Mac Pro is faster.  When I go into the Preferences it shows "Apple M1 Max (32 compute units)".  Maybe I'm just confused about what I bought, but I assumed 32-GPU cores meant Metashape would use all 32 of those like it used the 2 on the old Mac Pro.  Instead, it's recognizing just 1 GPU, but with 32 compute units.  I'm not sure what the difference is.

-Brian


2tall3ne

  • Newbie
  • *
  • Posts: 15
    • View Profile
Re: Disappointing performance results on new MacBook Pro M1 Max
« Reply #1 on: November 02, 2021, 12:26:52 AM »
How are you determining it's slower? That screenshot looks correct to me.

bgreenstone

  • Jr. Member
  • **
  • Posts: 97
    • View Profile
Re: Disappointing performance results on new MacBook Pro M1 Max
« Reply #2 on: November 02, 2021, 12:29:48 AM »
I ran a small project (68 cameras) that I am familiar with and I know how long it takes to generate the Depth Maps (15 minutes) on the old Mac Pro.  I expected it to run 32 cores in parallel like it runs the 2 cores on my Mac Pro, so I thought it would be crazy-fast, but it's looking like a wash.

I'm going to run some other comparison tests tomorrow.  Might do a side-by-side with the old Mac.

-Brian

2tall3ne

  • Newbie
  • *
  • Posts: 15
    • View Profile
Re: Disappointing performance results on new MacBook Pro M1 Max
« Reply #3 on: November 02, 2021, 12:35:27 AM »
The Mac Pro has dual GPUs so you will see two cores.

bgreenstone

  • Jr. Member
  • **
  • Posts: 97
    • View Profile
Re: Disappointing performance results on new MacBook Pro M1 Max
« Reply #4 on: November 02, 2021, 01:48:12 AM »
Right, but that's what I'm confused about because my new MacBook Pro has a "32-core GPU".  Not sure what the difference is between a 32-core GPU and 32 GPU's.

-Brian

bgreenstone

  • Jr. Member
  • **
  • Posts: 97
    • View Profile
Re: Disappointing performance results on new MacBook Pro M1 Max
« Reply #5 on: November 02, 2021, 04:20:21 AM »
I just ran another smaller test with just 37 cameras on both the new MacBook Pro and the old Mac Pro side-by-side and here's my results:

MacBook Pro M1 Max
Align = 0:26
Depth Map (Ultra) = 7:56
Mesh = 2:17
Texture:  0:12

Mac Pro
Align = 0:41
Depth Map (Ultra) = 10:50
Mesh = 4:31
Texture = 0:15

So, in this small test the new MacBook Pro actually outperformed the old Mac Pro by a considerable margin.  Twice as fast at Alignment and Meshing, and 3 minutes faster on Depth Map Generation.  That's quite an improvement, but still far short of what I was expecting with 32 GPU cores.

I'll run more tests later on larger data sets and see what happens.

-Brian



jenkinsm

  • Jr. Member
  • **
  • Posts: 74
    • View Profile
Re: Disappointing performance results on new MacBook Pro M1 Max
« Reply #6 on: November 02, 2021, 05:24:34 AM »
Following! I went to buy the exact laptop you described only for them to be sold out, so I got an M1 Macbook Pro for my wife instead. I'd be very curious to run the same project on the M1 processor to see how it compares to the M1 Pro Max. Would you be willing to share the project files?

Also, try changing this in the Advanced settings under "Miscellaneous": "Enable VBO Support" - and also set the RAM to match your screenshot (43690 MB). I'm surprised it's not more, since you got the 64GB model, but whatever. It's still a ton of VRAM!

I have an RTX 3090 and my screenshot is attached. It definitely sped up the loading and viewing of meshes, but idk if it helps beyond that. Curious if it speeds up anything on your setup.

bgreenstone

  • Jr. Member
  • **
  • Posts: 97
    • View Profile
Re: Disappointing performance results on new MacBook Pro M1 Max
« Reply #7 on: November 02, 2021, 05:36:49 AM »
Doesn't the VBO support just deal with OpenGL's vertex buffer objects to make the 3D model rendering a little faster?  Shouldn't have any effect on the actual Chunk processing I don't think.

I just ran another test on a larger project of 67 cameras and got these results:

M1 MacBook Pro:
Align = 0:58
Depth Map = 14:24
Mesh = 5:10

Mac Pro
Align = 1:30
Depth Map = 18:30
Mesh = 10:20

Pretty similar overall to the previous test.  Significantly faster, but not as fast as I was expecting.

I'm still unclear what the situation on GPU cores is.  Is Metashape only using 1 of my 32 cores?

-Brian



Also, try changing this in the Advanced settings under "Miscellaneous": "Enable VBO Support" - and also set the RAM to match your screenshot (43690 MB). I'm surprised it's not more, since you got the 64GB model, but whatever. It's still a ton of VRAM!

I have an RTX 3090 and my screenshot is attached. It definitely sped up the loading and viewing of meshes, but idk if it helps beyond that. Curious if it speeds up anything on your setup.

jenkinsm

  • Jr. Member
  • **
  • Posts: 74
    • View Profile
Re: Disappointing performance results on new MacBook Pro M1 Max
« Reply #8 on: November 02, 2021, 08:01:43 AM »
Where are you getting the impression that Metashape is using only one core? My RTX 3090 shows I think 82 compute units and it appears as one GPU. There will be one check box for each physical GPU in the system, regardless of the number of cores.

Bzuco

  • Full Member
  • ***
  • Posts: 197
    • View Profile
Re: Disappointing performance results on new MacBook Pro M1 Max
« Reply #9 on: November 02, 2021, 11:56:11 AM »
@bgreenstone
If I look on mac pro 2013 specifications, the best model(8core) has 2x AMD FirePro D700 graphics. Each has 2048 stream processors, @850MHz, processing power 3.5 TFlops/s(7 TFlops/s from both GPUs).
If I look on macbook pro M1 max specifications, 32core GPU has 4096 stream processors, @1296MHz(peak clock), processing power 10.4 TFlops/s.

32 compute units you see in metashape are streaming multiprocessors and each one has 128 individual stream/shader/execution/... units.

Summary:
OLD: 2x 2048 units, 850MHz and total computation power 7 TFlops.
NEW: 1x 4096 units, 1000-1296MHz and total comp. power 10.4 TFlops.

bgreenstone

  • Jr. Member
  • **
  • Posts: 97
    • View Profile
Re: Disappointing performance results on new MacBook Pro M1 Max
« Reply #10 on: November 02, 2021, 03:35:04 PM »
Herein lies my confusion about GPU's vs. Cores.  I don't know how OpenCL works, so I don't know what Metashape is doing under the hood.  All I know is what I see in the console log. 

When I run Metashape on the old Mac Pro the Log shows GPU1 and GPU2 running in parallel, so I know it's simultaneously processing at least 2 GPU threads.  But on the new MacBook it just shows GPU1 in the log, so I have no idea what it's actually doing.  Is it using all 32 cores on that one GPU, so it's running 32 tasks in parallel?  Or is it just running one task on one core?

I suspect based on the performance results and what Bzuco said about the TFlops difference that it *is* using the 32 cores.  It's just hard to tell since nothing is indicated in the log output.

Either way, I'm glad to see a significant speed boost, but I was expecting a bigger difference (based on my ignorance about how OpenCL works).  Also, I guess I just figured that a new top-of-the-line machine would run laps around a 9 year old machine.  Good thing I got the M1 Max with 32-cores.  I suspect the M1 Pro with fewer cores could have been slower than the old Mac Pro.

-Brian

Alexey Pasumansky

  • Agisoft Technical Support
  • Hero Member
  • *****
  • Posts: 14935
    • View Profile
Re: Disappointing performance results on new MacBook Pro M1 Max
« Reply #11 on: November 02, 2021, 04:00:16 PM »
Hello Brian,

Please do not be confused by the numbering of the used devices in the log. The number in the square brackets (like [CPU #] or [GPU #]) is the order number of device used, where CPU is always treated as a single device, regardless to the number of CPU-cores or sockets in multi-socket configuration, each GPU can be used several times, if there's a line in the log, saying that the GPU device is used in concurrent (# times). So with the single GPU and CPU you may see the following:

Quote
Using device 'NVIDIA GeForce RTX 3080' in concurrent. (2 times)
Using device: CPU Intel(R) Core(TM) i7-4960X CPU @ 3.60GHz (using 6/12)
[CPU 3] group 1/1: estimating depth map for 1/17 camera 0 (9 neighbs)...
[GPU 1] group 1/1: estimating depth map for 2/17 camera 1 (10 neighbs)...
[GPU 2] group 1/1: estimating depth map for 3/17 camera 2 (11 neighbs)...
In the example above you can see that single GPU is used twice, and CPU is also used.

The numbering of the devices doesn't depend on the GPU specification (number of compute units, CUDA cores, shader processor units and etc.). One GPU device (per line in GPU Preferences tab of Metashape window) is treated once, unless "in concurrent"  line appears in the log.
Best regards,
Alexey Pasumansky,
Agisoft LLC

bgreenstone

  • Jr. Member
  • **
  • Posts: 97
    • View Profile
Re: Disappointing performance results on new MacBook Pro M1 Max
« Reply #12 on: November 02, 2021, 04:10:36 PM »
Pardon my ignorance, but I never see "in concurrent" in my log I only see this:

2021-11-01 20:24:31 Using device: Apple M1 Max, 32 compute units, 43690 MB global memory, OpenCL 1.2

What does that mean exactly?  That it's only using the GPU for one task at a time, so not in parallel?  Do my 32 GPU cores matter?

Thanks,

-Brian

Alexey Pasumansky

  • Agisoft Technical Support
  • Hero Member
  • *****
  • Posts: 14935
    • View Profile
Re: Disappointing performance results on new MacBook Pro M1 Max
« Reply #13 on: November 02, 2021, 04:38:58 PM »
Hello Brian,

The line "Using device: Apple M1 Max, 32 compute units, 43690 MB global memory, OpenCL 1.2" means that this GPU device is used will all its 32 compute units.
Best regards,
Alexey Pasumansky,
Agisoft LLC

bgreenstone

  • Jr. Member
  • **
  • Posts: 97
    • View Profile
Re: Disappointing performance results on new MacBook Pro M1 Max
« Reply #14 on: November 02, 2021, 06:21:30 PM »
Thanks for clarifying.   So, based on all my short test results I have concluded that Metashape is about 20% faster overall on the new MacBook Pro M1 Max with 32 cores compared with the old 2013 Mac Pro.  It's a significant improvement, but not the 5x improvement I was hoping for.

The best part, however, is that it seems more stable.  Depth Map generation would occasionally freeze up my Mac Pro, but I haven't had a single issue on the new M1 Max.

-Brian