Si bien los usuarios finales suelen concentrarse en las notebooks que, para mí, son irrelevantes y demasiado parecidas a todo lo existente (nadie innova en notebooks hace años) lo que sí me resulta más interesante es lo que hay por dentro.
En particular los dos procesadores presentados por Apple que buscan competir no sólo contra AMD e Intel sino contra AMD y NVidia en GPUs, combinando todo en uno.
Actualmente la única empresa que ofrece algo más o menos decente en CPU+GPU es AMD, lo de Intel sirve para algo básico con sus propios GPUs y NVidia, por su parte, sólo ofrece GPUs de alto nivel de forma independiente y sus integrados con ARM son bastante más limitados.
Apple encaró con el M1 una idea completamente distinta que no era innovadora sino más bien antigua: integrar en un mismo packaging memoria y procesador para controlar completamente el sistema.
Este System on a Chip gigante integra no solamente el CPU con el GPU y el controlador de memoria sino la memoria misma en una placa que funciona como todo un gran SoC. Usualmente la memoria se sigue dejando afuera pero Apple quería tener menores latencias, acceso directo a mayor velocidad y, por ende, mayor ancho de banda.
¿Cual es el problema? Olvídense de expandir la memoria RAM si ésta ya viene integrada en el procesador! Para el M1 ese límite impuesto fue de 16GB, una Macbook con el M1 no puede expandir su memoria, la aprovechará al máximo, pero tiene un techo impuesto por diseño.
Por suerte para Apple el uso actual de las computadoras le da la ventaja en ese sentido. La gran mayoría de los usuarios no profesionales cuenta con una enormidad de RAM en 16GB, para alguien que necesita trabajar más seriamente nacieron estos dos nuevos modelos, M1 Pro y M1 Max, con 32GB y 64GB respectivamente. Viene en el paquete, no se le puede quitar, tampoco agregar, pero ya son tamaños casi de Workstation (sin llegar a serlo, claro).
M1 Pro
El M1 Pro es un SOC con unos 10 núcleos, dos de eficiencia, ocho de performance (8+2), esto significa que para las tareas mundana es en “idle” esos dos núcleos ARM pequeños hacen todo y cuando se requiere más potencia se activan los otros ocho, en términos prácticos es un octa-core ya que esos dos son irrelevantes en la suma total.
En total cuenta con unos 33.700 millones de transistores en el paquete en una superficie de 245mm2, la memoria de 32GB es LPDDR5 con bus de 256 bits todo empaquetado en el mismo PCB, esto da un control total en la fabricación y una latencia menor, aumenta notablemente la eficiencia energética y ahí es donde están encontrando la vuelta. Este exceso de control permite evitar las pérdidas de energizar otra parte de un motherboard para las memorias, el bus, etc.
El M1 tenía memorias LPDDR4X de 128bits así que hay el doble de ancho de bus con una transferencia prometida de 200GB/s.
Para entender el diseño tomo la imagen editada por Anandtech donde muestran los cuadros de cada sección y aquí es donde se pone interesante porque podemos ver lo irrelevante que se han vuelto, en el tamaño, los núcleos del CPU en comparación con el GPU.
El GPU tiene a ambos lados dos módulos de SLC, System Level Cache, uno para cada bloque de 16GB de RAM accesibles tanto por el CPU como por el GPU en cualquier momento y dos lógicas de 128 bits para alcanzar la RAM. Cada bloque SLC cuenta con 16MB de caché, 32Mb total. Esta memoria caché es de alta velocidad (la del silicio principal).
Según los diagramas de Apple el CPU consta de dos bloques similares de 4 núcleos con cache L2 por conjunto de 12Mb similar a la configuración que usa AMD.
Del lado del GPU vemos 16 núcleos con un total de 2048 unidades de ejecución que permiten hasta 49512 threads simultáneos dando unos 5.2 teraflops, 164 gigatexels/s y 82 gigapixeles/s utilizando los SLC como hace AMD con el Infinity Cache. Según Apple esto permitiría superar a una GeForce RTX 3050 Ti usando un 70% menos de energía, personalmente no acepto ningún gráfico de performance de ninguna marca porque están todos digitados en escenarios que les favorecen.
Igualmente no dudo que sea más eficiente por todos lados, el GPU está al lado del CPU y al lado de la memoria, no hay pérdida en ningún lado.
Adicionalmente hay secciones del SOC para decodificación de video H.264, HEVC, ProRes, ProRes RAW, etc. pero no para otros algoritmos de compresión muy usados como AV1 y demás.
M1 Max
El Max es… es todo el doble! Así, pusieron todo en juego aquí porque es como duplicar el Pro, no es un 20% más o un 50%, no, es un 100% más.
Doble SLC, doble memoria, doble GPUs, lo único que es más conservador es el CPU que mantiene exactamente la misma configuración.
En la memoria ahora hablamos de 512 bits y unos 400GB/s al nivel de un GPU de alto nivel, esta barbaridad de silicio cuenta con unos 57.000 millones de transistores y una superficie de 432mm2.
Eso es gigante, más grande que todo lo anterior e inclusive que los GPUs de NVidia que suelen ser groseramente gigantes.
La Cache genérica es de 64MB lo que es muy grande para un SOC, también subo la imagen de Anandtech comparando tamaños para que se entienda:
Los 32 GPUs ofrecen unos 4096 unidades de ejecución, 98304 threads simultáneos, 10.4 teraflops, 327 gigatexels/s y 164 gigatexels/s, la mayor parte del silicio está ocupada por el GPU como es de esperar.
Según Apple hablamos de niveles de performance comparables a una GeForce RTX 3080 pero con 100W menos de consumo ¿Realista? No lo se, no hay ningún software para Apple que pueda demostrar semejante afirmación así que hasta que no exista algo que pueda sacarle provecho en el mundo real no lo sabremos.
Tengan en cuenta que en el mundo profesional esto es un juguete y hay estándares bastante rígidos. Eso no significa que la posición de Apple sea débil y no pueda crear un nuevo estándar: tienen músculo.
No tiene soporte CUDA que hoy en día en producción profesional es la norma , no soporta AV1, no es algo que pueda escalar como tres o cuatro GPUs tipo Quadro en un mismo motherboard ¡Es el procesador de una notebook!
Pero ahí es donde, creo yo, yace lo interesante: esta es la punta del iceberg.
Como dije en otras oportunidades, cuando encaren las Workstation de trabajo con un M2, M3 o lo que sea, ahí veremos realmente si tienen con qué. Escalar es la cuestión y todavía no han mostrado un equipo con un Dual M1, por ejemplo, algo que no tengo idea cómo funcionará pero seguramente será un equipo extremadamente potente.
En términos de costo/beneficio creo que las nuevas MacBook aparentan ser más caras pero no lo son si Apple cumple con la promesa de performance de estos dos pequeños monstruos. Si entrega, si lo da, entonces esos USD 2500 de una nueva MacBook tal vez sean más un ahorro que un gasto.
Muy buena nota!, creo que en la parte donde mencionas los núcleos de la CPU te quedó al revés los tipos, ¿puede ser?