MLIR 22.0.0git
Threading.h File Reference
#include "mlir/IR/Diagnostics.h"
#include "llvm/ADT/Sequence.h"
#include "llvm/Support/ThreadPool.h"
#include <atomic>

Go to the source code of this file.

Namespaces

namespace  mlir
 Include the generated interface declarations.

Functions

template<typename IteratorT, typename FuncT>
LogicalResult mlir::failableParallelForEach (MLIRContext *context, IteratorT begin, IteratorT end, FuncT &&func)
 Invoke the given function on the elements between [begin, end) asynchronously.
template<typename RangeT, typename FuncT>
LogicalResult mlir::failableParallelForEach (MLIRContext *context, RangeT &&range, FuncT &&func)
 Invoke the given function on the elements in the provided range asynchronously.
template<typename FuncT>
LogicalResult mlir::failableParallelForEachN (MLIRContext *context, size_t begin, size_t end, FuncT &&func)
 Invoke the given function on the elements between [begin, end) asynchronously.
template<typename IteratorT, typename FuncT>
void mlir::parallelForEach (MLIRContext *context, IteratorT begin, IteratorT end, FuncT &&func)
 Invoke the given function on the elements between [begin, end) asynchronously.
template<typename RangeT, typename FuncT>
void mlir::parallelForEach (MLIRContext *context, RangeT &&range, FuncT &&func)
 Invoke the given function on the elements in the provided range asynchronously.
template<typename FuncT>
void mlir::parallelFor (MLIRContext *context, size_t begin, size_t end, FuncT &&func)
 Invoke the given function on the elements between [begin, end) asynchronously.