message: replaces elu_layer 2 kernels (fp and bp)
diff: #include <iostream>
  #endif
  +#include <linalg/binary_op.cuh>
  +#include <linalg/unary_op.cuh>
  +
  +
  namespace HugeCTR {
  EluLayer::EluLayer(const std::shared_ptr<Tensor<float>>& in_tensor,
  @@ -42,8 +46,10 @@ void EluLayer::fprop(cudaStream_t stream) {
  float alpha = alpha_;
  auto fop = [alpha] __device__(float in) { return (in < 0) ? alpha * (expf(in) - 1) : in; };
  - internal::ElementWiseFunctor functor;
  - functor.forward_evaluate(*in_tensor, *out_tensor, get_device_id(), fop, stream);
  +
  + //internal::ElementWiseFunctor functor;
  + //functor.forward_evaluate(*in_tensor, *out_tensor, get_device_id(), fop, stream);
  + MLCommon::LinAlg::unaryOp(out_tensor->get_ptr(), in_tensor->get_ptr(), in_tensor->get_num_elements(), fop, stream);
  }
  void EluLayer::bprop(cudaStream_t stream) {
  @@ -54,8 +60,11 @@ void EluLayer::bprop(cudaStream_t stream) {
  auto bop = [alpha] __device__(float d_out, float d_in) {
  return (d_in < 0) ? alpha * expf(d_in) * d_out : d_out;
  };
  - internal::ElementWiseFunctor functor;
  - functor.backward_evaluate(*in_tensor, *out_tensor, get_device_id(), bop, stream);
  +
  + //internal::ElementWiseFunctor functor;
  + //functor.backward_evaluate(*in_tensor, *out_tensor, get_device_id(), bop, stream);
  +
  + MLCommon::LinAlg::binaryOp(in_tensor->get_ptr(), out_tensor->get_ptr(), in_tensor->get_ptr(), in_tensor->get_num_elements(), bop, stream);
  }
  } // namespace HugeCTR
  