#include #include #include "Stream.h" template class CUDAStream : public Stream { protected: // Size of arrays unsigned int array_size; // Device side pointers to arrays T *d_a; T *d_b; T *d_c; public: CUDAStream(const unsigned int); ~CUDAStream(); virtual void copy() override; virtual void add() override; virtual void mul() override; virtual void triad() override; virtual void write_arrays(const std::vector& a, const std::vector& b, const std::vector& c) override; virtual void read_arrays(std::vector& a, std::vector& b, std::vector& c) override; };