<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _mprotate(ang, lny, pool, order):
 """Uses multiprocessing to wrap around _rotate 4x speedup on an intel i7-3820 CPU @ 3.60GHz with 8 cores. The function calls _rotate which accesses the `mprotate_dict`. Data is rotated in-place. Parameters ang: float rotation angle in degrees lny: int total number of rotations to perform pool: instance of multiprocessing.pool.Pool the pool object used for the computation order: int interpolation order """

    targ_args = list()

    slsize = np.int(np.floor(lny / ncores))

    for t in range(ncores):
        ymin = t * slsize
        ymax = (t + 1) * slsize
        if t == ncores - 1:
            ymax = lny
        targ_args.append((ymin, ymax, ang, order))

    pool.map(_rotate, targ_args)