Software development environment and method of compiling integrated source code
Abstract
A software development environment (SDE) and a method of compiling integrated source code. One embodiment of the SDE includes: (1) a parser configured to partition an integrated source code into a host code partition and a device code partition, the host code partition including a reference to a device variable, (2) a translator configured to: (2a) embed device machine code, compiled based on the device code partition, into a modified host code, (2b) define a pointer in the modified host code configured to be initialized, upon execution of the integrated source code, to a memory address allocated to the device variable, and (2c) replace the reference with a dereference to the pointer, and (3) a host compiler configured to employ a host library to compile the modified host code.
- Inventors:
- Issue Date:
- Research Org.:
- Nvidia Corp., Santa Clara, CA (United States)
- Sponsoring Org.:
- USDOE
- OSTI Identifier:
- 1532086
- Patent Number(s):
- 9971576
- Application Number:
- 14/085,649
- Assignee:
- Nvidia Corporation (Santa Clara, CA)
- Patent Classifications (CPCs):
-
G - PHYSICS G06 - COMPUTING G06F - ELECTRIC DIGITAL DATA PROCESSING
- DOE Contract Number:
- B599861
- Resource Type:
- Patent
- Resource Relation:
- Patent File Date: 2013-11-20
- Country of Publication:
- United States
- Language:
- English
- Subject:
- 97 MATHEMATICS AND COMPUTING
Citation Formats
Jones, Stephen, Hairgrove, Mark, Marathe, Jaydeep, Kini, Vivek, and Aarts, Bastiaan. Software development environment and method of compiling integrated source code. United States: N. p., 2018.
Web.
Jones, Stephen, Hairgrove, Mark, Marathe, Jaydeep, Kini, Vivek, & Aarts, Bastiaan. Software development environment and method of compiling integrated source code. United States.
Jones, Stephen, Hairgrove, Mark, Marathe, Jaydeep, Kini, Vivek, and Aarts, Bastiaan. Tue .
"Software development environment and method of compiling integrated source code". United States. https://www.osti.gov/servlets/purl/1532086.
@article{osti_1532086,
title = {Software development environment and method of compiling integrated source code},
author = {Jones, Stephen and Hairgrove, Mark and Marathe, Jaydeep and Kini, Vivek and Aarts, Bastiaan},
abstractNote = {A software development environment (SDE) and a method of compiling integrated source code. One embodiment of the SDE includes: (1) a parser configured to partition an integrated source code into a host code partition and a device code partition, the host code partition including a reference to a device variable, (2) a translator configured to: (2a) embed device machine code, compiled based on the device code partition, into a modified host code, (2b) define a pointer in the modified host code configured to be initialized, upon execution of the integrated source code, to a memory address allocated to the device variable, and (2c) replace the reference with a dereference to the pointer, and (3) a host compiler configured to employ a host library to compile the modified host code.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {Tue May 15 00:00:00 EDT 2018},
month = {Tue May 15 00:00:00 EDT 2018}
}
Works referenced in this record:
C/C++ Language Extensions for General-Purpose Graphics Processing Unit
patent-application, May 2008
- Buck, Ian; Aarts, Bastiaan
- US Patent Application 11/556057; 20080109795
Method and Apparatus for Compiling and Executing an Application Using Virtualization in a Heterogeneous System
patent-application, March 2012
- Kim, Kyoung Hoon; Yeo, In Choon; Lee, Seung Wook
- US Patent Application 13/245255; 20120075316
Creating SIMD Efficient Code by Transferring Register State Through Common Memory
patent-application, May 2014
- Rogers, Timothy G.; Beckmann, Bradford M.; O'Connor, James M.
- US Patent Application 13/689421; 20140149710
Read-Copy Update Implementation For Non-Cache-Coherent Systems
patent-application, December 2012
- McKenney, Paul E.
- US Patent Application 13/164423; 20120324170
Method and system for translating programming languages
patent-application, January 2005
- Zatloukal, Kevin
- US Patent Application 10/891693; 20050015759
Link-time and run-time error detection, and program instrumentation
patent, November 2000
- Chase, David R.; Kendall, Samuel C.; Mitchell, Matthew
- US Patent Document 6,149,318
Data Prefetching and Coalescing for Partitioned Global Address Space Languages
patent-application, June 2013
- Alvanos, Michail; Tiotto, Ettore
- US Patent Application 13/659048; 20130167130
Automatic CPU-GPU communication management and optimization
journal, June 2011
- Jablin, Thomas B.; Prabhu, Prakash; Jablin, James A.
- ACM SIGPLAN Notices, Vol. 46, Issue 6
Shared virtual memory
patent, September 2013
- Chen, Hu; Gao, Ying; Xiaocheng, Zhou
- US Patent Document 8,531,471
System and Method for Globally Addressable GPU Memory
patent-application, October 2014
- Giroux, Olivier
- US Patent Application 13/864182; 20140310484