#ifndef CUDANET_CONCAT_LAYER_H #define CUDANET_CONCAT_LAYER_H namespace CUDANet::Layers { /** * @brief Concatenate layers * */ class Concat { public: /** * @brief Create a new Concat layer * * @param inputASize Size of the first input * @param inputBSize Size of the second input */ Concat(const int inputASize, const int inputBSize); /** * @brief Destroy the Concat layer * */ ~Concat(); /** * @brief Concatenates the two inputs * * @param d_input_A Device pointer to the first input * @param d_input_B Device pointer to the second input * * @return Device pointer to the output */ float* forward(const float* d_input_A, const float* d_input_B); int getOutputSize(); private: int inputASize; int inputBSize; float* d_output; }; } // namespace CUDANet::Layers #endif // CUDANET_CONCAT_LAYER_H