IP Library Granted Patent US 9,513,832
Granted Patent B2
US 9,513,832 · App. 14/667,760 · Granted Dec 6, 2016

Accessing global data from accelerator devices

Inventors: Carlo Bertolli (Dobbs Ferry, NY); John K. O'Brien (South Salem, NY); Olivier H. Sallenave (Baldwin Place, NY); Zehra N. Sura (Yorktown Heights, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F3/0631G06F3/0604G06F3/0673
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 9,513,832
App. No.
14/667,760
Granted
Dec 6, 2016
Kind
B2
Abstract

An aspect includes a table of contents (TOC) that was generated by a compiler being received at an accelerator device. The TOC includes an address of global data in a host memory space. The global data is copied from the address in the host memory space to an address in the device memory space. The address in the host memory space is obtained from the received TOC. The received TOC is updated to indicate that global data is stored at the address in the device memory space. A kernel that accesses the global data from the address in the device memory space is executed. The address in the device memory space is obtained based on contents of the updated TOC. When the executing is completed, the global data from the address in the device memory space is copied to the address in the host memory space.

Claims (24)

1. A system comprising:

a memory having computer readable instructions; and

one or more processors for executing the computer readable instructions, the computer readable instructions comprising:

receiving, at an accelerator device, a table of contents (TOC) generated by a compiler, the TOC including an address of global data in a host memory space;

copying the global data from the address in the host memory space to an address in the device memory space, the address in the host memory space obtained from the received TOC;

updating the received TOC to indicate that the global data is stored at the address in the device memory space;

executing a kernel that accesses the global data from the address in the device memory space, the address in the device memory space obtained from the updated TOC; and

based on the executing of the kernel completing, copying the global data from the address in the device memory space to the address in the host memory space.

2. The system of claim 1 , wherein the computer readable instructions further comprise restoring the TOC to the received TOC.

3. The system of claim 2 , wherein the computer readable instructions further comprise deallocating a memory location associated with the address in the device memory space, the deallocating responsive to the restoring.

4. The system of claim 1 , wherein the compiler generates one TOC per accelerator device.

5. The system of claim 1 , wherein the receiving is performed during link-time.

6. The system of claim 1 , wherein the copying the global data from the address in the host memory space to an address in the device memory space, updating, and copying the global data from the address in the device memory space to the address in the host memory space are performed during run-time.

7. The system of claim 1 , wherein the accelerator device is an active memory cube (AMC).

8. The system of claim 1 , wherein the receiving is during run-time, the compiler generates one TOC per kernel, the TOC further includes local data, and the method further comprises deleting the TOC based on the executing of the kernel completing.

9. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform a method comprising:

receiving, at an accelerator device, a table of contents (TOC) generated by a compiler, the TOC including an address of global data in a host memory space;

copying the global data from the address in the host memory space to an address in the device memory space, the address in the host memory space obtained from the received TOC;

updating the received TOC to indicate that the global data is stored at the address in the device memory space;

executing a kernel that accesses the global data from the address in the device memory space, the address in the device memory space obtained based on contents of the updated TOC; and

based on the executing of the kernel completing, copying the global data from the address in the device memory space to the address in the host memory space.

10. The computer program product of claim 9 , wherein the method further comprises restoring the TOC to the received TOC.

11. The computer program product of claim 10 , wherein the method further comprises deallocating a memory location associated with the address in the device memory space, the deallocating responsive to the restoring.

12. The computer program product of claim 9 , wherein the receiving is performed during link-time, and the copying the global data from the address in the host memory space to an address in the device memory space, updating, and copying the global data from the address in the device memory space to the address in the host memory space are performed during run-time.

Assignments (2)
CONFIRMATORY LICENSE Recorded Dec 10, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: U.S. DEPARTMENT OF ENERGY
Reel/Frame 037259/0102 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2015
From: BERTOLLI, CARLO; O'BRIEN, JOHN K.; SALLENAVE, OLIVIER H.; SURA, ZEHRA N.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 035249/0057 →
Continuity (1)
Related Publication 20160283158A1 · Sep 29, 2016