Skip to content

Latest commit

 

History

History
66 lines (46 loc) · 2.55 KB

File metadata and controls

66 lines (46 loc) · 2.55 KB

PhysicsNeMo v2.0 Migration Guide

This document is meant to inform users of physicsnemo of high level changes to the repository, provide a little background on why they were necessary, and give you some guidance on updating your code.

This guide is a work in progress. Please come back later for more information.

Core Reorganization

The core packages of physicsnemo have been reorganized to prevent circular imports. For most uses, the key changes are:

  1. physicsnemo.models.Module and physicsnemo.models.Meta are now in physicsnemo.core.
  2. physicsnemo.launch is completely deprecated and removed. Logging functionality is now in physicsnemo.utils.logging, while checkpoint functionality is now in physicsnemo.utils.checkpoint
  3. Many layer-like components have been migrated to physicsnemo.nn, from both physicsnemo.models and from physicsnemo.utils
  4. Model-specific utility functions have been relocated to adjacent to their corresponding model. For example, physicsnemo.utils.domino now is located at physicsnemo.models.domino.utils.
  5. Domain Parallelism has been separated from distributed utilities to provide better isolation for users of just the distributed utilities. ShardTensor is now located in physicsnemo.domain_parallelism.

New Packages

Several new packages have been introduced for PhysicsNeMo v2.0. At a high level:

  1. physicsnemo.nn contains reusable, pytorch-like modules for building blocks of layers. physicsnemo.nn.functional contains a functional interface to these layers, where appropriate.
  2. physicsnemo.domain_parallel contains the ShardTensor object and utilities.
  3. [TBD] physicsnemo.diffusion
  4. [TBD] physicsnemo.mesh

Packaging, Installation, and Dependencies

The core dependencies of physicsnemo have been identified and consolidated. Optional dependencies are now aggressively protected throughout the code base. Circular imports inside the code base have been fixed, and external imports have additional requirements to be met before introducing them.

uv is now the preferred way to install and develop with physicsnemo. pip is still a viable installation method.

Model Standardization

[TBD]

PhysicsNeMo Datapipes

[TBD]

Updating your code

To update your code for physicsnemo v2.0, you will need to adjust several key import paths (like logging, see above) and potentially update datapipes and model checkpoints.

Reporting questions, concerns, or comments

Please contact the development team via github issues on the physicsnemo repository.