NVIDIA PhysicsNeMo: Deep Learning Framework for Physics-ML Models
This repository profile is provided by osrepos.com, an open source repository discovery platform.

Summary
NVIDIA PhysicsNeMo is an open-source deep learning framework designed for building, training, and fine-tuning Physics AI models. It leverages state-of-the-art scientific machine learning methods, enabling real-time predictions by combining physics knowledge with data. This framework provides scalable, GPU-optimized tools for AI4Science and engineering applications.
Repository Information
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Introduction
NVIDIA PhysicsNeMo is an open-source deep learning framework from NVIDIA, specifically engineered for building, training, and fine-tuning deep learning models using state-of-the-art Physics-ML methods. This powerful framework enables researchers and engineers to develop AI models that combine physics knowledge with data, facilitating real-time predictions across various scientific and engineering domains. Built on PyTorch, PhysicsNeMo offers a scalable, GPU-optimized stack for exploring neural operators, Graph Neural Networks (GNNs), transformers, Physics-Informed Neural Networks (PINNs), and hybrid approaches. The project is currently undergoing an update to v2.0, promising easier installation and integration.
PhysicsNeMo provides modular Python components, including:
physicsnemo.models: A collection of optimized model architectures like Neural Operators, GNNs, and Diffusion models.physicsnemo.datapipes: Scalable data pipelines for scientific data structures.physicsnemo.distributed: Utilities for parallel training on NVIDIA GPUs.physicsnemo.sym: Symbolic PDE residual computation for physics-informed losses.
Installation
PhysicsNeMo offers flexible installation options to suit different environments, including pip, uv, NVIDIA container images, or building from source.
Via pip
To install the latest version from PyPI:
pip install nvidia-physicsnemo
For GPU-accelerated packages and a CUDA-matched PyTorch build, specify the CUDA backend (e.g., cu13 for CUDA 13 or cu12 for CUDA 12) along with optional feature extras:
# CUDA 13 backend with nn-extras
pip install "nvidia-physicsnemo[cu13,nn-extras]"
# CUDA 12 backend with nn-extras
pip install "nvidia-physicsnemo[cu12,nn-extras]"
Using NVIDIA Container
The PhysicsNeMo Docker image is available from the NVIDIA Container Registry. Pull the latest tag:
docker pull nvcr.io/nvidia/physicsnemo/physicsnemo:25.06
You can then run the container and clone the repository to access examples:
docker run --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 --runtime nvidia \
--rm -it nvcr.io/nvidia/physicsnemo/physicsnemo:25.06 bash
git clone https://github.com/NVIDIA/physicsnemo.git
cd physicsnemo/examples/cfd/darcy_fno/
pip install warp-lang # install NVIDIA Warp to run the Darcy example
python train_fno_darcy.py
Examples
Getting started with PhysicsNeMo is straightforward. Here's a "Hello World" example demonstrating a simple fully connected model:
import torch
from physicsnemo.models.mlp.fully_connected import FullyConnected
model = FullyConnected(in_features=32, out_features=64)
input = torch.randn(128, 32)
output = model(input)
print(output.shape)
# Expected output: torch.Size([128, 64])
For distributed training, PhysicsNeMo integrates seamlessly with torch.distributed:
import torch
from torch.nn.parallel import DistributedDataParallel
from physicsnemo.distributed import DistributedManager
from physicsnemo.models.mlp.fully_connected import FullyConnected
def main():
DistributedManager.initialize()
dist = DistributedManager()
arch = FullyConnected(in_features=32, out_features=64).to(dist.device)
if dist.distributed:
ddps = torch.cuda.Stream()
with torch.cuda.stream(ddps):
arch = DistributedDataParallel(
arch,
device_ids=[dist.local_rank],
output_device=dist.device,
broadcast_buffers=dist.broadcast_buffers,
find_unused_parameters=dist.find_unused_parameters,
)
torch.cuda.current_stream().wait_stream(ddps)
# Set up the optimizer
optimizer = torch.optim.Adam(
arch.parameters(),
lr=0.001,
)
def training_step(invar, target):
pred = arch(invar)
loss = torch.sum(torch.pow(pred - target, 2))
loss.backward()
optimizer.step()
return loss
# Sample training loop
for i in range(20):
# Random inputs and targets for simplicity
input = torch.randn(128, 32, device=dist.device)
target = torch.randn(128, 64, device=dist.device)
# Training step
loss = training_step(input, target)
if __name__ == "__main__":
main()
PhysicsNeMo also includes a symbolic PDE module for defining equations:
from physicsnemo.sym.eq.pdes.navier_stokes import NavierStokes
ns = NavierStokes(nu=0.01, rho=1, dim=2)
ns.pprint()
# Expected output:
# continuity: u__x + v__y
# momentum_x: u*u__x + v*u__y + p__x + u__t - 0.01*u__x__x - 0.01*u__y__y
# momentum_y: u*v__x + v*v__y + p__y + v__t - 0.01*v__x__x - 0.01*v__y__y
For a comprehensive collection of examples and reference samples, refer to the PhysicsNeMo examples directory.
Why Use PhysicsNeMo?
PhysicsNeMo is designed to accelerate scientific machine learning workflows with several key advantages:
- Scalable GPU-Optimized Training Library: Maximizes the power of NVIDIA GPUs with distributed computing utilities for efficient scaling from single to multi-node GPU clusters. It includes advanced optimization utilities, tailor-made datapipes, and symbolic PDE utilities for enhanced training speed.
- A Suite of Physics-Informed ML Models: Offers a rich library of state-of-the-art models optimized for Physics-ML applications, such as Neural Operators (FNOs, DeepONet), Graph Neural Networks (MeshGraphNet), Diffusion Models, and Physics-Informed Neural Networks (PINNs). These models significantly reduce development time for high-fidelity simulations.
- Seamless PyTorch Integration: Built on top of PyTorch, it provides a familiar and user-friendly experience, allowing users to leverage the extensive PyTorch ecosystem while benefiting from PhysicsNeMo's specialized capabilities.
- Easy Customization and Extension: Highly extensible with Pythonic APIs for defining new physics models, geometries, and constraints. Features like ONNX support, robust logging, and efficient checkpointing further enhance its adaptability.
- AI4Science Library: Serves as a complementary tool to PyTorch for SciML and AI4Science applications, providing a deep learning research platform with optimal performance on NVIDIA GPUs. It also includes domain-specific packages like PhysicsNeMo CFD, PhysicsNeMo Curator, and Earth-2 Studio.
- Key Benefits: PhysicsNeMo enables SciML benchmarking and validation, offers ease of using generalized SciML recipes with heterogeneous datasets, and provides out-of-the-box performance and scalability across multi-GPU and multi-node GPU setups.
Links
- GitHub Repository: https://github.com/NVIDIA/physicsnemo
- Official Documentation: https://docs.nvidia.com/deeplearning/physicsnemo/physicsnemo-core/index.html
- Getting Started Guide: https://docs.nvidia.com/deeplearning/physicsnemo/getting-started/index.html
- Reference Samples: https://github.com/NVIDIA/physicsnemo/blob/main/examples/README.md
- Developer Blog: https://nvidia.github.io/physicsnemo/blog/
- PhysicsNeMo Models on NGC: https://catalog.ngc.nvidia.com/models?filters=&orderBy=scoreDESC&query=PhysicsNeMo&page=&pageSize=
- PhysicsNeMo Forum: https://forums.developer.nvidia.com/t/welcome-to-the-physicsnemo-ml-model-framework-forum/178556
Related repositories
Similar repositories that may be relevant next.
Awesome-pytorch-list: A Comprehensive Collection of PyTorch Resources
July 20, 2026
The "Awesome-pytorch-list" is an extensive GitHub repository curating a wide range of PyTorch-related content. It serves as a valuable resource for developers and researchers, offering a structured overview of models, implementations, helper libraries, and tutorials. This list simplifies the discovery of essential tools and learning materials within the PyTorch ecosystem.

Axolotl: Streamlining LLM Fine-tuning with a Powerful Open-Source Framework
July 7, 2026
Axolotl is a comprehensive, free, and open-source framework designed to simplify the post-training and fine-tuning processes for large language models (LLMs). It offers extensive model support, diverse training methods, and robust performance optimizations, making it an invaluable tool for researchers and developers. With easy configuration and cloud-ready deployment, Axolotl empowers users to efficiently customize and enhance LLMs.

torchchat: Run PyTorch LLMs Locally on Servers, Desktop, and Mobile
July 3, 2026
torchchat is a PyTorch-native codebase designed to showcase the ability to run large language models (LLMs) seamlessly across various platforms. It enables local execution of LLMs using Python, within C/C++ applications on desktop or servers, and directly on iOS and Android devices. Although no longer under active development, it remains a valuable resource for understanding and implementing local LLM deployment strategies.
JARVIS: Connecting LLMs with the ML Community for AGI Exploration
May 16, 2026
JARVIS is an innovative system developed by Microsoft that aims to bridge Large Language Models (LLMs) with the broader Machine Learning community. It serves as a collaborative platform, using an LLM as a controller to orchestrate numerous expert models from Hugging Face Hub, thereby facilitating the exploration of Artificial General Intelligence (AGI) and solving complex AI tasks. This system streamlines the process of task planning, model selection, execution, and response generation.
Source repository
Open the original repository on GitHub.
18 counted GitHub visits