Unified Multi-Node Launcher API for HPC and Deep Learning Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current multi-node launchers in the high-performance computing domain are not aware of deep learning framework setup requirements and are not integrated with deep learning workloads, making them ineffective when used inside containers and requiring platform-specific setups, which hinders unified launch and termination mechanisms for both HPC and DL applications.

Innovation Solution

A unified multi-node launcher utility that provides a single application programming interface (API) to launch, monitor, and terminate applications like MPI, PyTorch, and Tensorflow, functioning within containers without requiring changes to existing applications and abstracting framework-specific environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a unified multi-node launcher API is implemented to launch and terminate distributed applications, then ease of operation is improved, but device complexity increases due to the need to integrate multiple framework-specific environments

Engineering Contradiction:
Improveease of operationVSAvoiddevice complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces a unified multi-node launcher API as an intermediary layer between the user and multiple deep learning framework environments (MPI, PyTorch, Tensorflow). This mediator abstracts the complexity of framework-specific setup requirements and launch parameters, providing a single interface that automatically routes to the appropriate framework backend without requiring users to understand or configure each framework individually.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The unified launcher API is designed to perform multiple functions across different deep learning frameworks through a single interface. It can launch and terminate distributed applications in MPI, PyTorch, and Tensorflow environments, as well as handle containerized workloads, thereby eliminating the need for separate launchers for each framework and reducing operational complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If framework-specific launchers are used for each deep learning environment, then reliability is improved by meeting specific framework requirements, but adaptability deteriorates as each launcher only works with its designated framework

Engineering Contradiction:
ImprovereliabilityVSAvoidadaptability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The unified launcher API achieves universality by implementing a single interface that can launch and manage distributed applications across multiple deep learning frameworks including MPI, PyTorch, and Tensorflow. It maintains adaptability to each framework's specific requirements while providing a consistent user experience through framework-agnostic launch parameters and environment configuration.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent segments the launcher functionality into modular framework-specific backends (MPI launcher, PyTorch launcher, Tensorflow launcher) that are orchestrated by a unified control layer. This segmentation allows each backend to maintain framework-specific reliability while the unified API provides cross-framework adaptability, enabling the system to select and invoke the appropriate backend based on the target framework.

Inventive Principle:
Principle #1Segmentation

3Reliability

If existing application code is modified to work with container environments, then reliability is improved by ensuring proper framework integration, but ease of manufacture deteriorates as changes are required to existing applications

Engineering Contradiction:
ImprovereliabilityVSAvoidease of manufacture
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The unified launcher API implements self-service by automatically detecting the target framework environment and configuring the appropriate launch parameters, environment variables, and container settings without requiring modifications to existing application code. The launcher handles framework-specific requirements internally, allowing applications to remain unchanged while achieving reliable containerized execution across different deep learning frameworks.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20240069996A1Application programming interface to launch software workloads
Publication Date: 2024.02.29 NVIDIA CORP
  • US20240069996A1 patent drawing
  • US20240069996A1 patent drawing
  • US20240069996A1 patent drawing

AI summary

Apparatuses, systems, and techniques to perform software workloads. In at least one embodiment, one or more circuits of a processor cause a first application programming interface to select a second application programming interface, wherein the second application programming interface performs one or more software workloads identified by the first application programming interface.