Skip to Main Content
GPUs are at the fore-front of a radical transformation that is taking place in software design. The ability to process multiple data streams simultaneously is delivering substantial benefits to a large collection of domains. Depending on the application, these benefits can be expanded by utilizing the not-insignificant power of traditional CPUs. Multi-core CPUs with a hierarchy of large and fast caches, can provide significant performance especially if data transfers dominate execution time, or branching does not allow for the uninterrupted execution on all GPU cores. In this paper we present an analytical framework that can be used to optimally consolidate CPU and GPU resources for the encryption/decryption of block ciphers such as AES. A rigorous set of experiments concludes the paper, showcasing the benefits and overall characteristics of the proposed framework. Our tests also bring to the surface important aspects of GPU operation that have to be taken into consideration upon the design of any successful scheduling scheme involving GPUs as a system component.