MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ execute_batch_parallel()

template<typename OpClass , ComputeData InputType, ComputeData OutputType = InputType, typename... Args>
std::vector< std::optional< Datum< OutputType > > > MayaFlux::Yantra::ComputeMatrix::execute_batch_parallel ( const std::vector< Datum< InputType > > &  inputs,
Args &&...  args 
)
inline

Execute operation on multiple inputs in parallel.

Definition at line 316 of file ComputeMatrix.hpp.

319 {
320 auto operation = std::make_shared<OpClass>(std::forward<Args>(args)...);
321
322 std::vector<std::optional<Datum<OutputType>>> results(inputs.size());
323
324 MayaFlux::Parallel::transform(MayaFlux::Parallel::par_unseq,
325 inputs.begin(), inputs.end(),
326 results.begin(),
327 [this, operation](const Datum<InputType>& input) {
328 return execute_operation<OpClass, InputType, OutputType>(operation, input);
329 });
330
331 return results;
332 }