Scale computing in deterministic cloud environments
US-2024370302-A1 · Nov 7, 2024 · US
US9971576B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9971576-B2 |
| Application number | US-201314085649-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 20, 2013 |
| Priority date | Nov 20, 2013 |
| Publication date | May 15, 2018 |
| Grant date | May 15, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 1. A software development environment system, comprising: a memory; and a processor coupled to said memory, said processor configured to provide: a parser to partition an integrated source code into a host code partition executable on a host processor and a device code partition executable on a processor of a device, said host code partition including a reference to a device variable, wherein said reference is a call for direct access to said device variable and said device variable is a variable located in a memory of said device; a translator to: embed device machine code, compiled based on said device code partition, into a modified host code, define a pointer in said modified host code, insert a call in said modified host code to register said pointer with a runtime environment, thereby causing said pointer to be initialized, upon execution of said integrated source code, to a memory address allocated to said device variable, and replace said reference with a dereference to said pointer, and insert a call to initialize a runtime environment before said dereference, wherein said call to initialize a runtime environment and said dereference are combined in a comma expression; and a host compiler to employ a host library to compile said modified host code. 2. The software development environment system as recited in claim 1 , wherein said translator is operable to identify said reference based on a keyword. 3. The software development environment system as recited in claim 1 , wherein said runtime environment is a CUDA runtime environment. 4. A method of compiling integrated source code having host code and device code for a device, comprising: defining a pointer to a device variable in said host code, said device variable having a reference therein, wherein said reference is a call for direct access to said device variable and said device variable is a variable located in a memory of said device; translating said reference to a dereference to said pointer; mapping said pointer to said device variable, wherein said mapping includes inserting a call to register said pointer with a runtime environment, thereby causing said pointer to initialize to a memory address for said device variable at execution of said device code; injecting an initialization call for a runtime environment before said dereference, wherein said initialization call is combined with said dereference in a comma expression; and compiling said host code. 5. The method as recited in claim 4 wherein said initialization call includes a call to initiate a CUDA runtime environment. 6. The method as recited in claim 4 wherein said translating includes identifying said reference by a device keyword. 7. The method as recited in claim 4 further comprising compiling said device code and embedding resulting machine code in said host code. 8. A system, comprising: a memory communicably coupled to a data bus and configured to store: an integrated source file partitionable into a host code portion and a device code portion, said host code portion including a reference to a device variable, wherein said reference is a call for direct access to said device variable and said device variable is a variable located in a memory of a device, a device library according to which said device code portion is compilable to device machine code, and a host library according to which said host code portion is compilable to a host executable, and a processor communicably coupled to said data bus, configured to gain access to said memory via said data bus, and operable to execute a software development environment (SDE) having a translator configured to: embed said device machine code into a modified host code, define a pointer in said modified host code, insert a call in said modified host code to register said pointer with a runtime environment, thereby causing said pointer to be initialized, upon execution of said host executable, to a memory address allocated to said device variable, and replace said reference with a dereference to said pointer, and insert a call to initialize a runtime environment before said dereference, wherein said call to initialize a runtime environment and said dereference are combined in a comma expression. 9. The system as recited in claim 8 wherein said integrated source file is a CUDA C++ source file. 10. The system as recited in claim 8 wherein said SDE is a source integrated heterogeneous programming environment. 11. The system as recited in claim 8 wherein said SDE further comprises a host compiler configured to employ said host library to compile said modified host code. 12. The system as recited in claim 8 wherein said SDE further comprises a parser operable to partition said integrated source file into said host code portion and said device code portion. 13. The system as recited in claim 12 wherein said parser is configured to identify said reference to said device variable.
Related publications grouped by family.
Answers are generated from the same data shown on this page.