# ACVM - Abstract Circuit Virtual Machine
ACVM (Abstract Circuit Virtual Machine) is the virtual machine that processes and executes Abstract Circuit Intermediate Representation (ACIR) instances. It takes in ACIR instances and user inputs, and generate partial witnesses for proving backends to create proofs with.
## Components
The ACVM crate is organized into several key modules:
- `compiler/` - Circuit compilation and optimization
- `pwg/` - Partial witness generation
## Documentation
For detailed documentation, visit <https://noir-lang.github.io/noir/docs/acvm/index.html>.