Resumo:Compiladores modernos tradicionalmente adotam estratégias de maior generalidade. Em contrapartida, para se aproveitar das especificidades de cada programa, surgem os compiladores iterativos. Esses exploram diferentes conjuntos de otimizações com o objetivo de encontrar o melhor para cada programa, maximizando uma função objetivo. Quando estamos buscando melhorias de desempenho, essa função é o tempo de execução. Uma forma prática de se obter o tempo de execução de um programa é executando o mesmo, porém a execução pode ser demorada tornando a exploração inviável. Para isso, uma solução é a estimativa de desempenho. Nesse artigo apresentamos uma ferramenta de estimativa de desempenho para auxiliar a tarefa de exploração do espaço de otimizações por compiladores iterativos. Diferentes técnicas foram avaliadas, onde foi possível mostrar que mesmo com estimativas aproximadas pode-se obter bons resultados. Além disso, as estimativas reduziram o tempo da exploração em 2, 34x na seleção entre quatro conjuntos. Abstract:Modern compilers prefer to be generic and retargetable. In contrast, to take advantage of program's specificities, there are iteratives compilers, which explore different optimization sets for each program using an objective function. When this search is done for the increase of performance, the objective function is the runtime. One practical way to get the runtime of a program is by executing it, but if the program runtime is expensive this can end up being impractical and performance estimation is an alternative. In this paper, we analyze the impact of the performance estimation precision over the exploration of optimization space and also present a tool to guide LLVM compiler over this task. A variety of estimation techniques are evaluated and we show that even with approximate estimates it is possible to have good results. Furthermore, the estimations were able to reduce in up 2.34x the selection time between four sets.
Classification of seismic facies is done by clustering seismic data samples based on their attributes. Year after year, the 3D datasets used in exploration geophysics constantly increase in size, complexity, and number of attributes, requiring a continuous rise in the classification efficiency. In this work, we explore the use of Graphics Processing Units (GPUs) to perform the classification of seismic surveys using the wellestablished machine learning method k-means. We show that the high-performance distributed implementation of the k-means algorithm available at the NVIDIA RAPIDS library can be used to classify facies of large seismic datasets much faster than a classical parallel CPU implementation (up to 258-fold faster in NVIDIA TESLAs GPUs), especially for large seismic blocks. We tested the algorithm with different real seismic volumes, including F3 Netherlands, Parihaka, and Kahu (from 12GB to 66GB).
Dynamic Translation (DT) is a sophisticated technique that allows the implementation of high-performance emulators and high-level-language virtual machines. In this technique, the guest code is compiled dynamically at runtime. Consequently, achieving good performance depends on several design decisions, including the shape of the regions of code being translated. Researchers and engineers explore these decisions to bring the best performance possible. However, a real DT engine is a very sophisticated piece of software, and modifying one is a hard and demanding task. Hence, we propose using simulation to evaluate the impact of design decisions on dynamic translators and present RAIn, an open-source DT simulator that facilitates the test of DT's design decisions, such as Region Formation Techniques (RFTs). RAIn outputs several statistics that support the analysis of how design decisions may affect the behavior and the performance of a real DT. We validated RAIn running a set of experiments with six well known RFTs (NET, MRET2, LEI, NETPlus, NET-R, and NETPlus-e-r) and showed that it can reproduce well-known results from the literature without the effort of implementing them on a real and complex dynamic translator engine.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.