*********************************
There is now a CONTENT FREEZE for Mercury while we switch to a new platform. It began on Friday, March 10 at 6pm and will end on Wednesday, March 15 at noon. No new content can be created during this time, but all material in the system as of the beginning of the freeze will be migrated to the new platform, including users and groups. Functionally the new site is identical to the old one. webteam@gatech.edu
*********************************
Atlanta, GA | Posted: October 14, 2019
Georgia 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.
OpenMP 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.
The 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.
OpenMP Challenges for Heterogeneous Computing
This research is an important contribution to the burgeoning challenges of programming heterogeneous accelerators, according to School of Computer Science (SCS) Professor Vivek Sarkar, Stephen Fleming Chair for Telecommunications, and Co-Director for the Center for Research into Novel Computing Hierarchies (CRNCH).
“Heterogeneous computing is increasing in importance as we approach the end of Moore’s law, and there is a growing need for productive and portable approaches to programming computers with accelerators,” he said. “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’s new data mapping constructs.”
A 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.
OMPSan Improvements
OMPSan is implemented in the LLVM tool chain and is comprised of several advancements that could have implications beyond the current version of the tool:
Although OMPSan provides great strides in this area, Sarkar’s lab hopes to create a follow-on dynamic tool that can find more bugs and even fix them on the fly.
The research won a best paper award at the 2019 International Workshop on OpenMP (IWOMP). SCS Ph.D. student Prithayan Barua, Research Scientist Jun Shirako, and Sarkar authored the paper, OMPSan: Static Verification of OpenMP’s Data Mapping Constructs, along with IBM developers Whitney Tsang, Jeeva Paudel, and Wang Chen.
“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,” Sarkar said.