Producto matricial en el Intel Xeon Phi KNL en el modo Sub-NUMA Clustering 4

En este artı́culo se recogen los resultados del estudio del comportamiento y rendimiento del Intel Xeon Phi Knights Landing en diferentes situaciones utilizando como benchmark el producto de matrices densas. El principal objetivo de este trabajo ha sido identificar la distribución de hilos dentro del procesador que mejor rendimiento ofrece al utilizar el modo de clustering SNC-4, centrándonos en la paralelización en dos niveles para un caso de estudio ampliamente conocido, con caracterı́sticas técnicas de patrones de acceso a memoria regulares y conocidas, garantizando la reproducibilidad y ampliación de los resultados. También se incluyen resultados sobre el rendimiento de la memoria MCDRAM en los modos cache y flat y las mejoras en el rendimiento que pueden obtenerse al utilizar la vectorización en diferentes situaciones de aprovechamiento de los datos dentro de la jerarquı́a de memoria. En general, se ha comprobado que la mejor distribución de los hilos es la más equitativa, es decir, aquella que asigna la menor cantidad de hilos por core posibles. La vectorización se ha mostrado eficiente solamente en los casos en que no se realizan reemplazos dentro de las cachés para alimentar los registros vectoriales. Además, al introducir padding en los datos se han conseguido mejoras en el rendimiento muy significativas. Con todo esto, se ha conseguido un rendimiento de 78.09 GFlop/s. Se espera que los resultados recogidos en este documento sirvan como guı́a para la optimización y la paralelización de aplicaciones en el Intel Xeon Phi.

keywords: Intel Xeon Phi KNL, Knights Land- ing, arquitecturas manycore, MCDRAM, clustering, vectorización, paralelización