{"627576":{"#nid":"627576","#data":{"type":"news","title":"   Georgia Tech Researchers Develop Tool to Find Bugs in OpenMP","body":[{"value":"\u003Cp\u003EGeorgia Tech researchers are at the forefront of making Open Multi-Processing (OpenMP) standard updates more usable for heterogeneous computing. Their new tool helps developers detect bugs related to hardware accelerator data mapping.\u003C\/p\u003E\r\n\r\n\u003Cp\u003EOpenMP Sanitizer (OMPSan) is a sanitizing tool that uses an advanced data flow analysis to determine the correctness of data mapping in OpenMP programs. It then reports diagnostics to help the developer understand and debug their data mapping specifications across heterogeneous devices.\u003C\/p\u003E\r\n\r\n\u003Cp\u003EThe tool saves developers considerable effort and time. OMPSan found 15 errors in a common data race benchmark for accelerators. The tool has already been used in hackathons for application developers to try the latest OpenMP standard.\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003EOpenMP Challenges for Heterogeneous Computing\u003C\/strong\u003E\u003C\/p\u003E\r\n\r\n\u003Cp\u003EThis research is an important contribution to the burgeoning challenges of programming heterogeneous accelerators, according to School of Computer Science (SCS) Professor \u003Ca href=\u0022http:\/\/vsarkar.cc.gatech.edu\/\u0022\u003E\u003Cstrong\u003EVivek Sarkar\u003C\/strong\u003E\u003C\/a\u003E, Stephen Fleming Chair for Telecommunications, and Co-Director for the \u003Ca href=\u0022http:\/\/www.crnch.gatech.edu\/\u0022\u003ECenter for Research into Novel Computing Hierarchies (CRNCH)\u003C\/a\u003E.\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026ldquo;Heterogeneous computing is increasing in importance as we approach the end of Moore\u0026rsquo;s law, and there is a growing need for productive and portable approaches to programming computers with accelerators,\u0026rdquo; he said. \u0026ldquo;While the OpenMP standard offers a possible solution to the programming problem, the community appreciates that there are many challenges in using this standard and that OMPSan can help developers in using OpenMP\u0026rsquo;s new data mapping constructs.\u0026rdquo;\u003C\/p\u003E\r\n\r\n\u003Cp\u003EA key challenge in data mapping is managing the data movement to and from accelerators like graphic processing units (GPUs). Buggy data mappings can lead to incorrect data being used in the GPU, thereby resulting in erroneous outputs. Identifying and fixing these bugs requires considerable effort by the developer.\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Cstrong\u003EOMPSan Improvements\u003C\/strong\u003E\u003C\/p\u003E\r\n\r\n\u003Cp\u003EOMPSan is implemented in the LLVM tool chain and is comprised of several advancements that could have implications beyond the current version of the tool:\u003C\/p\u003E\r\n\r\n\u003Cul\u003E\r\n\t\u003Cli\u003Ean algorithm to analyze OpenMP runtime library calls\u003C\/li\u003E\r\n\t\u003Cli\u003Ea dataflow analysis to infer relationships between CPU and GPU memories\u003C\/li\u003E\r\n\t\u003Cli\u003Ea static analysis technique that compares dataflow information between sequential and parallel versions of the same OpenMP program\u003C\/li\u003E\r\n\t\u003Cli\u003Ediagnostic information for developers to understand mapping errors\u003C\/li\u003E\r\n\u003C\/ul\u003E\r\n\r\n\u003Cp\u003EAlthough OMPSan provides great strides in this area, Sarkar\u0026rsquo;s lab hopes to create a follow-on dynamic tool that can find more bugs and even fix them on the fly.\u003C\/p\u003E\r\n\r\n\u003Cp\u003EThe research won a best paper award at the 2019 \u003Ca href=\u0022http:\/\/parallel.auckland.ac.nz\/iwomp2019\/\u0022\u003EInternational Workshop on OpenMP (IWOMP)\u003C\/a\u003E. SCS Ph.D. student \u003Ca href=\u0022https:\/\/prithayan.github.io\/\u0022\u003E\u003Cstrong\u003EPrithayan\u0026nbsp;Barua\u003C\/strong\u003E\u003C\/a\u003E, Research Scientist \u003Ca href=\u0022https:\/\/www.linkedin.com\/in\/jun-shirako-787a6223\/\u0022\u003E\u003Cstrong\u003EJun\u0026nbsp;Shirako\u003C\/strong\u003E\u003C\/a\u003E, and Sarkar authored the paper, \u003Ca href=\u0022https:\/\/link.springer.com\/chapter\/10.1007\/978-3-030-28596-8_1\u0022 target=\u0022_blank\u0022\u003E\u003Cem\u003EOMPSan: Static Verification of OpenMP\u0026rsquo;s Data Mapping Constructs\u003C\/em\u003E\u003C\/a\u003E, along with IBM developers\u003Cstrong\u003E Whitney Tsang\u003C\/strong\u003E, \u0026nbsp;\u003Cstrong\u003EJeeva\u0026nbsp;Paudel\u003C\/strong\u003E, and \u003Cstrong\u003EWang Chen\u003C\/strong\u003E.\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u0026nbsp;\u0026ldquo;I am delighted to see this positive recognition of the OMPSan research led by Prithayan and of the great team effort with our IBM collaborators,\u0026rdquo; Sarkar said.\u003C\/p\u003E\r\n","summary":null,"format":"limited_html"}],"field_subtitle":"","field_summary":"","field_summary_sentence":[{"value":"Georgia Tech researchers are at the forefront of making Open Multi-Processing (OpenMP) standard updates more usable for heterogeneous computing."}],"uid":"34541","created_gmt":"2019-10-14 19:22:33","changed_gmt":"2019-12-10 15:01:57","author":"Tess Malone","boilerplate_text":"","field_publication":"","field_article_url":"","dateline":{"date":"2019-10-14T00:00:00-04:00","iso_date":"2019-10-14T00:00:00-04:00","tz":"America\/New_York"},"extras":[],"hg_media":{"627577":{"id":"627577","type":"image","title":"OMPSan","body":null,"created":"1571081020","gmt_created":"2019-10-14 19:23:40","changed":"1571081020","gmt_changed":"2019-10-14 19:23:40","alt":"Vivek and students","file":{"fid":"238945","name":"_MG_3015.jpg","image_path":"\/sites\/default\/files\/images\/_MG_3015.jpg","image_full_path":"http:\/\/hg.gatech.edu\/\/sites\/default\/files\/images\/_MG_3015.jpg","mime":"image\/jpeg","size":701432,"path_740":"http:\/\/hg.gatech.edu\/sites\/default\/files\/styles\/740xx_scale\/public\/images\/_MG_3015.jpg?itok=5Yydkb4q"}}},"media_ids":["627577"],"groups":[{"id":"576491","name":"CRNCH"},{"id":"50875","name":"School of Computer Science"}],"categories":[],"keywords":[],"core_research_areas":[],"news_room_topics":[],"event_categories":[],"invited_audience":[],"affiliations":[],"classification":[],"areas_of_expertise":[],"news_and_recent_appearances":[],"phone":[],"contact":[{"value":"\u003Cp\u003ETess Malone, Communications Officer\u003C\/p\u003E\r\n\r\n\u003Cp\u003E\u003Ca href=\u0022mailto:tess.malone@cc.gatech.edu\u0022\u003Etess.malone@cc.gatech.edu\u003C\/a\u003E\u003C\/p\u003E\r\n","format":"limited_html"}],"email":["tess.malone@cc.gatech.edu"],"slides":[],"orientation":[],"userdata":""}}}