This page is a snapshot from the LWG issues list, see theLibrary Active Issues List for more information and the meaning ofResolved status.
inner_productSection: 26.10.5[inner.product]Status:ResolvedSubmitter: United StatesOpened: 2017-02-03Last modified: 2017-03-20
Priority:Not Prioritized
View all issues withResolved status.
Discussion:
Addresses US 161There is a surprising sequential operation applyingBinaryOp1 ininner_product that may, for example, require additional storage for the parallel algorithms to enable effective distribution of work, and is likely to be a performance bottleneck.GENERALIZED_SUM is probably intended here for the parallel version of the algorithm, with the corresponding strengthening on constraints onBinaryOp1 to allow arbitrary order of evaluation.
Proposed change: For the overloads taking an execution policy, copy the current specification, but replace algorithm inEffects with
GENERALIZED_SUM(plus<>(), init, multiplies<>(*i1, *i2), ...)GENERALIZED_SUM(binary_op1, init, binary_op2(*i1, *i2), ...)
[2017-03-12, post-Kona]
Resolved by P0623R0.
Proposed resolution: