Low precision matrix multiplication for efficient deep learning in NVIDIA Carmel processors

[EN] We introduce a high performance, multi-threaded realization of the gemm kernel for the ARMv8.2 architecture that operates with 16-bit (half precision)/queryKindly check and confirm whether the corresponding author is correctly identified. floating point operands. Our code is especially designed...

Descripción completa

Detalles Bibliográficos
Autores: San Juan-Sebastian, Pablo, Rodríguez-Sánchez, Rafael, Igual, Francisco D., Alonso-Jordá, Pedro|||0000-0002-6882-6592, Quintana-Ortí, Enrique S.|||0000-0002-5454-165X
Tipo de recurso: artículo
Fecha de publicación:2021
País:España
Institución:Universitat Politècnica de València (UPV)
Repositorio:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
Idioma:inglés
OAI Identifier:oai:riunet.upv.es:10251/189610
Acceso en línea:https://riunet.upv.es/handle/10251/189610
Access Level:acceso abierto
Palabra clave:Deep learning
Matrix multiplication
High performance
NVIDIA Carmel system-on-chip (SoC)
CIENCIAS DE LA COMPUTACION E INTELIGENCIA ARTIFICIAL
ARQUITECTURA Y TECNOLOGIA DE COMPUTADORES
Descripción
Sumario:[EN] We introduce a high performance, multi-threaded realization of the gemm kernel for the ARMv8.2 architecture that operates with 16-bit (half precision)/queryKindly check and confirm whether the corresponding author is correctly identified. floating point operands. Our code is especially designed for efficient machine learning inference (and to a certain extent, also training) with deep neural networks. The results on the NVIDIA Carmel multicore processor, which implements the ARMv8.2 architecture, show considerable performance gains for the gemm kernel, close to the theoretical peak acceleration that could be expected when moving from 32-bit arithmetic/data to 16-bit. Combined with the type of convolution operator arising in convolutional neural networks, the speed-ups are more modest though still relevant.