The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Mar. 29, 2022

Filed:

Dec. 03, 2019
Applicant:

Oracle International Corporation, Redwood Shores, CA (US);

Inventors:

Alberto Parravicini, Lesmo, IT;

Davide Bartolini, Obersiggenthal, CH;

Lukas Stadler, Linz, AT;

Arnaud Delamare, Zurich, CH;

Assignee:

Oracle International Corporation, Redwood Shores, CA (US);

Attorney:
Primary Examiner:
Int. Cl.
CPC ...
G06F 9/54 (2006.01); G06F 9/455 (2018.01); G06F 9/30 (2018.01); G06F 8/41 (2018.01); G06F 15/80 (2006.01); G06F 9/38 (2018.01);
U.S. Cl.
CPC ...
G06F 9/544 (2013.01); G06F 8/451 (2013.01); G06F 9/30058 (2013.01); G06F 9/3806 (2013.01); G06F 9/45558 (2013.01); G06F 15/8023 (2013.01); G06F 2009/45583 (2013.01); G06F 2009/45591 (2013.01);
Abstract

Techniques are provided for an automated method of adding out-of-bound access prevention in GPU kernels executed in a managed environment. In an embodiment, a system of computers compiles a GPU kernel code function that includes one or more array references that are memory address dependent. The system of computers compiles the kernel code function by generating a rewritten GPU kernel code module that includes, within the function signature of the rewritten GPU kernel code module, a respective array size parameter for each array reference of the one or more array references included in the GPU kernel code function. The system of computers further compiles the kernel code function by adding bounding protection instructions to the one or more potential out-of-bound access instructions in the rewritten GPU kernel code module. The potential out-of-bound access instructions comprise instructions that reference each respective array size parameter of the one or more array references. Afterwards, the rewritten GPU kernel code module is loaded in a virtual machine. Loading the rewritten GPU kernel code module in the virtual machine comprises modifying a host application to automatically transmit, from the host application, one or more input array size values. The one or more input array size values is referenced by the one or more potential out-of-bound-access instructions.


Find Patent Forward Citations

Loading…