Skip to content
Snippets Groups Projects
Commit aed1b5f1 authored by clac16's avatar clac16
Browse files

Mudanças no resumo

parent 5d54eaa4
Branches
No related tags found
No related merge requests found
......@@ -118,8 +118,7 @@ Clang é o front end para linguagens na família C para o LLVM.
O Intel C Compiler também é baseado no LLVM, com a versão 2025.0.1 tendo
LLVM 19.0.0 como back end.
%Comando "icx -x c /dev/null -dM -E|grep clang" para exibir a versão.
AOCC é um fork do Clang que inclui otimizações da AMD, com foco particular
(nas últimas versões) em processadores Zen.
AOCC é um fork do Clang que inclui otimizações da AMD.
O AOCC 5.0 tem como back end o LLVM 17.0.6.
%https://www.amd.com/pt/developer/aocc.html
......@@ -140,7 +139,7 @@ em C e as flags que habilitam OpenMP (\texttt{-qopenmp} com ICC,
\texttt{-fopenmp} com os demais compiladores).
As diferenças nas flags selecionadas visam compensar variações entre as flags
definidas para compiladores.
definidas para os compiladores.
Com AOCC, Clang e ICC \texttt{-O3} implica loop unrolling, mas não com GCC.
E, por default, ICC usa um modelo de ponto flutuante (\texttt{-fp-model=fast=1})
que habilita otimizações que sacrificam a acurácia da aritmética, ao contrário
......@@ -240,9 +239,21 @@ caption={Segmento de Particle Filter (linhas 288--293)}]
%Nenhum dos compiladores, no entanto, remove toda a atribuição da linha 4.
O segmento na Listagem~\ref{list:pfilter.c.2} é a principal parte da seção que
domina o tempo de execução do programa e que executa aproximadamente \(2.4\)
domina o tempo de execução do programa e que executa aproximadamente 2.4
vezes mais rápido no programa gerado pelo ICC do que no produzido pelo
GCC, e cerca de \(1.4\) vezes mais rápido no GCC do que no Clang e AOCC.
GCC, e cerca de 1.4 vezes mais rápido no GCC do que no Clang e AOCC.
O programa para o qual ICC apresenta a segunda maior vantagem, SRAD, revela uma
situação similar.
Tomando-se as mesmas flags que a análise anterior, o desempenho do ICC é cerca
de 36\% melhor que o do Clang e do AOCC, e a diferença se deve a dois laços que
apenas o compilador da Intel vetoriza (resultando em execuções 1.6 e 2.3 vezes
mais rápidas).
Naturalmente, outros fatores impactam o desempenho.
Apesar de GCC, Clang e AOCC nem vetorizarem nem realizarem unroll em um desses
laços, a versão do GCC o executa em um tempo 2,7 vezes maior que a dos
outros dois, contribuindo para uma performance 49\% pior que a desses
compiladores.
\section{Conclusão}
A análise demonstra que o compilador da Intel identifica possibilidades de
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment