add_relu.cpp 789 Bytes
Newer Older
1
2
#include <migraph/gpu/device/add_relu.hpp>
#include <migraph/gpu/device/nary.hpp>
Paul's avatar
Paul committed
3
4
5
6
7

namespace migraph {
namespace gpu {
namespace device {

Paul's avatar
Paul committed
8
9
10
11
void add_relu(hipStream_t stream,
              const argument& result,
              const argument& arg1,
              const argument& arg2)
Paul's avatar
Paul committed
12
{
Paul's avatar
Paul committed
13
14
    nary(stream, result, arg1, arg2)(
        [](auto x, auto y) { return std::max<decltype(x + y)>(0, x + y); });
Paul's avatar
Paul committed
15
16
}

Paul's avatar
Paul committed
17
18
void add_relu(hipStream_t stream,
              const argument& result,
Paul's avatar
Paul committed
19
20
21
22
              const argument& arg1,
              const argument& arg2,
              const argument& arg3)
{
Paul's avatar
Paul committed
23
    nary(stream, result, arg1, arg2, arg3)(
Paul's avatar
Paul committed
24
25
26
        [](auto x, auto y, auto z) { return std::max<decltype(x + y + z)>(0, x + y + z); });
}

Paul's avatar
Paul committed
27
28
29
} // namespace device
} // namespace gpu
} // namespace migraph