Extending the LLVM/Clang Framework for OpenMP Metadirective Support

作者: Barbara Chapman , Abid M. Malik , Alok Mishra

DOI: 10.1109/LLVMHPCHIPAR51896.2020.00009

关键词: Computer scienceContext (language use)Dynamic ExtensionSoftware engineeringCompilerBenchmark (computing)Overhead (computing)SupercomputerSoftware portabilityAdaptation (computer science)

摘要: OpenMP 5.0 introduces many new directives to meet the demand of emerging high performance computing systems. Among these directives, metadirective and declare variant are important control execution behavior a given application by compile-time adaptation based on context. The directive allows selection enclosing context as well user-defined conditions. declares specialized base function specifies in which that is used. Support for available few compilers with some limitations. not Clang. This paper presents our implementation In this paper, we present an supports specification. However, addition, work also implements dynamic extension user-specified A evaluation conditions provides programmers more freedom express range adaptive algorithms improve overall application. For example, program can estimate cost execution, respect time taken or energy consumption, kernel static variables decide whether offload GPU using metadirective. Since there significant lack knowledge about usage analysis metadirective, studies its impact characteristics. To achieve this, have modified several benchmark codes Rodinia suite. includes applications kernels target multi-core CPU platforms helps study platforms. Our modification benchmarks enables developer reveal main advantage it adds minimal no overhead user application, addition allowing flexibility introduce portability adaptability their code. suite guidelines better

参考文章(25)
Pawan Harish, P. J. Narayanan, Accelerating Large Graph Algorithms on the GPU Using CUDA High Performance Computing – HiPC 2007. pp. 197- 208 ,(2007) , 10.1007/978-3-540-77220-0_21
Shuai Che, Michael Boyer, Jiayuan Meng, David Tarjan, Jeremy W. Sheaffer, Sang-Ha Lee, Kevin Skadron, Rodinia: A benchmark suite for heterogeneous computing ieee international symposium on workload characterization. pp. 44- 54 ,(2009) , 10.1109/IISWC.2009.5306797
Shucai Xiao, Ashwin M. Aji, Wu-chun Feng, On the Robust Mapping of Dynamic Programming onto a Graphics Processing Unit international conference on parallel and distributed systems. pp. 26- 33 ,(2009) , 10.1109/ICPADS.2009.110
Edans Flavius de O. Sandes, Alba Cristina M.A. de Melo, Smith-Waterman Alignment of Huge Sequences with GPU in Linear Space international parallel and distributed processing symposium. pp. 1199- 1211 ,(2011) , 10.1109/IPDPS.2011.114
Matthew A. Goodrum, Michael J. Trotter, Alla Aksel, Scott T. Acton, Kevin Skadron, Parallelization of Particle Filter Algorithms Computer Architecture. pp. 139- 149 ,(2011) , 10.1007/978-3-642-24322-6_12
Vincent Garcia, Eric Debreuve, Michel Barlaud, Fast k nearest neighbor search using GPU computer vision and pattern recognition. pp. 1- 6 ,(2008) , 10.1109/CVPRW.2008.4563100
Wei Huang, S. Ghosh, S. Velusamy, K. Sankaranarayanan, K. Skadron, M.R. Stan, HotSpot: a compact thermal modeling methodology for early-stage VLSI design IEEE Transactions on Very Large Scale Integration Systems. ,vol. 14, pp. 501- 513 ,(2006) , 10.1109/TVLSI.2006.876103
Yongjian Yu, S.T. Acton, Speckle reducing anisotropic diffusion IEEE Transactions on Image Processing. ,vol. 11, pp. 1260- 1270 ,(2002) , 10.1109/TIP.2002.804276
Christian Bienia, Sanjeev Kumar, Jaswinder Pal Singh, Kai Li, The PARSEC benchmark suite Proceedings of the 17th international conference on Parallel architectures and compilation techniques - PACT '08. pp. 72- 81 ,(2008) , 10.1145/1454115.1454128
Chunhua Liao, Dan Quinlan, The ROSE Source-to-Source Compiler Infrastructure ,(2011)