FPChecker: Detecting Floating-Point Exceptions in GPU Applications
Wed 13 Nov 2019 12:10 - 12:20 at Cortez 1 - Testing and Program Analysis Chair(s): Jun Sun
Floating-point arithmetic is widely used in applications from several fields including scientific computing, machine learning, graphics, and finance. Many of these applications are rapidly adopting the use of GPUs to speedup computations. GPUs, however, have limited support to detect floating-point exceptions, making it difficult to software developers to detect unexpected exceptional cases in such applications. We present FPChecker, the first tool to automatically detect floating-point exceptions in GPU applications. FPChecker uses the clang/LLVM compiler to instrument GPU kernels and to detect floating-point exceptions in GPUs at runtime. Once an exception is detected, it reports to the programmer the code location of the exception as well as other useful information. The programmer can then use this information to avoid the exception, e.g., by modifying the application algorithm or changing its input. We present the design of FPChecker, an evaluation of the overhead of the tool, and a real-world case scenario on which the tool is used to identify a hidden exception. The slowdown of FPChecker is moderate ($1.5\times$ on average) and the code is publicly available as open source.
Tue 12 Nov
10:00 - 10:40 Demonstration | Pangolin: An SFL-based Toolset for Feature Localization Bruno Miguel Sotto-Mayor de Castro MachadoIST, University of Lisbon, Alexandre PerezPalo Alto Research Center, Rui AbreuInstituto Superior Técnico, U. Lisboa & INESC-ID | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | A Quantitative Analysis Framework for Recurrent Neural Network Xiaoning DuNanyang Technological University, Xiaofei XieNanyang Technological University, Yi LiNanyang Technological University, Lei MaKyushu University, Yang LiuNanyang Technological University, Singapore, Jianjun ZhaoKyushu University | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | Ares: Inferring Error Specifications through Static Analysis Li ChiTsinghua University, Zuxing GuSchool of Software, Tsinghua University, Min ZhouTsinghua University, Ming GuTsinghua University, Hongyu ZhangThe University of Newcastle | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | SiMPOSE - Configurable N-Way Program Merging Strategies for Superimposition-based Analysis of Variant-Rich Software Dennis ReulingSoftware Engineering Group, University of Siegen, Udo KelterSoftware Engineering Group, University of Siegen, Sebastian RulandTU Darmstadt, Real-time Systems Lab, Malte LochauTU Darmstadt Pre-print Media Attached File Attached | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | VeriAbs : Verification by Abstraction and Test Generation Mohammad AfzalTata Cosultancy Services, A AsiaTata Cosultancy Services, Avriti ChauhanTata Cosultancy Services, Bharti ChimdyalwarTata Consultancy Services, Priyanka DarkeTata Consultancy Services, Advaita DatarTata Consultancy Services Ltd, Shrawan KumarTata Cosultancy Services, R VenkateshTata Research Development and Design Centre | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | DeepHunter: A Coverage-Guided Fuzzer for Deep Neural Networks Xiaofei XieNanyang Technological University, Hongxu ChenNanyang Technological University, Yi LiNanyang Technological University, Lei MaKyushu University, Yang LiuNanyang Technological University, Singapore, Jianjun ZhaoKyushu University | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | SPrinter: A Static Checker for Finding Smart Pointer Errors in C++ Programs Xutong MaInstitute of Software, Chinese Academy of Sciences, Jiwei YanInstitute of Software, Chinese Academy of Sciences, Yaqi LiInstitute of Software, Chinese Academy of Sciences, Jun YanInstitute of Software, Chinese Academy of Sciences, Jian ZhangInstitute of Software, Chinese Academy of Sciences | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | LIRAT: Layout and Image Recognition Driving Automated Mobile Testing of Cross-Platform Shengcheng YuNanjing University, China, Chunrong FangNanjing University, Yang FengUniversity of California, Irvine, Wenyuan ZhaoNanjing University, Zhenyu ChenNanjing University | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | FogWorkflowSim: An Automated Simulation Toolkit for Workflow Performance Evaluation in Fog Computing Xiao LiuSchool of Information Technology, Deakin University, Lingmin FanSchool of Computer Science and Technology, Anhui University, Jia XuSchool of Computer Science and Technology, Anhui University, Xuejun LiSchool of Computer Science and Technology, Anhui University, Lina GongSchool of Computer Science and Technology, Anhui University, John GrundyMonash University, Yun YangSwinburne University of Technology | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | SGUARD: A Feature-based Clustering Tool for Effective Spreadsheet Defect Detection Da LiState Key Lab. for Novel Software Tech. and Dept. of Comp. Sci. and Tech., Nanjing University, Nanjing, China, Huiyan WangState Key Lab. for Novel Software Tech. and Dept. of Comp. Sci. and Tech., Nanjing University, Nanjing, China, Chang XuNanjing University, Ruiqing ZhangSearch Tech. Center Asia, Microsoft, Suzhou, China, Shing-Chi CheungDepartment of Computer Science and Engineering, The Hong Kong University of Science and Technology, Xiaoxing MaState Key Lab. for Novel Software Tech. and Dept. of Comp. Sci. and Tech., Nanjing University | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | FPChecker: Detecting Floating-Point Exceptions in GPU Applications Ignacio LagunaLawrence Livermore National Laboratory | |||||||||||||||||||||||||||||||||||||||||
10:00 - 10:40 Demonstration | PMExec: An Execution Engine of Partial UML-RT Models Mojtaba BagherzadehQueen's University, Karim JahedQueen's University, Nafiseh KahaniQueen's University, Juergen DingelQueen's University, Kingston, Ontario Pre-print |