This feature is still in the earliest stage of its development. The behavior and interface are subject to change.
ChainerX is an ndarray implementation with Define-by-Run automatic differentiation capability. It roughly corresponds to “NumPy/CuPy + Chainer Variable”, while some additional features follow:
- Speed: The whole ndarray and autograd implementation is written in C++, with a thin Python binding. It lowers the overhead existing in the pure Python implementation of Chainer.
- Extensibility: The backend is pluggable so that it is much easier to add a support of new devices.
The speed is best achieved by directly using ChainerX APIs,
while it also provides a compatibility layer through the conventional
chainer.Variable interface for easier adoption of ChainerX in existing projects.
See ChainerX Tutorial for more details.
- ChainerX Tutorial
- Contribution Guide