Partitioned implementations.

Notes:
* Conflicts arrised when sharing CPU implementation code, with GPU
implementation code.