Source code transformations for efficient SIMD code generation

Despite the effort inverted the last years in commercial compilers to generate efficient SIMD instructions based code sequences from conventional sequential programs, the small numbers of compilers that can automatically use these instructions achieve in most cases unsatisfactory results. This work...

ver descrição completa

Detalhes bibliográficos
Autores: Berna Juan, Alejandro, Jiménez Castells, Marta, Llaberia Griñó, José M.|||0000-0002-3753-4108
Formato: informe técnico
Fecha de publicación:2012
País:España
Recursos:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/16307
Acesso em linha:https://hdl.handle.net/2117/16307
Access Level:acceso abierto
Palavra-chave:Parallel programming (Computer science)
Programació en paral·lel (Informàtica)
Àrees temàtiques de la UPC::Informàtica::Programació
Descrição
Resumo:Despite the effort inverted the last years in commercial compilers to generate efficient SIMD instructions based code sequences from conventional sequential programs, the small numbers of compilers that can automatically use these instructions achieve in most cases unsatisfactory results. This work shows how exposing register level reuse in source codes helps vectorizing compilers as ICC to generate efficient SIMD code that exploits vectorial register reuse. To this end we use reverse-engineering to know the limitations of ICC compiler. We compare performance of compiler generated code to performance of hand-optimized assembly-written numerical libraries achieving around the 72% performance of MKL for example.