CUDA

The AES on CUDA application enables massively multithreaded many-core chip with concurrent threads providing huge economies of scale with faster encryption and decryption. CUDA scalable parallel programming model allows programs to run on multiple processors without recompiling.

 
Advantages
  • Maximize the use of high-bandwidth memory
  • Optimizes performance by overlapping memory access with HW computation
AES Library API
  • API for memory allocation on device (GPU)
  • Free up memory allocated on device
  • Memory copy (Host to Host, Host to device, Device to host, Device to Device)
  • Synchronizes the host with device
  • Error Query Function
  • Returns number of bits in cipher key in particular mode.
  • Initialization and allocation of memory for AES
  • Encryption kernel call
  • Decryption kernel call