Algorithmes de scan exclusif ou inclusif sur accélérateurs.
Plus de détails...
#include <arcane/accelerator/GenericScanner.h>
|
| GenericScanner (const RunQueue &queue) |
|
template<typename DataType, typename GetterLambda, typename SetterLambda, typename Operator> |
void | applyWithIndexExclusive (Int32 nb_value, const DataType &initial_value, const GetterLambda &getter_lambda, const SetterLambda &setter_lambda, const Operator &op_lambda, const TraceInfo &trace_info=TraceInfo()) |
|
template<typename DataType, typename GetterLambda, typename SetterLambda, typename Operator> |
void | applyWithIndexInclusive (Int32 nb_value, const DataType &initial_value, const GetterLambda &getter_lambda, const SetterLambda &setter_lambda, const Operator &op_lambda, const TraceInfo &trace_info=TraceInfo()) |
|
template<typename InputDataType, typename OutputDataType, typename Operator> |
void | applyExclusive (const OutputDataType &initial_value, SmallSpan< const InputDataType > input, SmallSpan< OutputDataType > output, const Operator &op_lambda, const TraceInfo &trace_info=TraceInfo()) |
|
template<typename InputDataType, typename OutputDataType, typename Operator> |
void | applyInclusive (const OutputDataType &initial_value, SmallSpan< const InputDataType > input, SmallSpan< OutputDataType > output, const Operator &op_lambda, const TraceInfo &trace_info=TraceInfo()) |
|
Algorithmes de scan exclusif ou inclusif sur accélérateurs.
Voir https://en.wikipedia.org/wiki/Prefix_sum.
Dans les méthodes de scan, les valeurs entre les entrées et les sorties ne doivent pas se chevaucher.
Définition à la ligne 262 du fichier GenericScanner.h.
◆ GenericScanner()
Arcane::Accelerator::GenericScanner::GenericScanner |
( |
const RunQueue & | queue | ) |
|
|
inlineexplicit |
◆ applyExclusive()
template<typename InputDataType, typename OutputDataType, typename Operator>
void Arcane::Accelerator::GenericScanner::applyExclusive |
( |
const OutputDataType & | initial_value, |
|
|
SmallSpan< const InputDataType > | input, |
|
|
SmallSpan< OutputDataType > | output, |
|
|
const Operator & | op_lambda, |
|
|
const TraceInfo & | trace_info = TraceInfo() ) |
|
inline |
◆ applyInclusive()
template<typename InputDataType, typename OutputDataType, typename Operator>
void Arcane::Accelerator::GenericScanner::applyInclusive |
( |
const OutputDataType & | initial_value, |
|
|
SmallSpan< const InputDataType > | input, |
|
|
SmallSpan< OutputDataType > | output, |
|
|
const Operator & | op_lambda, |
|
|
const TraceInfo & | trace_info = TraceInfo() ) |
|
inline |
◆ applyWithIndexExclusive()
template<typename DataType, typename GetterLambda, typename SetterLambda, typename Operator>
void Arcane::Accelerator::GenericScanner::applyWithIndexExclusive |
( |
Int32 | nb_value, |
|
|
const DataType & | initial_value, |
|
|
const GetterLambda & | getter_lambda, |
|
|
const SetterLambda & | setter_lambda, |
|
|
const Operator & | op_lambda, |
|
|
const TraceInfo & | trace_info = TraceInfo() ) |
|
inline |
◆ applyWithIndexInclusive()
template<typename DataType, typename GetterLambda, typename SetterLambda, typename Operator>
void Arcane::Accelerator::GenericScanner::applyWithIndexInclusive |
( |
Int32 | nb_value, |
|
|
const DataType & | initial_value, |
|
|
const GetterLambda & | getter_lambda, |
|
|
const SetterLambda & | setter_lambda, |
|
|
const Operator & | op_lambda, |
|
|
const TraceInfo & | trace_info = TraceInfo() ) |
|
inline |
La documentation de cette classe a été générée à partir du fichier suivant :