1# Parallel
2Multiprocessing is the use of two or more processes that execute in parallel. Objects that implement the Parallel interface can take advantage of multicore processors by executing parts or all of the algorithm in parallel. Choose a number of processes equal to the number of CPU cores in order to take advantage of a system's full processing capability.
3
4!!! note
5    Most parallel learners are configured to use the [Serial](backends/serial.md) backend by default.
6
7## Set a Backend
8Parallelizable objects can utilize a parallel processing Backend by passing it to the `setBackend()` method.
9
10To set the backend processing engine:
11```php
12public setBackend(Backend $backend) : void
13```
14
15```php
16use Rubix\ML\Classifiers\RandomForest;
17use Rubix\ML\Backends\Amp;
18
19$estimator = new RandomForest();
20
21$estimator->setBackend(new Amp(16));
22```
23