Add CMakeLists.txt file with CUDA and OCL builds
This commit is contained in:
parent
088778977b
commit
b9e70e11ab
19
CMakeLists.txt
Normal file
19
CMakeLists.txt
Normal file
@ -0,0 +1,19 @@
|
||||
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
project(gpu-stream)
|
||||
|
||||
set(CMAKE_SOURCE_DIR src/)
|
||||
|
||||
list(APPEND CMAKE_CXX_FLAGS --std=c++11)
|
||||
|
||||
find_package(CUDA REQUIRED)
|
||||
|
||||
cuda_add_executable(cuda.exe src/main.cpp src/CUDAStream.cu)
|
||||
target_compile_definitions(cuda.exe PUBLIC CUDA)
|
||||
|
||||
find_package(OpenCL)
|
||||
add_executable(ocl.exe src/main.cpp src/OCLStream.cpp)
|
||||
target_compile_definitions(ocl.exe PUBLIC OCL)
|
||||
target_link_libraries(ocl.exe ${OpenCL_LIBRARY})
|
||||
|
||||
10
src/main.cpp
10
src/main.cpp
@ -11,7 +11,11 @@
|
||||
#include "common.h"
|
||||
#include "Stream.h"
|
||||
|
||||
#if defined(CUDA)
|
||||
#include "CUDAStream.h"
|
||||
#elif defined(OCL)
|
||||
#include "OCLStream.h"
|
||||
#endif
|
||||
|
||||
|
||||
const unsigned int ARRAY_SIZE = 52428800;
|
||||
@ -45,12 +49,16 @@ void run()
|
||||
|
||||
Stream<T> *stream;
|
||||
|
||||
#if defined(CUDA)
|
||||
// Use the CUDA implementation
|
||||
//stream = new CUDAStream<T>(ARRAY_SIZE);
|
||||
stream = new CUDAStream<T>(ARRAY_SIZE);
|
||||
|
||||
#elif defined(OCL)
|
||||
// Use the OpenCL implementation
|
||||
stream = new OCLStream<T>(ARRAY_SIZE);
|
||||
|
||||
#endif
|
||||
|
||||
stream->write_arrays(a, b, c);
|
||||
|
||||
// List of times
|
||||
|
||||
Loading…
Reference in New Issue
Block a user