  Nonlinear (deterministic and stochastic) optimal control problems are often
solved on embedded devices using first-order numerical optimisation methods.
The gradient computation accounts for a significant part of the computation
cost per iteration; this is often performed with reverse-mode automatic
differentiation and software libraries such as CasADi can be used to generate C
code for this computation. In this paper, we propose a simple ad hoc and highly
parallelisable algorithm for the computation of the gradient of the total cost
for deterministic and stochastic scenario-based optimal control problems. We
also present gradgen: an open-source Python package that generates Rust code
for the gradient computation. The proposed method leads to a faster performance
compared to CasADi and a significant reduction in generated code.
