Thanks for the reply!
I'm currently running L-BFGS in Stan, which compiles as C++ and also runs unparallelized. The HMM code in Stan uses fairly standard efficient algorithms. If there is a closed-form derivative for this, I imagine it would be quite ugly.
Given what I'm seeing in Stan on artificial data with relatively few parameters, I'm guessing it could take days to optimize the parameters with a sufficient quantity of real data and a realistic number of hidden states and emissions. Thus my interest in parallelization.
Such analysis would, however, require several random starts to help reduce the chance that I'm at a local optimum (or to test alternative values for the number of hidden states), so I guess I can save time by simply running separate optimizations in parallel (which is possible?)--if this doesn't require too much memory. There would be advantages to being able to run one analysis in parallel, but probably not critical ones.
Incidentally, is it straightforward to get an estimated Hessian for the L-BFGS optimized parameters in Julia? I didn't notice an option for this.
Thanks again, Jason