Towards Programmable Address Spaces
Autor: | Paul Keir, Andrew Gozillon |
---|---|
Rok vydání: | 2017 |
Předmět: |
020203 distributed computing
Multi-core processor business.industry Programming language Computer science Address space 0211 other engineering and technologies 021107 urban & regional planning 02 engineering and technology Parallel computing computer.software_genre Metaprogramming Allocator Software 0202 electrical engineering electronic engineering information engineering Template metaprogramming Compiler Cache business computer |
Zdroj: | FedCSIS |
ISSN: | 2300-5963 |
DOI: | 10.15439/2017f217 |
Popis: | High-performance computing increasingly makes use of heterogeneous many-core parallelism. Individual processor cores within such systems are radically simpler than their predecessors; and tasks previously the responsibility of hardware, are delegated to software. Rather than use a cache, fast on-chip memory, is exposed through a handful of address space annotations; associating pointers with discrete sections of memory, within trivially distinct programming languages. Our work aims to improve the programmability of address spaces by exposing new functionality within the LLVM compiler, and then the existing template metaprogramming system of C++. This is achieved firstly via a new LLVM attribute, ext_address_space which facilitates integration with the non-type template parameters of C++. We also present a type traits API which encapsulates the address space annotations, to allow execution on bath conventional and extended C++ compilers; and illustrate its applicability to OpenCL 2.x. |
Databáze: | OpenAIRE |
Externí odkaz: |