Comparative Analysis of Compiler Efficiency: Energy Consumption Metrics in High-Performance Computing Domains

  • Erick Damasceno UFPA
  • Fellipe Queiroz UFPA
  • Luan Siqueira UFPA
  • Thiago Rodrigues UFPA
  • Marcos Amaris UFPA

Resumo


Este estudo apresenta uma análise comparativa abrangente da eficiência dos compiladores, com destaque para as métricas de consumo de energia em diversos domínios da computação de alto desempenho. Através de uma avaliação rigorosa do desempenho do GCC, do Clang e do ICC, a investigação visa elucidar quais os compiladores que se destacam em áreas específicas, fornecendo assim informações valiosas para a seleção estratégica destas ferramentas com base nos requisitos únicos de várias tarefas computacionais. Os resultados revelam que, entre a energia total consumida durante os cálculos, o GCC foi responsável por 33,23%, o Clang por 36,01% e o ICC por 30,76%. Notavelmente, o ICC demonstrou uma eficiência energética superior, sendo 7,43% mais eficiente que o GCC, enquanto o Clang foi 8,35% menos eficiente. Esses resultados ressaltam a importância crítica de selecionar o compilador apropriado para otimizar a eficiência energética em ambientes de computação de alto desempenho.

Referências

Almomany, A., Alquraan, A., and Balachandran, L. (2014). Gcc vs. icc comparison using parsec benchmarks. IJITEE, 4(7).

Amiri, H. and Shahbahrami, A. (2020). Simd programming using intel vector extensions. Journal of Parallel and Distributed Computing, 135:83–100.

Che, S., Sheaffer, J. W., Boyer, M., Szafaryn, L. G., Wang, L., and Skadron, K. (2010). A characterization of the rodinia benchmark suite with comparison to contemporary cmp workloads. In IEEE International Symposium on Workload Characterization (IISWC’10), pages 1–11.

Daniel and Page (2009). Compilers, pages 451–493. Springer London, London.

Embree, P. M., Kimble, B., and Bartram, J. F. (1991). C language algorithms for digital signal processing.

Gawrych, B. and Czarnul, P. (2023). Performance assessment of openmp constructs and benchmarks using modern compilers and multi-core cpus. In 2023 18th Conference on Computer Science and Intelligence Systems (FedCSIS), pages 973–978. IEEE.

Gough, B. J. and Stallman, R. (2004). An Introduction to GCC. Network Theory Limited.

Hatcher, P. J., Quinn, M. J., Lapadula, A. J., Anderson, R. J., and Jones, R. R. (1991). Dataparallel c: A simd programming language for multicomputers. In The Sixth Distributed Memory Computing Conference, pages 91–92. IEEE CS.

Hollman, D. S., Lelbach, B. A., Edwards, H. C., Hoemmen, M., Sunderland, D., and Trott, C. R. (2019). mdspan in c++: A case study in the integration of performance portable features into international language standards. In International Workshop on Performance, Portability and Productivity in HPC, pages 60–70. IEEE.

Hussain, S. M., Wahid, A., Shah, M. A., Akhunzada, A., Khan, F., Amin, N. u., Arshad, S., and Ali, I. (2019). Seven pillars to achieve energy efficiency in high-performance computing data centers. Recent Trends and Advances in Wireless and IoT-enabled Networks, pages 93–105.

Inria, University of Lille (2024). Power api. Copyright © 2024 Inria, University of Lille. Made with Material for MkDocs.

Kiessling, A. (2009). An introduction to parallel programming with openmp. In The University of Edinburgh, A Pedagogical Seminar (accessed 24 September 2020), URL: [link], volume 76.

Lattner, C. and Adve, V. (2004). Llvm: a compilation framework for lifelong program analysis & transformation. In International Symposium on Code Generation and Optimization, 2004. CGO 2004., pages 75–86.

Machado, R. S., Almeida, R. B., Jardim, A. D., Pernas, A. M., Yamin, A. C., and Cavalheiro, G. G. H. (2017). Comparing performance of c compilers optimizations on different multicore architectures. In 2017 International Symposium on Computer Architecture and High Performance Computing Workshops (SBAC-PADW), pages 25–30.

Mishra, A., Malik, A. M., and Chapman, B. (2020). Extending the llvm/clang framework for openmp metadirective support. In 2020 IEEE/ACM 6th Workshop on the LLVM Compiler Infrastructure in HPC (LLVM-HPC) and Workshop on Hierarchical Parallelism for Exascale Computing (HiPar), pages 33–44.

Tiwari, A., Laurenzano, M. A., Carrington, L., and Snavely, A. (2012). Modeling power and energy usage of hpc kernels. In IEEE 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forum, pages 990–998.

Williams, J. and Curtis, L. (2008). Green: The new computing coat of arms? IT Professional Magazine, 10(1):12.
Publicado
23/10/2024
DAMASCENO, Erick; QUEIROZ, Fellipe; SIQUEIRA, Luan; RODRIGUES, Thiago; AMARIS, Marcos. Comparative Analysis of Compiler Efficiency: Energy Consumption Metrics in High-Performance Computing Domains. In: SIMPÓSIO EM SISTEMAS COMPUTACIONAIS DE ALTO DESEMPENHO (SSCAD), 25. , 2024, São Carlos/SP. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2024 . p. 252-263. DOI: https://doi.org/10.5753/sscad.2024.244771.