2018 IEEE/ACM 2nd International Workshop on Software Correctness for HPC Applications (Correctness)最新文献

筛选
英文 中文
HPC Software Verification in Action: A Case Study with Tensor Transposition HPC软件的验证:一个张量变换的案例研究
Erdal Mutlu, Ajay Panyala, S. Krishnamoorthy
{"title":"HPC Software Verification in Action: A Case Study with Tensor Transposition","authors":"Erdal Mutlu, Ajay Panyala, S. Krishnamoorthy","doi":"10.1109/Correctness.2018.00006","DOIUrl":"https://doi.org/10.1109/Correctness.2018.00006","url":null,"abstract":"As HPC platforms get increasingly complex, the complexity of software optimized for these platforms has also increased. There is a pressing need to ensure correctness of scientific applications to enhance our confidence in the results they produce. In this paper, we focus on checking the functional equivalence of libraries providing a small but important functionality---tensor transposition---used in computational chemistry applications. While several correctness tools have been developed and deployed, there are several practical challenges in using them to check correctness of production HPC software. We present our experiences using two tools---CIVL and CodeThorn---in checking the functional equivalence of two index permutation libraries. We observe that, with some effort, the tools we evaluated can handle kernels from production codes. We present observations that will aid library writers to write code that can be checked with these tools.","PeriodicalId":217525,"journal":{"name":"2018 IEEE/ACM 2nd International Workshop on Software Correctness for HPC Applications (Correctness)","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129424635","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Workshop overview 车间概述
Michael Buckley
{"title":"Workshop overview","authors":"Michael Buckley","doi":"10.1109/correctness.2018.00004","DOIUrl":"https://doi.org/10.1109/correctness.2018.00004","url":null,"abstract":"","PeriodicalId":217525,"journal":{"name":"2018 IEEE/ACM 2nd International Workshop on Software Correctness for HPC Applications (Correctness)","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116792697","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Verifying Qthreads: Is Model Checking Viable for User Level Tasking Runtimes? 验证qthread:模型检查是否适用于用户级任务运行时?
N. Evans
{"title":"Verifying Qthreads: Is Model Checking Viable for User Level Tasking Runtimes?","authors":"N. Evans","doi":"10.1109/Correctness.2018.00008","DOIUrl":"https://doi.org/10.1109/Correctness.2018.00008","url":null,"abstract":"'As scale grows and relaxed memory models become common, it is becoming more difficult to establish the correctness of HPC runtimes through simple testing, making formal verification an attractive alternative. This paper describes a formal specification and verification of an HPC user-level tasking runtime through the design, implementation, and evaluation of a model checked implementation of the Qthreads user-level tasking runtime. We implement our model in SPIN model checker by doing a function to function translation of Qthreads'' C implementation to Promela code. This translation bridges the differences in the modeling and implementation languages by translating C''s rich pointer semantics, functions and non-local gotos to Promela''s comparatively simple semantics. We then evaluate our implementation to show that it is both tractable and useful, exhaustively searching the state-space for counterexamples in reasonable time on modern architectures and use it to find a lingering concurrency error in the Qthreads runtime.","PeriodicalId":217525,"journal":{"name":"2018 IEEE/ACM 2nd International Workshop on Software Correctness for HPC Applications (Correctness)","volume":"58 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127771073","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Using Polyhedral Analysis to Verify OpenMP Applications are Data Race Free 使用多面体分析来验证OpenMP应用程序是无数据竞争的
Fangke Ye, M. Schordan, C. Liao, Pei-Hung Lin, I. Karlin, Vivek Sarkar
{"title":"Using Polyhedral Analysis to Verify OpenMP Applications are Data Race Free","authors":"Fangke Ye, M. Schordan, C. Liao, Pei-Hung Lin, I. Karlin, Vivek Sarkar","doi":"10.1109/Correctness.2018.00010","DOIUrl":"https://doi.org/10.1109/Correctness.2018.00010","url":null,"abstract":"Among the most common and hardest to debug types of bugs in concurrent systems are data races. In this paper, we present an approach for verifying that an OpenMP program is data race free. We use polyhedral analysis to verify those parts of the program where we detect parallel affine loop nests. We show the applicability of polyhedral analysis with analysis-enabling program transformations for data race detection in HPC applications. We evaluate our approach with the dedicated data race benchmark suite DataRaceBench and the LLNL Proxy Application AMG2013 which consists of 75,000 LOC. Our evaluation shows that polyhedral analysis can classify 40% of the DataRaceBench 1.2.0 benchmarks as either data race free or having data races, and verify that 41 of the 114 (36%) loop nests of AMG2013 are data race free.","PeriodicalId":217525,"journal":{"name":"2018 IEEE/ACM 2nd International Workshop on Software Correctness for HPC Applications (Correctness)","volume":"151 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123384488","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 12
Title Page 标题页
{"title":"Title Page","authors":"","doi":"10.1109/correctness.2018.00001","DOIUrl":"https://doi.org/10.1109/correctness.2018.00001","url":null,"abstract":"","PeriodicalId":217525,"journal":{"name":"2018 IEEE/ACM 2nd International Workshop on Software Correctness for HPC Applications (Correctness)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115883242","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Correctness of Dynamic Dependence Analysis for Implicitly Parallel Tasking Systems 隐式并行任务系统动态依赖分析的正确性
Wonchan Lee, George Stelle, P. McCormick, A. Aiken
{"title":"Correctness of Dynamic Dependence Analysis for Implicitly Parallel Tasking Systems","authors":"Wonchan Lee, George Stelle, P. McCormick, A. Aiken","doi":"10.1109/Correctness.2018.00007","DOIUrl":"https://doi.org/10.1109/Correctness.2018.00007","url":null,"abstract":"In this paper, we rigorously verify the correctness of dynamic dependence analysis, a key algorithm for parallelizing programs in implicitly parallel tasking systems. A dynamic dependence analysis of a program results in a task graph, a DAG of tasks constraining the order of task execution. Because a program is automatically parallelized based on its task graph, the analysis algorithm must generate a graph with all the dependencies that are necessary to preserve the program’s original semantics for any non-deterministic parallel execution of tasks. However, this correctness is not straightforward to verify as implicitly parallel tasking systems often use an optimized dependence analysis algorithm. To study the correctness of dynamic dependence analysis in a realistic setting, we design a model algorithm that captures the essence of realistic analysis algorithms. We prove that this algorithm constructs task graphs that soundly and completely express correct parallel executions of programs. We also show that the generated task graph is the most succinct one for a program when the program satisfies certain conditions.","PeriodicalId":217525,"journal":{"name":"2018 IEEE/ACM 2nd International Workshop on Software Correctness for HPC Applications (Correctness)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115091784","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Towards Deductive Verification of Message-Passing Parallel Programs 消息传递并行程序的演绎验证研究
Ziqing Luo, Stephen F. Siegel
{"title":"Towards Deductive Verification of Message-Passing Parallel Programs","authors":"Ziqing Luo, Stephen F. Siegel","doi":"10.1109/Correctness.2018.00012","DOIUrl":"https://doi.org/10.1109/Correctness.2018.00012","url":null,"abstract":"Program verification techniques based on deductive reasoning can provide a very high level of assurance of correctness. These techniques are capable of proving correctness without placing artificial bounds on program parameters or on the sizes of inputs. While there are a number of mature frameworks for deductive verification of sequential programs, there is much less for parallel programs, and very little for message-passing. We propose a method for the deductive verification of message-passing programs that involves transforming the program into an annotated sequential program that can be verified with off-the-shelf deductive tools, such as Frama-C. The method can prove user-specified correctness properties without any bounds on the number of processes or other parameters. We illustrate this method on a toy example, and analyze its strengths and weaknesses.","PeriodicalId":217525,"journal":{"name":"2018 IEEE/ACM 2nd International Workshop on Software Correctness for HPC Applications (Correctness)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128296690","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
PARCOACH Extension for a Full-Interprocedural Collectives Verification 全程序间集体验证的PARCOACH扩展
Pierre Huchant, Emmanuelle Saillard, Denis Barthou, Hugo Brunie, Patrick Carribault
{"title":"PARCOACH Extension for a Full-Interprocedural Collectives Verification","authors":"Pierre Huchant, Emmanuelle Saillard, Denis Barthou, Hugo Brunie, Patrick Carribault","doi":"10.1109/Correctness.2018.00013","DOIUrl":"https://doi.org/10.1109/Correctness.2018.00013","url":null,"abstract":"The advent to exascale requires more scalable and efficient techniques to help developers to locate, analyze and correct errors in parallel applications. PARallel COntrol flow Anomaly CHecker (PARCOACH) is a framework that detects the origin of collective errors in applications using MPI and/or OpenMP. In MPI, such errors include collective operations mismatches. In OpenMP, a collective error can be a barrier not called by all tasks in a team. In this paper, we present an extension of PARCOACH which improves its collective errors detection. We show our analysis is more precise and accurate than the previous one on different benchmarks and real applications.","PeriodicalId":217525,"journal":{"name":"2018 IEEE/ACM 2nd International Workshop on Software Correctness for HPC Applications (Correctness)","volume":"351 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132529449","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
Towards Incremental Static Race Detection in OpenMP Programs OpenMP程序中渐进式静态竞态检测
Bradley Swain, Jeff Huang
{"title":"Towards Incremental Static Race Detection in OpenMP Programs","authors":"Bradley Swain, Jeff Huang","doi":"10.1109/Correctness.2018.00009","DOIUrl":"https://doi.org/10.1109/Correctness.2018.00009","url":null,"abstract":"OpenMP is a high level API that allows programmers to write concurrent programs on multi-core systems. OpenMP provides an interface for easily managing teams of threads and concurrent tasks allowing the programmer to focus on modeling a problem concurrently rather than dealing with low level thread management details for each system on which the code may run. Although OpenMP can automatically handle many parts of writing parallel programs (thread management, work distribution, scheduling, etc.), OpenMP offers no protection against data races. The programmer is left with the difficult task of ensuring that OpenMP programs are free of data races. Many concurrent programs, especially those related to high performance computing, can be difficult for programmers to reason through and are particularly prone to data races due to programmer error. This paper presents an extensible and incremental static analysis technique for detecting data races in OpenMP programs at compile time. Our technique is comprised of two primary components: (i): Array Index Analysis, which is used to detect when two array accesses made from separate threads may overlap resulting in multiple accesses to the same location in memory. (ii): An Incremental Phase Graph is used to build a May Happen in Parallel (MHP) model that is utilized in determining if overlapping array accesses are capable of occurring concurrently.","PeriodicalId":217525,"journal":{"name":"2018 IEEE/ACM 2nd International Workshop on Software Correctness for HPC Applications (Correctness)","volume":"46 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122170326","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
Hybrid Theorem Proving as a Lightweight Method for Verifying Numerical Software 混合定理证明作为一种轻量级的数值软件验证方法
Alper Altuntas, J. Baugh
{"title":"Hybrid Theorem Proving as a Lightweight Method for Verifying Numerical Software","authors":"Alper Altuntas, J. Baugh","doi":"10.1109/Correctness.2018.00005","DOIUrl":"https://doi.org/10.1109/Correctness.2018.00005","url":null,"abstract":"Large-scale numerical software requires substantial computer resources that complicate testing and debugging. A single run of a climate model may require many millions of core-hours and terabytes of disk space, making trial-and-error experiments burdensome and time consuming. In this study, we apply hybrid theorem proving from the field of cyber-physical systems to problems in scientific computation, and show how to verify the correctness of discrete updates that appear in the simulation of continuous physical systems. By viewing numerical software as a hybrid system that combines discrete and continuous behavior, test coverage and confidence in findings can be increased. We describe abstraction approaches for modeling numerical software and demonstrate the applicability of the approach in a case study that reproduces undesirable behavior encountered in a parameterization scheme, called the K-profile parameterization, widely used in ocean components of large-scale climate models. We then identify and model a fix in the configuration of the scheme, and verify that the undesired behavior is eliminated for all possible execution sequences. We conclude that hybrid theorem proving is an effective and efficient approach that can be used to verify and reason about properties of large-scale numerical software.","PeriodicalId":217525,"journal":{"name":"2018 IEEE/ACM 2nd International Workshop on Software Correctness for HPC Applications (Correctness)","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126251439","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信