Publications

Detailed Information

컴파일러의 부동소수점 최적화 검증을 위한 효율적인 SMT 인코딩 : An Efficient SMT Encoding for the Validation of Floating-Point Compiler Optimizations

Cited 0 time in Web of Science Cited 0 time in Scopus
Authors

남승현

Advisor
허충길
Issue Date
2023
Publisher
서울대학교 대학원
Keywords
최적화 검증SMT solver부동소수점
Description
학위논문(석사) -- 서울대학교대학원 : 공과대학 컴퓨터공학부, 2023. 2. 허충길.
Abstract
부동소수점 값을 추상화한 비트벡터와 연산을 추상화한 SMT 수식을 이용해 컴파일러 최적화를 빠르고 정확하게 검증하는 방법을 소개하고, 실험을 통해 효용성을 확인한다. IEEE-754 부동소수점 표준에 정의된 다수의 부동소수점 연산을 머신러닝 애플리케이션 최적화 검증에 사용할 수 있을 정도로 정확하게 상위 근사 (overapproximation) 하는 방법을 고안하였다. 추상화된 연산은 표준 부동소수점 연산에 비해 절대적인 연산 횟수도 적고 SMT solver가 더욱 효율적으로 검증할 수 있다. 머신러닝 컴파일러 프레임워크인 MLIR에서 사용되는 최적화를 표준 부동소수점 연산을 그대로 재현하는 방법과 제시하는 방법으로 검증해 비교했다. 동일한 최적화를 약 14배 더 빠르게 검증했고 timeout이 줄어들며 더 많은 최적화를 검증하였다. 이 과정에서 잘못 구현된 MLIR 최적화를 발견해 제보하였고 현재는 제거되었다.
This paper introduces a novel method to encode the floating-point (FP) value as SMT bit-vector and the operations between them as SMT formulas, which allows efficient yet accurate verification of FP compiler optimizations, and checks its effectiveness by experiments. It is essentially an overapproximation scheme for FP operations, which is less complex and more SMT-friendly compared to the IEEE-754 standard but maintains enough representative power for verification. When verifying the optimization passes from MLIR compiler framework using both abstract and concrete FP encoding, the abstract encoding could verify the same optimizations more quickly, and even allowed more passes to be verified than the concrete encoding due to less timeouts. The new encoding played a crucial role in removing some faulty MLIR optimizations.
Language
kor
URI
https://hdl.handle.net/10371/193366

https://dcollection.snu.ac.kr/common/orgView/000000176779
Files in This Item:
Appears in Collections:

Altmetrics

Item View & Download Count

  • mendeley

Items in S-Space are protected by copyright, with all rights reserved, unless otherwise indicated.

Share