{"title":"使用符号执行检测GPU程序的银行冲突","authors":"K. Hamaya, S. Yamane","doi":"10.1109/GCCE.2016.7800423","DOIUrl":null,"url":null,"abstract":"Graphics Processing Units (GPUs) are gathering attention now and used in various fields. Accordingly, the demand for verification of GPU Programs is increasing. In this paper, we describe a method to detect bank conflict by using symbolic execution. Bank conflict is the bug happening when multiple processing units access the same bank in the shared memory at the same time. Symbolic execution is a means of analyzing programs with symbolic values. We implement a prototype model checker to detect bank conflict and evaluate it by tests in GkleeTests [4].","PeriodicalId":416104,"journal":{"name":"2016 IEEE 5th Global Conference on Consumer Electronics","volume":"83 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Detecting bank conflict of GPU programs using symbolic execution\",\"authors\":\"K. Hamaya, S. Yamane\",\"doi\":\"10.1109/GCCE.2016.7800423\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Graphics Processing Units (GPUs) are gathering attention now and used in various fields. Accordingly, the demand for verification of GPU Programs is increasing. In this paper, we describe a method to detect bank conflict by using symbolic execution. Bank conflict is the bug happening when multiple processing units access the same bank in the shared memory at the same time. Symbolic execution is a means of analyzing programs with symbolic values. We implement a prototype model checker to detect bank conflict and evaluate it by tests in GkleeTests [4].\",\"PeriodicalId\":416104,\"journal\":{\"name\":\"2016 IEEE 5th Global Conference on Consumer Electronics\",\"volume\":\"83 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2016-10-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2016 IEEE 5th Global Conference on Consumer Electronics\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/GCCE.2016.7800423\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 IEEE 5th Global Conference on Consumer Electronics","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/GCCE.2016.7800423","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
摘要
图形处理单元(Graphics Processing unit, gpu)正受到越来越多的关注,并应用于各个领域。因此,对GPU程序验证的需求越来越大。在本文中,我们描述了一种使用符号执行来检测银行冲突的方法。银行冲突是当多个处理单元同时访问共享内存中的同一银行时发生的错误。符号执行是一种用符号值分析程序的方法。我们实现了一个原型模型检查器来检测银行冲突,并通过GkleeTests[4]中的测试对其进行评估。
Detecting bank conflict of GPU programs using symbolic execution
Graphics Processing Units (GPUs) are gathering attention now and used in various fields. Accordingly, the demand for verification of GPU Programs is increasing. In this paper, we describe a method to detect bank conflict by using symbolic execution. Bank conflict is the bug happening when multiple processing units access the same bank in the shared memory at the same time. Symbolic execution is a means of analyzing programs with symbolic values. We implement a prototype model checker to detect bank conflict and evaluate it by tests in GkleeTests [4].