lamppp
Loading...
Searching...
No Matches
unary.hpp
1#pragma once
2
3#include <cstddef>
4#include "lamppp/tensor/cpu/kernels.hpp"
5#include "lamppp/tensor/cpu/meta_handler.hpp"
6#include "lamppp/tensor/cpu/ptr_pack.hpp"
7#include "lamppp/tensor/tensor_impl.hpp"
8
10
12template <typename PtrList, typename OpFn>
13void vectorized_unary_kernel(PtrList ptr_, OpFn fn_, size_t i);
14
15template <typename PtrList, typename OpFn>
16void unary_kernel_launcher(PtrList ptr_, OpFn fn_, size_t size);
17
18template <template <typename> class OpFunctor, typename... Args>
19void unary_dispatch_handler(UnaryMetaHandler& meta, Args&&... args);
20
21extern template void unary_dispatch_handler<NegFunctor>(UnaryMetaHandler&);
22extern template void unary_dispatch_handler<ExpFunctor>(UnaryMetaHandler&);
23extern template void unary_dispatch_handler<LogFunctor>(UnaryMetaHandler&);
24extern template void unary_dispatch_handler<SqrtFunctor>(UnaryMetaHandler&);
25extern template void unary_dispatch_handler<AbsFunctor>(UnaryMetaHandler&);
26extern template void unary_dispatch_handler<SinFunctor>(UnaryMetaHandler&);
27extern template void unary_dispatch_handler<CosFunctor>(UnaryMetaHandler&);
28extern template void unary_dispatch_handler<TanFunctor>(UnaryMetaHandler&);
29extern template void unary_dispatch_handler<ClampFunctor>(UnaryMetaHandler&, Scalar&,
30 Scalar&);
31
33
34} // namespace lmp::tensor::detail::cpu
Definition binary.cpp:4