{"title":"Support for Dependency Driven Executions among OpenMP Tasks","authors":"Priyankar Ghosh, Yonghong Yan, B. Chapman","doi":"10.1109/DFM.2012.16","DOIUrl":null,"url":null,"abstract":"OpenMP 3.x introduced the concept of creation of tasks with the aim of handling unstructured parallelism by providing support for efficient load-balancing and dynamic scheduling of asynchronous units of work, namely tasks. This work is focused towards extending task parallelism further to exploit task dependence relationships. The goal is to extend the OpenMP tasking model to provide more flexible synchronizations based on the data access relationship among such tasks. Our approach implements extensions to the current OpenMP task directive, which aim at providing task-level granularity for synchronization of tasks sharing the same parent. The new extensions focus primarily on adding additional functionality to the OpenUH compiler runtime referenced at the time of scheduling of tasks to honor only specified explicit dependencies. The extensions provide simplicity of use and help in achieving more parallelism owing to a more flexible approach in synchronizing tasks wherein a task waits only as long as its specified explicit dependencies are honored. The extensions when tested on a basic linear algebraic algorithm - LU Decomposition, presented a 9% and 20% speedup compared to the tasking implementations of Intel and GNU compilers respectively.","PeriodicalId":130397,"journal":{"name":"2012 Data-Flow Execution Models for Extreme Scale Computing","volume":"59 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-09-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2012 Data-Flow Execution Models for Extreme Scale Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/DFM.2012.16","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6
Abstract
OpenMP 3.x introduced the concept of creation of tasks with the aim of handling unstructured parallelism by providing support for efficient load-balancing and dynamic scheduling of asynchronous units of work, namely tasks. This work is focused towards extending task parallelism further to exploit task dependence relationships. The goal is to extend the OpenMP tasking model to provide more flexible synchronizations based on the data access relationship among such tasks. Our approach implements extensions to the current OpenMP task directive, which aim at providing task-level granularity for synchronization of tasks sharing the same parent. The new extensions focus primarily on adding additional functionality to the OpenUH compiler runtime referenced at the time of scheduling of tasks to honor only specified explicit dependencies. The extensions provide simplicity of use and help in achieving more parallelism owing to a more flexible approach in synchronizing tasks wherein a task waits only as long as its specified explicit dependencies are honored. The extensions when tested on a basic linear algebraic algorithm - LU Decomposition, presented a 9% and 20% speedup compared to the tasking implementations of Intel and GNU compilers respectively.