MayaFlux 0.1.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< IO< OutputType > > > MayaFlux::Yantra::ComputeMatrix::execute_batch_parallel ( const std::vector< InputType > &  inputs,
Args &&...  args 
)
inline

Execute operation on multiple inputs in parallel.

Definition at line 319 of file ComputeMatrix.hpp.

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