Apple M1Max 24C and 32C and Agisoft Metashape – a Performance Surprise
Update: 5.4.2022: added the 32C performance of the MBP21 16Inch with 64GB RAM
Or … the resurrection of the MacBook Pro as we knew it years ago … .
I have been writing about the MacBook Pro before but I have in recent years been wondering why Apple did not manage to develop a competitive laptop with performance, battery life and connectivity build in. With the new MacBook Pro 2021 series and the M1Max incarnation of the M1 SoC design this period finally comes to an end. The new M1Max with shared memory of up to 64GB will finally bring the needed power to the mobile platform and this upgrades the MBP to the performance level of a dedicated gaming laptop with RTX2080 performance. Not all software solutions can fully harvest the M1Max potential but I believe we will see more improvements in the future.
Agisoft Metashape is known for its compute power and GPU power hungry algorithms. This software really uses GPU and CPU power and fully triggers every hardware cooling concept. When Apple advertised the new M1Max CPU/GPUs recently I was curious to compare the performance of the M1Max with my recent benchmark system – a DELL Precision R7920 with 256 GB RAM and 24 Xeon cores and two RTX2080Super graphic cards. This system is so far the fastest configuration that I use for my big /really big/ Agisoft projects with about 4000+ 20MP images and the like. There is hardly a hardware configuration that can best this system below 9000€. The most recent RTX3090 will likely be the best GPU setup right now – I tested a cluster of multiple R720 systems with distributed processing, I also processed on an HPC system with TESLA graphic cards but overall the full integrated workstations with very speedy SSD hard drives seem to always outperform other systems – especially those with distributed processing over the network (NFS) when you compare benchmark values with Agisoft Metashape.
The M1Max now is a new fully integrated hardware concept where RAM and CPU/GPU are linked with much faster internal transfer speeds than before and Apples SSD drives are known for very fast read/write speeds. So recently I put my 14inch M1Max system to the test, a MacBook Pro M1Max with 10C and 24GPU cores, 32GB RAM and an SSD with 8TB capacity. This is close to the maximum configuration that is avail from Apple for the MacBook Pro /that is 10C 32C GPU and 64GB RAM/. Btw: there is no indication from Agisoft on explicit optimization for the M1Max processor. The change log only indicates a bugfix for M1 CPUs in the 1.8.0 change log. The processing log shows that Agisoft uses OpenCL to use the M1Max GPU. Some comments on the Agisoft forum platform hints that Apple Silicon is only fully supported starting with Metashape version 1.8 but I have no hard evidence that this is the case.
Btw: some info about how Agisoft is providing support in this political crisis now in March 22 (Russia brutally attacked Ukraine and now clearly directly kills civilians) can be found here: https://www.agisoft.com/forum/index.php?topic=14299.0 . Agisoft is based in St. Petersburg/Russia. Make sure to download the latest version occasionally. And also check the free licensefile from Agisoft that works for all pro versions of Metashape until end of August 22. Seems as if they fear exclusion from the international internet for their license activation system … .
My benchmark Metashape project setup uses 340 20MP images, medium alignment accuracy, medium resolution dense point cloud configuration, 10 cm dsm processing and 10 cm orthomosaic processing with projection set to UTM32 WGS84.
The Book quickly starts cooling the M1Max CPU/GPU unit with very strong fan activity. Usually this MacBook Pro is absolutely silent and I usually have a hard time to get the fans running at all. The performance is surprising. This system nearly kills the R7920 in terms of overall processing speed and is clearly on par with the 7920 system if we take away one of the two RTX2080Super cards. All this in a package that fits into a 14inch notebook format and that uses only a fraction of the power. The full statistics are in the following figures (Fig. 1). Also compare the GPU intensive matching and depth map section – the M1Max seems to be on par with the two RTX2080Super when it comes to image matching and even the depth map calculation is likely as fast as with one RTX2080Super. Since the dense point cloud calculation is mainly using the CPU cores its surprising that the M1Max performs better than the 24Core Xeon system here.
My older specced systems on the list below have been tested with older Metashape versions – so this comparison is likely invalid – since the algorithm efficiency has changed but the M1Max, MBP i7 and R7920 values have been measured with Agisoft Metashape 1.8.2 and they are comparable. I will update these measurements with a C10 C36 M1Max configuration when this system arrives I will update this post – so check back later.
UPDATE 5.4.2022: the MacBook Pro with the M1Max 10C32C processor arrived and I started my usual batch routine with the benchmark dataset (btw: make sure to deactivate the spotlight indexing process on MacOS – this process can steal some of the CPU percentage). Overall the 10C32C makes not much of a difference compared with the 10C24C processor. The GPU intensive processes seem to finish slightly better but not by much (approx. 5% faster than the 24C version). This applies to the depth map processing only (06:03 min on the 10C24C vers 05:45 min on the 10C32C). Match&Align is 18s faster – thats nearly 10%. Speed of the other processes does not improve at all. This is a bit disappointing since 8 more GPU cores should increase the GPU related speed by more than 5-10% but that is clearly not there with Metashape and OpenCL (Fig. 3).
Combined CPU & GPU processing with the M1Max:
When you allow parallel CPU and GPU processing for GPU intense processes (can be activated in the GPU tab of Metashape preferences) than overall processing speed is improved again. This is against what Agisoft suggests in their documentation but it clearly improves processing speed. The problem however is: this only applies to some of the processes: namely match & align, the dense point cloud process is slowed down and it makes no difference to have this preference activated for “build DEM” and “build Ortho”. BUT its not exclusive to the M1Max design as someone on the Agisoft Forum mentioned.
To summarize: Apples M1Max processor in the Macbook Pro and likely also the variant in the Studio line are excellent hardware options for photogrammetric data processing with Agisoft Metashape. For projects with very large image numbers however the comparable low RAM memory specification will likely be the limiting aspect of the MacBook Pro.
System specs:
- Dell Precision R7920, Intel Xeon Gold 6248 2.5Ghz 24 Cores, 256GB RAM, Windows 10 Pro 64Bit, MicronNVMe SSD, 2x NVIDIA RTX2080Super,
- Apple MacBook Pro 14Inch 2021, M1Max 10C24C, 32GB RAM, 8TB Apple SSD AP8192R, macOS Monterey 12.3,
- Apple MacBook Pro 16Inch 2021, M1Max 10C32C, 64GB RAM. 4TB Apple SSD, AP4096R, macOS Monterey 12.3.
In numbers:
Configuration | in hh:mm:ss | match & alignment | depth maps | dense cloud | build dem | build orthomosaic |
AMD R9 5900X 3.7Ghz 12C 128GB, 4TB FireCuda 530NVME SSD RTX3080Ti (V1.8.2) | 00:12:20 | 00:02:57 | 00:03:50 | 00:03:13 | 00:00:36 | 00:01:44 |
Dell Prec R7920 Xeon Gold 6248 24C 256GB, SSD, GeForce 2x RTX2080S (V1.8.2) | 00:14:19 | 00:02:59 | 00:03:10 | 00:04:30 | 00:00:55 | 00:02:45 |
MBP M1Max 10C32C 64GB 4TBSSD (V1.8.2) | 00:14:41 | 00:03:02 | 00:05:45 | 00:03:37 | 00:00:40 | 00:01:37 |
MBP M1Max 10C24C 32GB 8TBSSD (V1.8.2) | 00:15:17 | 00:03:20 | 00:06:03 | 00:03:36 | 00:00:41 | 00:01:37 |
Looking forward to seeing how the 32 GPU M1 Max fares. Also interesting that this was with a 14” version. Looking here (https://www.techspot.com/review/2357-apple-m1-pro/) it seems like the base model 16” M1 Pro does pretty well too.
Thxs Tony for comment, I hope to have the 10C32C Max available in April but there seems to be a delay with the 64GB RAM versions of the MBP 2021. Apple postponed the delivery date a couple times. Best, Sören Hese
Very nice set of experiments! I am currently in the process to upgrade my main computer and was thinking about the M1 Max Macbooks. You mention that memory might be a limitation for larger projects in Metashape, so would you recommend to get the 64GB model in any case? Use case would be several hundreds to thousands of images, large pointclouds in cloudcompare and processing of such data streams in Matlab (R2022a beta now has native silicon support).
For thousands of images I would use a dedicated workstation with more RAM than the MBP can provide. But in general some hundreds of 20MP JEPGs are no problem for the 64GB variant (though I havnt tested the texture mapping with larger datasets). Recently I was processing 5000 20MP files for a large mosaic. This was done on a Dell Precision with 256GB RAM – and this setup was clearly needed. It all depends on the resolution settings for the dense point cloud process. The Ultra High setting (full image resolution) with no or mild filtering generates very big point cloud files that are hard to digest somewhere else once exported. Agisoft also provides some numbers for needed specifications here (but with “high” as max setting): https://agisoft.freshdesk.com/support/solutions/articles/31000157329-memory-requirements-for-processing-operations
– btw nice images on your site – also combining Photography? 😉
Hi. Can M2 Max run metashape? Will a metashape version pre 1.8 work on mac? The photos suggest v 1.5.1 was used for the comparison but in your comments it says 1.8.2, so which one is correct? Will M2 Max 32 GB be ok to handle up to 1500 20mp photos or you would recommend 64gb? I am about to buy a new laptop and not sure what i should go for… Thank you in advance.
Dear Ivan, thxs for commenting, yes 1500 should work on your MBP when you go for the 64GB version. Ii havnt tested the M2 Max version but I dont see that they did another architecture change at Apple for MBP – so that should work with the 1.8.2 version. My comparison was mainly done with the 1.8.2 version of Metashape. Best wishes! Sören