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

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...

Descripción completa

Detalles Bibliográficos
Autores: San Juan, Pablo, Rodríguez Sánchez, Rafael, Igual Peña, Francisco D., Alonso Jordá, Pedro, Quintana Ortí, Enrique S.
Tipo de recurso: artículo
Fecha de publicación:2021
País:España
Institución:Universidad de Castilla-La Mancha
Repositorio:RUIdeRA. Repositorio Institucional de la UCLM
OAI Identifier:oai:ruidera.uclm.es:10578/44295
Acceso en línea:https://doi.org/10.1007/s11227-021-03636-4
https://hdl.handle.net/10578/44295
Access Level:acceso abierto
Palabra clave:Deep learning
High performance
Matrix multiplication
NVIDIA Carmel system-on-chip (SoC)
Descripción
Sumario: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.