  Numerically solving ordinary differential equations (ODEs) is a naturally
serial process and as a result the vast majority of ODE solver software are
serial. In this manuscript we developed a set of parallelized ODE solvers using
extrapolation methods which exploit "parallelism within the method" so that
arbitrary user ODEs can be parallelized. We describe the specific choices made
in the implementation of the explicit and implicit extrapolation methods which
allow for generating low overhead static schedules to then exploit with
optimized multi-threaded implementations. We demonstrate that while the
multi-threading gives a noticeable acceleration on both explicit and implicit
problems, the explicit parallel extrapolation methods gave no significant
improvement over state-of-the-art even with a multi-threading advantage against
current optimized high order Runge-Kutta tableaus. However, we demonstrate that
the implicit parallel extrapolation methods are able to achieve
state-of-the-art performance (2x-4x) on standard multicore x86 CPUs for systems
of $<200$ stiff ODEs solved at low tolerance, a typical setup for a vast
majority of users of high level language equation solver suites. The resulting
method is distributed as the first widely available open source software for
within-method parallel acceleration targeting typical modest compute
architectures.
