# Data Parallel Extensions for Python¶

Data Parallel Extensions for Python* extend numerical Python capabilities beyond CPU and allow even higher performance gains on data parallel devices, such as GPUs. It consists of three foundational packages:

**dpnp**- Data Parallel Extensions for Numpy* - a library that implements a subset of Numpy that can be executed on any data parallel device. The subset is a drop-in replacement of core Numpy functions and numerical data types.**numba_dpex**- Data Parallel Extensions for Numba* - an extension for Numba compiler that lets you program data-parallel devices as you program CPU with Numba.**dpctl - Data Parallel Control library**that provides utilities for device selection, allocation of data on devices, tensor data structure along with Python* Array API Standard implementation, and support for creation of user-defined data-parallel extensions.