Cryptographic computations on general purpose graphics processing units
AssigneeNVIDIA Corporation
InventorRadoslav Danilak
Life of this patent
Estimating the term…
Abstract
One embodiment of the invention sets forth a computing system for performing cryptographic computations. The computing system comprises a central processing unit, a graphics processing unit, and a driver. The central processing requests a cryptographic computation. In response, the driver downloads microcode to perform the cryptographic computation to the graphics processing unit and the graphics processing unit executes microcode. This offloads cryptographic computations from the CPU. As a result, cryptographic computations are performed faster and more efficiently on the GPU, freeing resources on the CPU for other tasks.
Claims18
A computing system for performing a cryptographic computation, the computing system comprising:
- a system memory configured to store microcode corresponding to the cryptographic computation;
- a central processing unit (CPU) coupled to the system memory;
- and
- a graphics processing unit (GPU) including one or more streaming multiprocessors and configured to:
- receive commands associated with the cryptographic computation from the CPU, wherein the commands are included in a compute class that includes instructions that provide support for integer arithmetic,
- receive the microcode corresponding to the cryptographic computation from the system memory via the CPU, wherein the microcode is configured to implement the commands included in the compute class, and
- perform the cryptographic computation by executing the microcode, wherein the one or more streaming multiprocessors execute the microcode.
A method for performing a cryptographic computation, the method comprising:
- receiving commands associated with the cryptographic computation from a central processing unit (CPU), wherein the commands are included in a compute class that includes instructions that provide support for integer arithmetic;
- receiving microcode associated with the cryptographic computation from a system memory via the CPU, wherein the microcode is configured to implement the commands included in the compute class;
- and
- performing the cryptographic computation by executing the microcode on one or more streaming multiprocessors that are not included in the CPU.
Dependencies are inferred from the claim text.