IP Library Granted Patent US 7,930,557
Granted Patent B2
US 7,930,557 · App. 11/434,823 · Granted Apr 19, 2011

Framework for embedding graphical processing unit programs in computer software

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,930,557
App. No.
11/434,823
Granted
Apr 19, 2011
Kind
B2
Abstract

A computer-implemented method, apparatus, and article of manufacture provide a framework for embedding a graphical processing unit (GPU) program in computer software. A GPU program, that can be loaded and executed by a GPU, is obtained and encrypted to create an encrypted GPU program. The encrypted GPU program is stored in a source code file for the computer software and then compiled.

Claims (29)

1. A computer-implemented method for embedding a graphical processing unit (GPU) program in computer software comprising:

obtaining, in a computer, a GPU program comprising a program that can be loaded and executed by a GPU;

encrypting, in the computer, the GPU program to create an encrypted GPU program; storing, in the computer, the encrypted GPU program in a source code file for the computer software wherein the GPU program is encrypted using an encryption key; and

a corresponding decryption key is stored in the source code file; and

compiling, in the computer, the source code file that includes the stored encrypted GPU program, wherein the stored encrypted GPU program appears as part of the compiled source code file.

2. The method of claim 1 wherein the GPU program is encrypted at compilation time.

3. The method of claim 1 wherein decryption code comprising necessary code for decrypting the encrypted GPU program, is stored in the source code file.

4. The method of claim 1 further comprising bypassing an initialization phase of the GPU program when an intrusion into the computer software, an operating system, or a display driver is detected.

5. A computer implemented system for embedding a graphical processing unit (GPU) program in computer software comprising:

(a) a computer;

(b) a graphics processing unit (GPU) installed on the computer;

(c) a GPU program comprising a program that can be loaded and executed by the GPU;

(d) a source code generator executing on the computer, wherein the source code generator is configured to:

(i) encrypt the GPU program to create an encrypted GPU program wherein the GPU program is encrypted using an encryption key; and a corresponding decryption key is stored in the source code file; and

(ii) store the encrypted GPU program in a source code file; and

(e) a compiler configured to compile the source code file that includes the stored encrypted GPU program, wherein the stored encrypted GPU program appears as part of the compiled source code file.

6. The system of claim 5 wherein the GPU program is encrypted at compilation time.

7. The system of claim 5 wherein:

the source code generator is further configured to provide decryption code comprising necessary code for decrypting the encrypted GPU program; and

the decryption code is stored in the source code file.

8. The system of claim 5 further comprising a GPU manager library that is executing on the computer, wherein the GPU manager library is configured to bypass an initialization phase of the GPU program when an intrusion into the computer software, an operating system, or a display driver is detected.

9. A program storage device, readable by a computer, tangibly embodying at least one program of instructions executable by the computer to perform method steps of embedding a graphical processing unit (GPU) program in computer software the method steps comprising the steps of:

obtaining a GPU program comprising a program that can be loaded and executed by a GPU in the computer;

encrypting the GPU program to create an encrypted GPU program;

storing the encrypted GPU program in a source code file for the computer software wherein the GPU program is encrypted using an encryption key; and a corresponding decryption key is stored in the source code file; and

compiling the source code file that includes the stored encrypted GPU program, wherein the stored encrypted GPU program appears as part of the compiled source code file.

10. The article of manufacture of claim 9 wherein the GPU program is encrypted at compilation time.

11. The article of manufacture of claim 9 wherein decryption code comprising necessary code for decrypting the encrypted GPU program, is stored in the source code file.

12. The article of manufacture of claim 9 , the method steps further comprising bypassing an initialization phase of the GPU program when an intrusion into the computer software, an operating system, or a display driver is detected.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2009
From: AUTODESK CANADA CO.
To: AUTODESK, INC.
Reel/Frame 022445/0222 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2006
From: NOVOSAD, JUSTIN PEACE
To: AUTODESK CANADA CO.
Reel/Frame 017884/0837 →