1 /******************************************************************************
2 * Copyright (c) Intel Corporation - All rights reserved.                      *
3 * This file is part of the LIBXSMM library.                                   *
4 *                                                                             *
5 * For information on the license, see the LICENSE file.                       *
6 * Further information: https://github.com/hfp/libxsmm/                        *
7 * SPDX-License-Identifier: BSD-3-Clause                                       *
8 ******************************************************************************/
9 /* Sasikanth Avancha, Dhiraj Kalamkar (Intel Corp.)
10 ******************************************************************************/
11 
12 
13 #pragma once
14 #include "ReLUImpl.hpp"
15 #include "check.hpp"
16 
17 class ReLUXSMM : public ReLUImpl
18 {
19   protected:
20 
21   public:
ReLUXSMM(ReLUImplParams * gp,int engine)22     ReLUXSMM(ReLUImplParams* gp, int engine) : ReLUImpl(gp, engine)
23     {
24       top_layout_type = LIBXSMM_CUSTOM_LAYOUT;
25       top_layout = NULL;
26       gbot_layout_type = LIBXSMM_CUSTOM_LAYOUT;
27       gbot_layout = NULL;
28     }
29 
30     // Assume external threading, e.g., #pragma omp
31     void forwardPropagate(TensorBuf *inp, TensorBuf *outp, int tid);
32     void backPropagate(TensorBuf *inp, TensorBuf *deloutp, TensorBuf *delinp, int tid);
33 };
34