lamppp
Loading...
Searching...
No Matches
expand.hpp
1#pragma once
2
3#include "lamppp/tensor/cpu/kernels.hpp"
4#include "lamppp/tensor/cpu/binary.hpp"
5#include "lamppp/tensor/cpu/meta_handler.hpp"
6#include "lamppp/tensor/cpu/offset_util.hpp"
7#include "lamppp/tensor/cpu/ptr_pack.hpp"
8#include "lamppp/tensor/tensor_impl.hpp"
9
11
13template <typename PtrList, typename OpFn>
14void vectorized_expand_kernel(PtrList ptr_, OpFn fn_, size_t i,
15 const CPUOffsetUtil<kNArgs>* align);
16
17template <typename PtrList, typename OpFn>
18void expand_kernel_launcher(PtrList ptr_, OpFn fn_, size_t size,
19 const CPUOffsetUtil<kNArgs>* align);
21
23template <template <typename> class OpFunctor, typename... Args>
24void expand_dispatch_handler(BinaryMetaHandler& meta, Args&&... args);
26
27extern template void expand_dispatch_handler<AddFunctor>(BinaryMetaHandler&);
28extern template void expand_dispatch_handler<SubFunctor>(BinaryMetaHandler&);
29extern template void expand_dispatch_handler<MulFunctor>(BinaryMetaHandler&);
30extern template void expand_dispatch_handler<DivFunctor>(BinaryMetaHandler&);
31extern template void expand_dispatch_handler<PowFunctor>(BinaryMetaHandler&);
32extern template void expand_dispatch_handler<EqFunctor>(BinaryMetaHandler&);
33extern template void expand_dispatch_handler<NeFunctor>(BinaryMetaHandler&);
34extern template void expand_dispatch_handler<GeFunctor>(BinaryMetaHandler&);
35extern template void expand_dispatch_handler<GtFunctor>(BinaryMetaHandler&);
36extern template void expand_dispatch_handler<LeFunctor>(BinaryMetaHandler&);
37extern template void expand_dispatch_handler<LtFunctor>(BinaryMetaHandler&);
38
39} // namespace lmp::tensor::detail::cpu
Definition binary.cpp:4
void expand_dispatch_handler(BinaryMetaHandler &meta, Args &&... args)
Definition expand.cpp:24
template void expand_dispatch_handler< AddFunctor >(BinaryMetaHandler &)