NVIDIA Omniverse
NVIDIA Omniverse is a scalable, multi-GPU real-time 3D graphics collaboration and simulation platform developed by NVIDIA.[1] It is a modular development platform of SDKs, APIs, and microservices for building 3D applications and services powered by Universal Scene Description (OpenUSD) and NVIDIA RTX rendering technologies.[2] The platform enables designers, artists, and engineers to work together in a shared virtual space to create and simulate complex 3D scenes and worlds in real time, with high fidelity and physical accuracy.[3]
Initially positioned as a foundational tool for building the metaverse, Omniverse has since pivoted to focus on high-value enterprise and industrial applications, such as creating digital twins of factories and data centers, generating synthetic data for AI training, and simulating robotics and autonomous systems.[4] The platform is available in both a free version for individual creators and a licensed Omniverse Enterprise version for commercial use, which includes dedicated support.[5]
History
Initial development and early access (2019-2020)
NVIDIA first unveiled Omniverse on March 18, 2019, at the GPU Technology Conference (GTC) 2019 in San Jose, California. CEO Jensen Huang introduced the platform as an "open collaboration platform" for real-time graphics and studio workflows, demonstrating live collaboration between Autodesk Maya, Adobe Substance 3D Painter, and Unreal Engine.[6]
Following the announcement, NVIDIA conducted an 18-month "lighthouse program" of closed testing with over 40 companies including Industrial Light & Magic, Ericsson, and Foster + Partners. On May 14, 2020, NVIDIA launched an early access program targeting the architecture, engineering, and construction (AEC) market, showcasing connections to Autodesk Revit, McNeel Rhino, and Trimble SketchUp.[7]
NVIDIA officially announced Omniverse's open beta phase on October 5, 2020, at its GPU Technology Conference.[3] The open beta became publicly available for download in December 2020, including the first Omniverse applications such as Omniverse View for visualization and Omniverse Create for scene composition. NVIDIA also announced that additional applications, such as Omniverse Audio2Face and Omniverse Machinima, would be released in early 2021.[8]
Enterprise launch and expansion (2021-2022)
NVIDIA announced Omniverse Enterprise on April 12, 2021, at GTC 2021. By this time, nearly 17,000 users had downloaded the open beta.[9] Early enterprise adopters included BMW Group, which became the first car manufacturer to create a digital twin of an entire factory, along with Foster + Partners, WPP, Ericsson, and Activision.
In August 2021, at the SIGGRAPH conference, NVIDIA announced a major expansion of Omniverse's capabilities and ecosystem, including new integrations with Blender and Adobe Substance 3D.[10] By that time, over 50,000 individual creators had downloaded the Omniverse open beta, and professionals at more than 500 companies were actively evaluating the platform.
On November 9, 2021, NVIDIA launched Omniverse Enterprise, a paid subscription version of the platform aimed at businesses and professional teams, with pricing starting at $9,000 per year for subscription packages.[11]
In January 2022, at CES, NVIDIA announced that Omniverse was moving out of beta and would be available for free to millions of individual creators with compatible GeForce RTX and NVIDIA RTX GPUs.[12] By early 2022, the Omniverse user base had grown to over 100,000 creators.
Strategic pivot to industrial digitalization (2022-2025)
While the underlying technology remained consistent, Omniverse's messaging shifted decisively away from the general-purpose "metaverse" towards concrete, high-value industrial applications. This shift focused on "physical AI," "industrial digitalization," and the concept of "AI factories."[4]
In mid-2022, NVIDIA and Siemens announced a partnership to connect Omniverse with Siemens Xcelerator for industrial automation, enabling live digital twins of industrial facilities.[13]
In August 2023, Pixar, Adobe, Apple, Autodesk, and NVIDIA jointly formed the Alliance for OpenUSD (AOUSD) to promote the standardization and development of USD technology for 3D ecosystems.[14]
The NVIDIA Omniverse Launcher was officially deprecated on October 1, 2025, transitioning the platform to direct distribution of components via the web and NVIDIA's NGC catalog.[15]
Core Architecture and Technologies
NVIDIA Omniverse is a multi-layered platform built on several core technologies that enable its collaborative and simulation capabilities. Its architecture is designed to be modular, allowing developers to use its components to build custom tools and workflows.
Universal Scene Description (OpenUSD) Foundation
The entire Omniverse platform is built from the ground up on Universal Scene Description (OpenUSD), an open and extensible framework for describing, composing, simulating, and collaborating within 3D worlds.[1] OpenUSD is more than a file format; it is a powerful scene description system with a rich set of data structures and APIs.[16]
OpenUSD organizes 3D data into a hierarchical namespace of primitives known as prims, which are the fundamental building blocks of a scene. The framework's key power lies in its system of non-destructive editing through layers. Different artists or processes can work on separate layers, which are then combined through a set of rules called Composition Arcs (such as sublayers, references, and variants). The final, resolved view of all these combined layers is called a stage.[16]
A crucial feature of OpenUSD is its extensibility via custom schemas. These allow developers to define new data types and properties, extending the framework to represent domain-specific information beyond standard geometry and materials. NVIDIA has been a major contributor to this ecosystem, developing schemas for physics (in collaboration with Pixar and Apple), geospatial coordinates, and international character support.[17]
Omniverse Nucleus: The Collaboration Engine
At the heart of Omniverse's collaborative capabilities is Omniverse Nucleus, which functions as the platform's database and real-time collaboration engine.[18] Nucleus manages the storage and exchange of USD assets and scenes, enabling the platform's signature live-sync feature, known as OmniLive.[19]
Nucleus operates on a publish-subscribe model. When a user makes a change to a USD scene in a connected application, that application "publishes" the modification to the Nucleus server. Nucleus then instantly transmits this change to all other "subscribed" applications and users who are viewing the same scene, ensuring that everyone sees the updates in real-time.[18]
Architecturally, Nucleus is composed of a set of services, including:
- Nucleus Core: The central service for storing and retrieving file data
- Discovery Service: Allows other services and clients to find and connect to Nucleus
- Authentication and User Management: Handles user access, permissions using Access Control Lists (ACLs), and supports SSO
- Version Control: Automatically versions files through a system of "checkpoints," preserving change history
- Nucleus Navigator: A web-based interface for browsing and managing assets stored in Nucleus
Rendering Technologies: The RTX Renderer
Omniverse leverages NVIDIA's expertise in real-time graphics with the NVIDIA Omniverse RTX Renderer, a scalable, physically-based renderer built specifically for NVIDIA RTX GPUs.[20] The renderer offers two primary, path-tracing-based modes:
- RTX - Real-Time 2.0: This mode uses physically-based path tracing but leverages AI-powered technologies like DLSS to upscale the output, enabling it to run at real-time frame rates
- RTX - Interactive (Path Tracing): This mode is designed for maximum visual accuracy, more closely simulating the real-world behavior of light, materials, and optics
The RTX Renderer supports multi-GPU configurations for near-linear performance scaling, streaming of large-scale geometry and textures to manage memory usage, and physically-based materials defined using Material Definition Language (MDL) or the USD Preview Surface standard.[20]
Simulation Engines
A core capability of Omniverse is its high-fidelity, physically accurate simulation, which is powered by a suite of integrated NVIDIA physics engines:[21]
- PhysX 5: The primary multi-physics engine within Omniverse, providing rigid and soft body dynamics, vehicle physics, cloth simulation, and character control
- NVIDIA Flow: A sparse voxel fluid simulation library optimized for real-time performance, used to create realistic fire, smoke, and combustible fluid effects
- NVIDIA Blast: A destruction and fracture library used for creating destructible assets and environments
The tight integration of these high-fidelity simulation engines is fundamental to Omniverse's role in the development of physical AI, enabling the generation of vast amounts of high-quality, perfectly labeled synthetic data for training AI models.[21]
Omniverse Kit SDK and APIs
Omniverse is designed as an extensible development platform, with the Omniverse Kit SDK serving as its foundational framework.[22] This SDK allows developers to build their own Omniverse-native applications, extensions, and microservices using Python and C++. All of NVIDIA's own Omniverse applications are built as collections of extensions running on the Kit SDK.[22]
| API | Function |
|---|---|
| USD Search API | For locating and organizing 3D data across projects |
| USD Code API | For scripting and automating USD content creation and pipeline tasks |
| Kit App Streaming API | For streaming interactive, GPU-accelerated Omniverse applications to web browsers |
Platform Ecosystem
NVIDIA Omniverse Applications
NVIDIA provides several reference applications built on the Omniverse Kit SDK, each tailored for specific workflows:
- Omniverse USD Composer (formerly Omniverse Create): The primary application for world-building, scene assembly, and lighting. It serves as a central hub where users can aggregate USD assets from various sources and compose complex scenes.[8]
- Omniverse USD Explorer (formerly Omniverse View): A lightweight application designed for non-technical users to visualize, review, and collaborate on 3D projects. It includes specialized viewing modes for VR and AR devices.[8]
- Omniverse Machinima: An application for creating animated films and cinematic sequences, providing tools for manipulating characters, cameras, and environments to produce animated content.[23]
- Omniverse Audio2Face: An AI-powered application that automatically generates realistic facial animation from just an audio file. The underlying neural network analyzes the audio input's acoustic features to generate accurate lip-sync and corresponding emotional expressions. In 2025, NVIDIA open-sourced the Audio2Face models and SDK.[24]
- NVIDIA Isaac Sim: An Omniverse-based application for robotics simulation, providing a virtual laboratory to develop and test robots using realistic physics and sensors. Built on Omniverse, it benefits from photorealistic rendering and accurate physics to model how robots perceive and interact with the environment.[25]
- NVIDIA Drive Sim: An automotive simulator built on Omniverse for developing and testing autonomous vehicle systems. Drive Sim creates virtual environments including roads, traffic scenarios, weather conditions, and sensor models, enabling car makers and researchers to validate self-driving algorithms safely in simulation.[26]
Third-Party Connectors
A key strength of the Omniverse ecosystem is its interoperability with industry-standard Digital Content Creation (DCC) tools through Omniverse Connectors—plugins that enable a live, bidirectional link between third-party applications and the Omniverse Nucleus server.[27]
| Category | Applications | Developer |
|---|---|---|
| 3D Modeling/Animation | Autodesk 3ds Max, Autodesk Maya, Blender, SideFX Houdini | Autodesk, Blender Foundation, SideFX |
| CAD | Autodesk Alias, Autodesk Revit, PTC Creo, Rhino, SketchUp | Autodesk, PTC, McNeel, Trimble |
| Game Engines | Unreal Engine, Unity | Epic Games, Unity Technologies |
| Industrial Software | Siemens Teamcenter, NX, Process Simulate | Siemens |
| Geospatial | Cesium, Esri ArcGIS CityEngine | Cesium, Esri |
Applications and Use Cases
Omniverse is being applied across many industries that work with 3D content:
Industrial Digital Twins
This is arguably the platform's primary and most impactful application. Companies use Omniverse to build and operate physically accurate, real-time virtual replicas of their physical assets and environments.[2]
BMW Group has deployed Omniverse across 31 factories, achieving:
- 30% increase in efficiency from optimized planning processes
- Digital twins spanning over 1 million square meters
- Virtual factory design and testing two years before physical construction, saving significant time and resources[28]
Jensen Huang, NVIDIA's CEO, participated in a virtual factory opening with BMW at a GTC keynote, underlining the importance of this approach. BMW reported that virtual optimization via Omniverse can eliminate expensive last-minute change orders and production downtime on real factory floors.[28]
Amazon utilizes Omniverse to create AI-enabled digital twins of its fulfillment centers, using these simulations to optimize warehouse design and material flow, and to train its fleet of over 500,000 mobile robots using high-quality synthetic data.[29]
Architecture, Engineering, and Construction
Foster + Partners implemented Omniverse Enterprise for real-time collaboration across 14 countries and 17 offices, achieving seamless data exchange between design and visualization software and significantly reduced model processing times.[30]
Firms such as Woods Bagot explored hybrid cloud workflows with Omniverse to allow globally distributed team members to collaborate on very large and detailed building models. The shared USD format helps maintain a single source of truth for projects.[31]
Telecommunications and Smart Cities
Ericsson collaborated with NVIDIA to use Omniverse for simulating the propagation of 5G radio signals in urban settings. By importing 3D city models into Omniverse and using the platform's physics and ray tracing, engineers can visualize how radio waves from proposed cell towers would bounce off structures or be obstructed, allowing them to find optimal sites for antennas and predict coverage and signal quality.[32]
Robotics and Automation
Omniverse serves as the foundation for NVIDIA's robotics simulation platforms, including Isaac Sim and Isaac Lab. These tools allow robotics engineers to train, test, and validate robots in realistic, physics-based virtual environments. Companies working on autonomous mobile robots, drones, and warehouse automation use Omniverse to test their systems safely in simulation, iterating faster than would be possible using physical prototypes alone.[25]
Media and Entertainment
In the film and animation industry, Omniverse is used to streamline visual effects and animation workflows. Industrial Light & Magic (ILM) has tested Omniverse to connect its internal and external pipelines, allowing artists at different locations using different tools to collaborate on the same scene in real time. ILM reported that Omniverse's real-time RTX rendering could allow them to render final-quality VFX shots interactively.[33]
Competitive Landscape
Assessing NVIDIA Omniverse's competitive position requires understanding that it is not designed to replace traditional 3D modeling software and game engines but rather to serve as a foundational platform that unifies them.[34]
User sentiment data from platforms like G2 often shows that established tools such as Blender, Unity, and Autodesk Maya are rated more favorably on metrics like "meeting requirements" and "usability."[34] This reflects the fact that these applications are highly specialized and mature tools for specific tasks like modeling, animation, or game development.
| Competitor | Better at Meeting Requirements | More Usable | Better Support |
|---|---|---|---|
| Unity | Template:Yes | Template:Yes | Template:Yes |
| Blender | Template:Yes | Template:No | Template:Yes |
| Unreal Engine | Template:Yes | Template:Yes | Template:No |
| Maya | Template:Yes | Template:No | Template:No |
The more accurate view of Omniverse's competitive landscape places it in an emerging category of platforms for industrial simulation and collaboration. Its core value proposition is not in feature-for-feature parity with any single DCC tool, but in its ability to provide:
- Data Interoperability: Through its native implementation of OpenUSD
- Real-time Collaboration: Enabled by the Nucleus database engine
- High-Fidelity, Physically Accurate Simulation: Powered by the RTX renderer and PhysX suite
Omniverse's primary strength lies in its full-stack integration, combining the open standard of USD with NVIDIA's proprietary, high-performance hardware (RTX GPUs, DGX systems) and AI software, creating a cohesive platform for industrial digitalization that is difficult for competitors to replicate in its entirety.
System Requirements
Hardware Requirements
| Component | Minimum | Recommended | Advanced/Professional |
|---|---|---|---|
| GPU | RTX-enabled GPU 10GB VRAM |
RTX-enabled GPU 24GB VRAM |
Multiple RTX GPUs 48GB VRAM each |
| CPU | 8 cores @ 3.5 GHz | 12 cores @ 4.0 GHz | 16+ cores @ 4.5+ GHz |
| RAM | 16 GB | 32 GB | 64 GB |
| Storage | 50 GB - 1 TB SSD (varies by application) |
1 TB NVMe SSD | 4+ TB NVMe SSD |
| Operating System | Windows 10/11 Ubuntu 20.04/22.04/24.04 |
Windows 11 Ubuntu 24.04 |
Windows 11 Pro Ubuntu 24.04 LTS |
Supported GPU architectures include:
- Turing (Compute Capability 7.5)
- Ampere RTX (8.6)
- Ada Lovelace (8.9)
- Blackwell (12.0)
The platform supports multi-GPU configurations with up to 16 GPUs.[35]
Pricing and Licensing
Individual and Free Options
- Omniverse for Individuals: Free for individual users (announced January 2022)
- 90-day Enterprise Trial: Free evaluation with community support
- Education Pricing: Free subscriptions for teaching and research institutions[12]
Enterprise Licensing
As of 2025:
- Omniverse Enterprise: $4,500 per GPU per year
- Concurrent user/floating licensing model
- Includes software support, bug fix prioritization, and all updates[36]
Partnerships and Ecosystem
Major Partners
| Category | Partners |
|---|---|
| Software | Adobe, Autodesk, Epic Games, Pixar, Bentley Systems, Trimble, Esri |
| Industrial | Siemens, Ansys, Cadence, Dassault Systèmes, Hexagon, Rockwell Automation |
| Cloud Providers | AWS, Microsoft Azure, Google Cloud Platform, Oracle Cloud |
| Hardware | Dell Technologies, HP, Lenovo, Supermicro, ASUS, Cisco |
| Automotive | BMW, Mercedes-Benz, General Motors, Toyota, Hyundai, Foxconn |
In a key industrial partnership, Siemens became the first company to integrate support for NVIDIA's "Mega Omniverse Blueprint" into its Xcelerator platform, allowing customers to build large-scale, high-fidelity factory digital twins that combine realistic 3D models from Omniverse with live operational data from Siemens' industrial software.[13]
Market Metrics
Key milestones and metrics:
- 50,000+ downloads by August 2021[10]
- 100,000+ creators by January 2022[12]
- 700+ companies using Omniverse (2022-2023)[37]
- Target market: $50 trillion manufacturing and logistics industries[4]
See also
- Universal Scene Description
- Digital twin
- NVIDIA RTX
- PhysX
- Computer-aided design
- 3D computer graphics
- Metaverse
- Industry 4.0
- NVIDIA Isaac
References
- ↑ 1.0 1.1 "NVIDIA Omniverse Documentation". https://docs.nvidia.com/omniverse/index.html.
- ↑ 2.0 2.1 "NVIDIA Omniverse for Developers". NVIDIA Developer. https://developer.nvidia.com/omniverse.
- ↑ 3.0 3.1 "NVIDIA Announces Omniverse Open Beta, Letting Designers Collaborate in Real Time". 2020-10-05. https://nvidianews.nvidia.com/news/nvidia-announces-omniverse-open-beta-letting-designers-collaborate-in-real-time-from-home-or-around-the-world.
- ↑ 4.0 4.1 4.2 "NVIDIA Omniverse Physical AI Operating System Expands to More Industries and Partners". 2025-03-18. https://nvidianews.nvidia.com/news/nvidia-omniverse-physical-ai-operating-system-expands-to-more-industries-and-partners.
- ↑ "Omniverse Enterprise Overview". NVIDIA Docs. https://docs.omniverse.nvidia.com/enterprise/latest/index.html.
- ↑ "NVIDIA at GTC 2019". 2019-03-18. https://www.guru3d.com/news-story/nvidia-at-gtc-2019.html.
- ↑ "Omniverse Delivers Interactivity and Collaboration for Early Access Customers". 2020-05-14. https://blogs.nvidia.com/blog/2020/05/14/omniverse-early-access/.
- ↑ 8.0 8.1 8.2 "The Metaverse Begins: NVIDIA Omniverse Open Beta Now Available". NVIDIA Blog. 2020-12-15. https://blogs.nvidia.com/blog/omniverse-open-beta-available/.
- ↑ "NVIDIA Launches Omniverse Design Collaboration and Simulation Platform for Enterprises". 2021-04-12. https://nvidianews.nvidia.com/news/nvidia-launches-omniverse-design-collaboration-and-simulation-platform-for-enterprises.
- ↑ 10.0 10.1 "NVIDIA Brings Millions More Into the Metaverse With Expanded Omniverse Platform". NVIDIA Newsroom. 2021-08-10. https://nvidianews.nvidia.com/news/nvidia-brings-millions-more-into-the-metaverse-with-expanded-omniverse-platform.
- ↑ "NVIDIA Omniverse Enterprise Delivers the Future of 3D Design and Real-Time Collaboration". 2021-11-09. https://blogs.nvidia.com/blog/omniverse-enterprise/.
- ↑ 12.0 12.1 12.2 "NVIDIA Makes Free Version of Omniverse Available to Millions of Individual Creators and Artists Worldwide". 2022-01-04. https://blogs.nvidia.com/blog/omniverse-available-free-to-creators/.
- ↑ 13.0 13.1 "NVIDIA and US Manufacturing and Robotics Leaders Drive America's Reindustrialization". StockTitan. 2025-10-28. https://www.stocktitan.net/news/NVDA/nvidia-and-us-manufacturing-and-robotics-leaders-drive-america-s-tnnnpcdu76wp.html.
- ↑ "Pixar, Adobe, Apple, Autodesk, and NVIDIA Form Alliance for OpenUSD to Drive Open Standards for 3D Content". NVIDIA Press Release. 2023-08-01. https://nvidianews.nvidia.com/news/aousd-to-drive-open-standards-for-3d-content.
- ↑ "Legacy Tools for Omniverse Launcher". 2025-10-01. https://developer.nvidia.com/omniverse/legacy-tools.
- ↑ 16.0 16.1 "Introduction to Universal Scene Description". Alliance for OpenUSD. https://openusd.org/release/intro.html.
- ↑ "What You Need to Know About Universal Scene Description, From One of Its Founding Developers". NVIDIA Omniverse on Medium. 2021-12-15. https://medium.com/@nvidiaomniverse/what-you-need-to-know-about-universal-scene-description-from-one-of-its-founding-developers-12625e99389a.
- ↑ 18.0 18.1 "Omniverse Nucleus Architecture". NVIDIA Docs. https://docs.omniverse.nvidia.com/nucleus/latest/architecture.html.
- ↑ "Omniverse Nucleus Features and Benefits". NVIDIA Docs. https://docs.omniverse.nvidia.com/nucleus/latest/features.html.
- ↑ 20.0 20.1 "NVIDIA Omniverse RTX Renderer". NVIDIA Docs. https://docs.omniverse.nvidia.com/materials-and-rendering/latest/rtx-renderer.html.
- ↑ 21.0 21.1 "NVIDIA PhysX SDK". NVIDIA Developer. https://developer.nvidia.com/physx-sdk.
- ↑ 22.0 22.1 "Creating an Omniverse Project". NVIDIA Developer Guide. https://docs.omniverse.nvidia.com/dev-guide/latest/dev_guide/create/create.html.
- ↑ "How to Create Your First Animation in NVIDIA Omniverse Machinima". YouTube. 2021-12-16. https://www.youtube.com/watch?v=ynYb1zE6Jno.
- ↑ "NVIDIA Open Sources Audio2Face Animation Model". NVIDIA Developer Blog. 2025-09-24. https://developer.nvidia.com/blog/nvidia-open-sources-audio2face-animation-model/.
- ↑ 25.0 25.1 "NVIDIA Isaac Sim". NVIDIA Developer. https://developer.nvidia.com/isaac-sim.
- ↑ "NVIDIA DRIVE Sim". NVIDIA Developer. https://developer.nvidia.com/drive/drive-sim.
- ↑ "Third Party Connectors". NVIDIA Docs. https://docs.omniverse.nvidia.com/connect/latest/3rd-party-connectors.html.
- ↑ 28.0 28.1 "BMW Group Redefines Factory Planning with NVIDIA Omniverse". NVIDIA. https://www.nvidia.com/en-us/case-studies/bmw-group-develop/.
- ↑ "Case Study: Enhancing Warehouse Efficiency with Digital Twins Powered by NVIDIA Omniverse". RS Components. https://www.rs-online.com/designspark/case-study-enhancing-warehouse-efficiency-with-digital-twins-powered-by-nvidia-omniverse.
- ↑ "Foster + Partners collaborates with NVIDIA Omniverse Enterprise for the AEC industry". Foster + Partners. https://www.fosterandpartners.com/news/foster-plus-partners-collaborates-with-nvidia-omniverse-enterprise-for-the-aec-industry.
- ↑ "Woods Bagot Uses Omniverse for Global Collaboration". NVIDIA Blog. https://blogs.nvidia.com/blog/woods-bagot-omniverse/.
- ↑ "Ericsson and NVIDIA Collaboration". Ericsson. https://www.ericsson.com/en/news/2021/4/ericsson-and-nvidia-collaboration.
- ↑ "ILM on Omniverse". NVIDIA GTC. https://www.nvidia.com/en-us/on-demand/session/gtcspring21-s32733/.
- ↑ 34.0 34.1 34.2 "NVIDIA Omniverse Alternatives & Competitors". G2. https://www.g2.com/products/nvidia-omniverse/competitors/alternatives.
- ↑ 35.0 35.1 "Technical Requirements - Omniverse Enterprise". https://docs.omniverse.nvidia.com/enterprise/latest/common/technical-requirements.html.
- ↑ "Omniverse Enterprise". https://www.nvidia.com/en-us/omniverse/enterprise/.
- ↑ "NVIDIA Releases Major Omniverse Upgrade". NVIDIA Investor Relations. 2023-08-08. https://investor.nvidia.com/news/press-release-details/2023/NVIDIA-Releases-Major-Omniverse-Upgrade-With-Generative-AI-and-OpenUSD/default.aspx.
External links
Script error: No such module "Official website".
Template:NVIDIA Template:3D software Template:Collaborative software