diff --git a/src/CUDAStream.cu b/src/CUDAStream.cu index 7f5f25d..e7ce539 100644 --- a/src/CUDAStream.cu +++ b/src/CUDAStream.cu @@ -135,8 +135,7 @@ void CUDAStream::triad() } -template -void CUDAStream::listDevices(void) +void listDevices(void) { // Get number of devices int count; @@ -160,8 +159,8 @@ void CUDAStream::listDevices(void) } } -template -std::string CUDAStream::getDeviceName(const int device) + +std::string getDeviceName(const int device) { cudaDeviceProp props; cudaGetDeviceProperties(&props, device); @@ -169,8 +168,8 @@ std::string CUDAStream::getDeviceName(const int device) return std::string(props.name); } -template -std::string CUDAStream::getDeviceDriver(const int device) + +std::string getDeviceDriver(const int device) { cudaSetDevice(device); check_error(); diff --git a/src/CUDAStream.h b/src/CUDAStream.h index c741f5c..34e0303 100644 --- a/src/CUDAStream.h +++ b/src/CUDAStream.h @@ -31,9 +31,5 @@ class CUDAStream : public Stream 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; - static void listDevices(void); - static std::string getDeviceName(const int device); - static std::string getDeviceDriver(const int device); - }; diff --git a/src/Stream.h b/src/Stream.h index 573af83..c31d62d 100644 --- a/src/Stream.h +++ b/src/Stream.h @@ -19,10 +19,10 @@ class Stream virtual void write_arrays(const std::vector& a, const std::vector& b, const std::vector& c) = 0; virtual void read_arrays(std::vector& a, std::vector& b, std::vector& c) = 0; - // Implementation specific device functions - static void listDevices(void); - static std::string getDeviceName(const int); - static std::string getDeviceDriver(const int); - }; + +// Implementation specific device functions +static void listDevices(void); +static std::string getDeviceName(const int); +static std::string getDeviceDriver(const int); diff --git a/src/main.cpp b/src/main.cpp index cabac5f..0b9bc90 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -205,11 +205,7 @@ void parseArguments(int argc, char *argv[]) { if (!std::string("--list").compare(argv[i])) { - #if defined(CUDA) - CUDAStream::listDevices(); - #elif defined(OCL) - OCLStream::listDevices(); - #endif + listDevices(); exit(EXIT_SUCCESS); } else if (!std::string("--device").compare(argv[i]))