DOE Patents title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: 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


Method and Apparatus for Compiling and Executing an Application Using Virtualization in a Heterogeneous System
patent-application, March 2012


Creating SIMD Efficient Code by Transferring Register State Through Common Memory
patent-application, May 2014


Read-Copy Update Implementation For Non-Cache-Coherent Systems
patent-application, December 2012


Method and system for translating programming languages
patent-application, January 2005


Link-time and run-time error detection, and program instrumentation
patent, November 2000


Data Prefetching and Coalescing for Partitioned Global Address Space Languages
patent-application, June 2013


Automatic CPU-GPU communication management and optimization
journal, June 2011


Shared virtual memory
patent, September 2013


System and Method for Globally Addressable GPU Memory
patent-application, October 2014