operation, even without multi-core MPI support, can be
used to make programs more scalable and also more efficient. See the
<a href="map-reduce-chapter.html#map-reduce.chapter">map-reduce chapter</a> for more information on
implementing map-reduce operations.</p>
<p>Map-reduce allows greater scalability because only the Jacobian of the
mapped function for each shard is stored. The Jacobian consists of
all of the derivatives of the outputs with respect to the parameters.
During execution, the derivatives of 