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.
Patent No.:
Date of Patent:
May. 06, 2014
Filed:
Oct. 30, 2009
Shoumeng Yan, Beijing, CN;
Xiaocheng Zhou, Beijing, CN;
Ying Gao, Beijing, CN;
Mohan Rajagopalan, Mountain View, CA (US);
Rajiv Deodhar, Phoenix, AZ (US);
David Putzolu, Hillsboro, OR (US);
Clark Nelson, Hillsboro, OR (US);
Milind Girkar, Sunnyvale, CA (US);
Robert Geva, Cupertino, CA (US);
Tiger Chen, Beijing, CN;
Sai Luo, Beijing, CN;
Stephen Junkins, Bend, OR (US);
Bratin Saha, Santa Clara, CA (US);
Ravi Narayanaswamy, San Jose, CA (US);
Patrick Xi, Shanghai, CN;
Shoumeng Yan, Beijing, CN;
Xiaocheng Zhou, Beijing, CN;
Ying Gao, Beijing, CN;
Mohan Rajagopalan, Mountain View, CA (US);
Rajiv Deodhar, Phoenix, AZ (US);
David Putzolu, Hillsboro, OR (US);
Clark Nelson, Hillsboro, OR (US);
Milind Girkar, Sunnyvale, CA (US);
Robert Geva, Cupertino, CA (US);
Tiger Chen, Beijing, CN;
Sai Luo, Beijing, CN;
Stephen Junkins, Bend, OR (US);
Bratin Saha, Santa Clara, CA (US);
Ravi Narayanaswamy, San Jose, CA (US);
Patrick Xi, Shanghai, CN;
Intel Corporation, Santa Clara, CA (US);
Abstract
A computer system may comprise a computer platform and input-output devices. The computer platform may include a plurality of heterogeneous processors comprising a central processing unit (CPU) and a graphics processing unit) GPU, for example. The GPU may be coupled to a GPU compiler and a GPU linker/loader and the CPU may be coupled to a CPU compiler and a CPU linker/loader. The user may create a shared object in an object oriented language and the shared object may include virtual functions. The shared object may be fine grain partitioned between the heterogeneous processors. The GPU compiler may allocate the shared object to the CPU and may create a first and a second enabling path to allow the GPU to invoke virtual functions of the shared object. Thus, the shared object that may include virtual functions may be shared seamlessly between the CPU and the GPU.