作者: Barbara Chapman , Abid M. Malik , Alok Mishra
DOI: 10.1109/LLVMHPCHIPAR51896.2020.00009
关键词: Computer science 、 Context (language use) 、 Dynamic Extension 、 Software engineering 、 Compiler 、 Benchmark (computing) 、 Overhead (computing) 、 Supercomputer 、 Software portability 、 Adaptation (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