IP Library Granted Patent US 11,714,614
Granted Patent B2
US 11,714,614 · App. 17/321,137 · Granted Aug 1, 2023

Code generation tool for cloud-native high-performance computing

Inventor: Philipp Andre Witte (Belleuve, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F8/40G06F8/30G06F9/48
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 11,714,614
App. No.
17/321,137
Granted
Aug 1, 2023
Kind
B2
Abstract

Methods, storage media, and systems for translating a software expression from a user application programming interface (API) call to an API call of a software development kit (SDK) are disclosed. Some examples may include: receiving a tagged expression indicating that a translation of the software expression from a user API call to an API call of an SDK is to be performed, the SDK being associated with a cloud-native high-performance computing environment, processing an abstract syntax tree associated with the software expression, the processing including replacing symbols in the abstract syntax tree with respective variables, replacing a return statement in the abstract syntax tree with a serialization instruction to write a result to local storage, and serializing the processed abstract syntax tree and providing the serialized abstract syntax tree and one or more resource files to the cloud-native high-performance computing environment for execution.

Claims (60)

1. A method for translating a software expression from a user application programming interface (API) call to an API call of a software development kit (SDK), the method comprising:

receiving a tagged expression indicating that a translation of the software expression from a user API call to an API call of an SDK is to be performed, the SDK being associated with a cloud-native high-performance computing environment;

processing an abstract syntax tree associated with the software expression, the processing including replacing symbols in the abstract syntax tree with respective variables, replacing a return statement in the abstract syntax tree with a serialization instruction to write a result to local storage, and serializing the processed abstract syntax tree; and

providing the serialized abstract syntax tree and one or more resource files to the cloud-native high-performance computing environment for execution.

2. The method according to claim 1 , further comprising:

creating batch job to execute at least a portion of the serialized abstract syntax tree in the cloud-native high-performance computing environment;

creating a storage container associated with the batch job; and

creating a specialized resource container associated with the one or more resource files.

3. The method according to claim 2 , wherein the batch job is a multitask batch job.

4. The method according to claim 1 , further comprising:

serializing output associated with the return statement to a filename; and

adding the filename as an output resource in the one or more resource files.

5. The method according to claim 1 , further comprising:

expanding the software expression by collecting and analyzing symbols in the abstract syntax tree;

splitting the software expression into a plurality of individual tasks such that a single expression is created for each task; and

performing the plurality of individual tasks in parallel.

6. The method according to claim 5 , further comprising:

analyzing a plurality of software expressions; and

automatically tagging at least one of the plurality of software expressions resulting in the tagged expression.

7. The method of according to claim 1 , further comprising providing the serialized abstract syntax tree to the cloud-native high-performance computing environment a resource file.

8. One or more computer storage media including instructions, which when executed by a processor, cause the processor to:

receive a tagged expression indicating that a translation of a software expression from a user API call to an API call of an SDK is to be performed, the SDK being associated with a cloud-native high-performance computing environment;

process an abstract syntax tree associated with the software expression by replacing symbols in the abstract syntax tree with respective variables, replacing a return statement in the abstract syntax tree with a serialization instruction to write a result to local storage, and serializing the processed abstract syntax tree; and

provide the serialized abstract syntax tree and one or more resource files to the cloud-native high-performance computing environment for execution.

9. The one or more computer storage media of claim 8 , wherein the instructions, which when executed by a processor, cause the processor to:

create batch job to execute at least a portion of the serialized abstract syntax tree in the cloud-native high-performance computing environment;

create a storage container associated with the batch job; and

create a specialized resource container associated with the one or more resource files.

10. The one or more computer storage media of claim 9 , wherein the batch job is a multitask batch job.

11. The one or more computer storage media of claim 8 , wherein the instructions, which when executed by a processor, cause the processor to:

serialize output associated with the return statement to a filename; and

add the filename as an output resource in the one or more resource files.

12. The one or more computer storage media of claim 8 , wherein the instructions, which when executed by a processor, cause the processor to:

expand the software expression by collecting and analyzing symbols in the abstract syntax tree;

split the software expression into a plurality of individual tasks such that a single expression is created for each task; and

perform the plurality of individual tasks in parallel.

13. The one or more computer storage media of claim 12 , wherein the instructions, which when executed by a processor, cause the processor to:

analyzing a plurality of software expressions; and

automatically tag at least one of the plurality of software expressions resulting in the tagged expression.

14. The one or more computer storage media of claim 8 , wherein the instructions, which when executed by a processor, cause the processor to provide the serialized abstract syntax tree to the cloud-native high-performance computing environment a resource file.

15. A system, comprising:

one or more hardware processors configured by machine-readable instructions to:

receive a tagged expression indicating that a translation of a software expression from a user API call to an API call of an SDK is to be performed, the SDK being associated with a cloud-native high-performance computing environment;

process an abstract syntax tree associated with the software expression, the processing including replacing symbols in the abstract syntax tree with respective variables, replacing a return statement in the abstract syntax tree with a serialization instruction to write a result to local storage, and serializing the processed abstract syntax tree; and

provide the serialized abstract syntax tree and one or more resource files to the cloud-native high-performance computing environment for execution.

16. The system according to claim 15 , wherein the one or more hardware processors are further configured by machine-readable instructions to:

create batch job to execute at least a portion of the serialized abstract syntax tree in the cloud-native high-performance computing environment;

create a storage container associated with the batch job; and

create a specialized resource container associated with the one or more resource files.

17. The system according to claim 16 , wherein the batch job is a multitask batch job.

18. The system according to claim 15 , wherein the one or more hardware processors are further configured by machine-readable instructions to:

serialize output associated with the return statement to a filename; and

add the filename as an output resource in the one or more resource files.

19. The system according to claim 15 , wherein the one or more hardware processors are further configured by machine-readable instructions to:

expand the software expression by collecting and analyzing symbols in the abstract syntax tree;

split the software expression into a plurality of individual tasks such that a single expression is created for each task; and

perform the plurality of individual tasks in parallel.

20. The system according to claim 19 , wherein the one or more hardware processors are further configured by machine-readable instructions to:

analyze a plurality of software expressions; and

automatically tag at least one of the plurality of software expressions resulting in the tagged expression.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2021
From: WITTE, PHILIPP ANDRE
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 056250/0917 →
Continuity (2)
Provisional Application 63150146 · Feb 17, 2021
Related Publication 20220261227A1 · Aug 18, 2022
Cited By (2)
US 12,411,668 US 12,505,056