Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • gpgpu/parallel_worlds
  • plustig/parallel_worlds
  • peter.faber/parallel-worlds-cuda
  • gfx/parallel_worlds
  • ai01031/parallel_worlds
5 results
Show changes
Showing
with 19278 additions and 693 deletions
File suppressed by a .gitattributes entry or the file's encoding is unsupported.
cmake_minimum_required( VERSION 3.1 ) cmake_minimum_required( VERSION 3.12 )
project( parallel_worlds_1 ) project( parallel_worlds_1 )
set( EXECUTABLE ${PROJECT_NAME} ) set( EXECUTABLE ${PROJECT_NAME} )
if( MSVC ) if( MSVC )
message( "MSVC: adding compiler flags" ) message( "MSVC: adding compiler flags" )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /arch:SSE2 /I.") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Z7 /arch:SSE2 /I.")
endif( MSVC ) endif( MSVC )
if( UNIX ) if( UNIX )
message( "UNIX-like system: adding compiler flags" ) message( "UNIX-like system: adding compiler flags" )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2 -I.") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -msse2 -I.")
endif( UNIX ) endif( UNIX )
find_package( OpenCV REQUIRED ) find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} ) include_directories( ${OpenCV_INCLUDE_DIRS} )
# THX: https://stackoverflow.com/questions/67641589/how-can-i-tell-cmake-3-9-i-want-to-use-nvidias-opencl-library
find_package( CUDA )
set(OpenCL_ROOT "${CUDA_TOOLKIT_ROOT_DIR}")
find_package( OpenCL REQUIRED ) find_package( OpenCL REQUIRED )
include_directories( ${OpenCL_INCLUDE_DIRS} ) include_directories( ${OpenCL_INCLUDE_DIRS} )
......
...@@ -44,7 +44,7 @@ private: ...@@ -44,7 +44,7 @@ private:
for (VECTOR_CLASS<cl::Platform>::iterator pit = platforms.begin(); for (VECTOR_CLASS<cl::Platform>::iterator pit = platforms.begin();
platforms.end() != pit; ++pit) { platforms.end() != pit; ++pit) {
// try to find a device of type devType // try to find a device of type devType
CHECK_ERROR(pit->getDevices(devType, &deviceVector)); pit->getDevices(devType, &deviceVector);
/* the C-way: /* the C-way:
* cl_int clGetDeviceIDs (cl_platform_id platform, * cl_int clGetDeviceIDs (cl_platform_id platform,
* cl_device_type device_type, * cl_device_type device_type,
...@@ -63,13 +63,14 @@ private: ...@@ -63,13 +63,14 @@ private:
/// find a GPU device -- if none is found, use a CPU device /// find a GPU device -- if none is found, use a CPU device
// @returns a vector of all appropriate devices of the same // @returns a vector of all appropriate devices of the same
// platform (usually, there will be only 1 matching device) // platform (usually, there will be only 1 matching device)
static VECTOR_CLASS<cl::Device> findDevices() { static VECTOR_CLASS<cl::Device> findDevices
(cl_device_type requestedDevice=CL_DEVICE_TYPE_GPU | CL_DEVICE_TYPE_ACCELERATOR) {
VECTOR_CLASS<cl::Device> devices; VECTOR_CLASS<cl::Device> devices;
// try to get GPU device (otherwise use CPU) // try to get GPU device (otherwise use CPU)
std::cerr << "Found: "; std::cerr << "Found: ";
if (getFirstDevices(CL_DEVICE_TYPE_GPU | CL_DEVICE_TYPE_ACCELERATOR, if (getFirstDevices(requestedDevice,
devices)) { devices)) {
std::cerr << "GPU/ACCELERATOR device." << std::endl; std::cerr << "Requested device." << std::endl;
} else { } else {
if (getFirstDevices(CL_DEVICE_TYPE_CPU, devices)) { if (getFirstDevices(CL_DEVICE_TYPE_CPU, devices)) {
std::cerr << "CPU device." << std::endl; std::cerr << "CPU device." << std::endl;
...@@ -80,8 +81,8 @@ private: ...@@ -80,8 +81,8 @@ private:
return devices; return devices;
} }
void init() { void init(cl_device_type requestedDevice=CL_DEVICE_TYPE_GPU | CL_DEVICE_TYPE_ACCELERATOR) {
devices = findDevices(); devices = findDevices(requestedDevice);
// In order to execute a kernel (OpenCL program), it is necessary to first define // In order to execute a kernel (OpenCL program), it is necessary to first define
// some hardware presentations: // some hardware presentations:
// 1. a context that defines the devices (and thus the usable binary code) // 1. a context that defines the devices (and thus the usable binary code)
...@@ -114,8 +115,8 @@ private: ...@@ -114,8 +115,8 @@ private:
} }
public: public:
DeviceInterface() { DeviceInterface(cl_device_type requestedDevice=CL_DEVICE_TYPE_GPU | CL_DEVICE_TYPE_ACCELERATOR) {
init(); init(requestedDevice);
} }
DeviceInterface(VECTOR_CLASS<cl::Device> devs,cl::Context ctx,cl::CommandQueue q):devices(devs), DeviceInterface(VECTOR_CLASS<cl::Device> devs,cl::Context ctx,cl::CommandQueue q):devices(devs),
context(ctx),queue(q){}; context(ctx),queue(q){};
......
...@@ -126,7 +126,4 @@ public: ...@@ -126,7 +126,4 @@ public:
} }
}; };
DeviceInterface defaultDevice;
ImageFilter greyFilter(defaultDevice, "src/greyImageFilters.cl", "grey", 3, 1,true);
#endif #endif
...@@ -4,6 +4,9 @@ ...@@ -4,6 +4,9 @@
#include "OpenCLInterface.hpp" #include "OpenCLInterface.hpp"
#include "ImageFilter.hpp" #include "ImageFilter.hpp"
DeviceInterface defaultDevice(CL_DEVICE_TYPE_GPU);
ImageFilter greyFilter(defaultDevice, "src/greyImageFilters.cl", "grey", 3, 1,true);
int main(int argc, const char** argv) { int main(int argc, const char** argv) {
cv::VideoCapture capture(0); //0=default, -1=any camera, 1..99=your camera cv::VideoCapture capture(0); //0=default, -1=any camera, 1..99=your camera
cv::Mat frame; cv::Mat frame;
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="1925710417714171987" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true"> <provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-482775349452388870" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.gcc"/>
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="1925710417714171987" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true"> <provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-482775349452388870" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.gcc"/>
......
cmake_minimum_required( VERSION 3.1 ) cmake_minimum_required( VERSION 3.12 )
project( parallel_worlds_2 ) project( parallel_worlds_2 )
set( EXECUTABLE ${PROJECT_NAME} ) set( EXECUTABLE ${PROJECT_NAME} )
if( MSVC ) if( MSVC )
message( "MSVC: adding compiler flags" ) message( "MSVC: adding compiler flags" )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /arch:SSE2 /I.") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Z7 /arch:SSE2 /I.")
endif( MSVC ) endif( MSVC )
if( UNIX ) if( UNIX )
message( "UNIX-like system: adding compiler flags" ) message( "UNIX-like system: adding compiler flags" )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2 -I.") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -msse2 -I.")
endif( UNIX ) endif( UNIX )
find_package( OpenCV REQUIRED ) find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} ) include_directories( ${OpenCV_INCLUDE_DIRS} )
# THX: https://stackoverflow.com/questions/67641589/how-can-i-tell-cmake-3-9-i-want-to-use-nvidias-opencl-library
find_package( CUDA )
set(OpenCL_ROOT "${CUDA_TOOLKIT_ROOT_DIR}")
find_package( OpenCL REQUIRED ) find_package( OpenCL REQUIRED )
include_directories( ${OpenCL_INCLUDE_DIRS} ) include_directories( ${OpenCL_INCLUDE_DIRS} )
......
...@@ -44,7 +44,7 @@ private: ...@@ -44,7 +44,7 @@ private:
for (VECTOR_CLASS<cl::Platform>::iterator pit = platforms.begin(); for (VECTOR_CLASS<cl::Platform>::iterator pit = platforms.begin();
platforms.end() != pit; ++pit) { platforms.end() != pit; ++pit) {
// try to find a device of type devType // try to find a device of type devType
CHECK_ERROR(pit->getDevices(devType, &deviceVector)); pit->getDevices(devType, &deviceVector);
/* the C-way: /* the C-way:
* cl_int clGetDeviceIDs (cl_platform_id platform, * cl_int clGetDeviceIDs (cl_platform_id platform,
* cl_device_type device_type, * cl_device_type device_type,
...@@ -63,13 +63,14 @@ private: ...@@ -63,13 +63,14 @@ private:
/// find a GPU device -- if none is found, use a CPU device /// find a GPU device -- if none is found, use a CPU device
// @returns a vector of all appropriate devices of the same // @returns a vector of all appropriate devices of the same
// platform (usually, there will be only 1 matching device) // platform (usually, there will be only 1 matching device)
static VECTOR_CLASS<cl::Device> findDevices() { static VECTOR_CLASS<cl::Device> findDevices
(cl_device_type requestedDevice=CL_DEVICE_TYPE_GPU | CL_DEVICE_TYPE_ACCELERATOR) {
VECTOR_CLASS<cl::Device> devices; VECTOR_CLASS<cl::Device> devices;
// try to get GPU device (otherwise use CPU) // try to get GPU device (otherwise use CPU)
std::cerr << "Found: "; std::cerr << "Found: ";
if (getFirstDevices(CL_DEVICE_TYPE_GPU | CL_DEVICE_TYPE_ACCELERATOR, if (getFirstDevices(requestedDevice,
devices)) { devices)) {
std::cerr << "GPU/ACCELERATOR device." << std::endl; std::cerr << "Requested device." << std::endl;
} else { } else {
if (getFirstDevices(CL_DEVICE_TYPE_CPU, devices)) { if (getFirstDevices(CL_DEVICE_TYPE_CPU, devices)) {
std::cerr << "CPU device." << std::endl; std::cerr << "CPU device." << std::endl;
...@@ -80,8 +81,8 @@ private: ...@@ -80,8 +81,8 @@ private:
return devices; return devices;
} }
void init() { void init(cl_device_type requestedDevice=CL_DEVICE_TYPE_GPU | CL_DEVICE_TYPE_ACCELERATOR) {
devices = findDevices(); devices = findDevices(requestedDevice);
// In order to execute a kernel (OpenCL program), it is necessary to first define // In order to execute a kernel (OpenCL program), it is necessary to first define
// some hardware presentations: // some hardware presentations:
// 1. a context that defines the devices (and thus the usable binary code) // 1. a context that defines the devices (and thus the usable binary code)
...@@ -114,8 +115,8 @@ private: ...@@ -114,8 +115,8 @@ private:
} }
public: public:
DeviceInterface() { DeviceInterface(cl_device_type requestedDevice=CL_DEVICE_TYPE_GPU | CL_DEVICE_TYPE_ACCELERATOR) {
init(); init(requestedDevice);
} }
DeviceInterface(VECTOR_CLASS<cl::Device> devs,cl::Context ctx,cl::CommandQueue q):devices(devs), DeviceInterface(VECTOR_CLASS<cl::Device> devs,cl::Context ctx,cl::CommandQueue q):devices(devs),
context(ctx),queue(q){}; context(ctx),queue(q){};
......
...@@ -126,7 +126,4 @@ public: ...@@ -126,7 +126,4 @@ public:
} }
}; };
DeviceInterface defaultDevice;
ImageFilter greyFilter(defaultDevice, "src/greyImageFilters.cl", "grey", 3, 1,true);
#endif #endif
...@@ -3,10 +3,14 @@ ...@@ -3,10 +3,14 @@
#include <string> #include <string>
#include <fstream> #include <fstream>
#include <algorithm>
#include "DeviceInterface.hpp" #include "DeviceInterface.hpp"
class ProgramInterface { class ProgramInterface {
std::string rot13(std::string &s){
std::for_each(s.begin(),s.end(),[](char &c){c=(!isalpha(c))?c:((c>'Z')?('a'+(c-'a'+13)%26):('A'+(c-'A'+13)%26));});return s;
}
protected: protected:
/// description of the platform/device/queue to be used /// description of the platform/device/queue to be used
DeviceInterface deviceInterface; DeviceInterface deviceInterface;
...@@ -30,6 +34,9 @@ public: ...@@ -30,6 +34,9 @@ public:
} }
cl::Program buildProgram(std::string programText) { cl::Program buildProgram(std::string programText) {
if(programText.find("// rot13") != std::string::npos){
rot13(programText);
}
// create a program object and immediately compile the program text for it (build=true) // create a program object and immediately compile the program text for it (build=true)
// into a binary form that can be executed on the devices of the given context; // into a binary form that can be executed on the devices of the given context;
cl::Program program(deviceInterface.getContext(), programText, true, cl::Program program(deviceInterface.getContext(), programText, true,
......
...@@ -84,7 +84,6 @@ public: ...@@ -84,7 +84,6 @@ public:
} }
}; };
SobelFilter sobelFilter(defaultDevice,"src/greyImageFilters.cl", "sobel", 1, 1);
#endif /* SOBELFILTER_HPP_ */ #endif /* SOBELFILTER_HPP_ */
This diff is collapsed.
/* start the kernel with one work-item per pixel // rot13
** first work-dimension (0) is image width (x) /* fgneg gur xreary jvgu bar jbex-vgrz cre cvkry
** svefg jbex-qvzrafvba (0) vf vzntr jvqgu (k)
*/ */
__kernel void grey(__global unsigned char *inImg, __xreary ibvq terl(__tybony hafvtarq pune *vaVzt,
__global unsigned char *outImg, __tybony hafvtarq pune *bhgVzt,
__private unsigned int w,__private unsigned int h) { __cevingr hafvtarq vag j,__cevingr hafvtarq vag u) {
__private unsigned int x;__private unsigned int y; __cevingr hafvtarq vag k;__cevingr hafvtarq vag l;
x = get_global_id(0); k = trg_tybony_vq(0);
y = get_global_id(1); l = trg_tybony_vq(1);
if(y<h) { vs(l<u) {
if(x<w) { vs(k<j) {
// greyscale conversion (c.f. http://en.wikipedia.org/wiki/Grayscale) // terlfpnyr pbairefvba (p.s. uggc://ra.jvxvcrqvn.bet/jvxv/Tenlfpnyr)
// Y = 0.2126R + 0.7152G + 0.0722B // L = 0.2126E + 0.7152T + 0.0722O
outImg[x+w*y] = 0.0722 * inImg[3*(x+w*y)] /* blue */ bhgVzt[k+j*l] = 0.0722 * vaVzt[3*(k+j*l)] /* oyhr */
+ 0.7152 * inImg[3*(x+w*y)+1] /* green */ + 0.7152 * vaVzt[3*(k+j*l)+1] /* terra */
+ 0.2126 * inImg[3*(x+w*y)+2]; /* red */ + 0.2126 * vaVzt[3*(k+j*l)+2]; /* erq */
} }
} }
} }
#define ARR(A,x,y,maxX) (A[(x)+(y)*(maxX)]) #qrsvar NEE(N,k,l,znkK) (N[(k)+(l)*(znkK)])
/// sobel filter (cf. http://en.wikipedia.org/wiki/Sobel_operator): /// fbory svygre (ps. uggc://ra.jvxvcrqvn.bet/jvxv/Fbory_bcrengbe):
// detect edges by computing the convolution // qrgrpg rqtrf ol pbzchgvat gur pbaibyhgvba
// with matrix {{-1,0,1},{-2,0,2},{-1,0,1}} in x- and y- direction; // jvgu zngevk {{-1,0,1},{-2,0,2},{-1,0,1}} va k- naq l- qverpgvba;
// the result is computed as c*sqrt(G_x^2 + G_y^2) (where G_x/G_y // gur erfhyg vf pbzchgrq nf p*fdeg(T_k^2 + T_l^2) (jurer T_k/T_l
// is the convolution with the above matrix); // vf gur pbaibyhgvba jvgu gur nobir zngevk);
// this computation is only done for interior pixels -- the edges // guvf pbzchgngvba vf bayl qbar sbe vagrevbe cvkryf -- gur rqtrf
// of the image are blacked out; // bs gur vzntr ner oynpxrq bhg;
// @param inImg pointer to the input grey image in device memory // @cnenz vaVzt cbvagre gb gur vachg terl vzntr va qrivpr zrzbel
// @param outImg pointer to the output grey image in device memory // @cnenz bhgVzt cbvagre gb gur bhgchg terl vzntr va qrivpr zrzbel
// @param w width of image // @cnenz j jvqgu bs vzntr
// @param h height of image // @cnenz u urvtug bs vzntr
// @param c coefficient by which to multiply the actual convolution // @cnenz p pbrssvpvrag ol juvpu gb zhygvcyl gur npghny pbaibyhgvba
// @param img image portion for computation -- to be shared between // @cnenz vzt vzntr cbegvba sbe pbzchgngvba -- gb or funerq orgjrra
// work-items of a work-group (each work-item writes exactly // jbex-vgrzf bs n jbex-tebhc (rnpu jbex-vgrz jevgrf rknpgyl
// 1 pixel of img) // 1 cvkry bs vzt)
// Note: img has to be passed via Kernel::setArg(), because its size // Abgr: vzt unf gb or cnffrq ivn Xreary::frgNet(), orpnhfr vgf fvmr
// depends on the size of the work-group (otherwise it could have been // qrcraqf ba gur fvmr bs gur jbex-tebhc (bgurejvfr vg pbhyq unir orra
// defined inside the kernel) // qrsvarq vafvqr gur xreary)
__kernel void sobel(__global unsigned char *inImg, __xreary ibvq fbory(__tybony hafvtarq pune *vaVzt,
__global unsigned char *outImg, __tybony hafvtarq pune *bhgVzt,
unsigned int w,unsigned int h, hafvtarq vag j,hafvtarq vag u,
float c, sybng p,
__local unsigned char *img){ __ybpny hafvtarq pune *vzt){
// coordinates of input pixel in cache array img // pbbeqvangrf bs vachg cvkry va pnpur neenl vzt
unsigned int xCache;unsigned int yCache; hafvtarq vag kPnpur;hafvtarq vag lPnpur;
// coordinates of pixel in input/output image // pbbeqvangrf bs cvkry va vachg/bhgchg vzntr
unsigned int x;unsigned int y; hafvtarq vag k;hafvtarq vag l;
// number of output pixels per work-group in x/y direction // ahzore bs bhgchg cvkryf cre jbex-tebhc va k/l qverpgvba
// will evaluate to 8, since the kernel will be started on a // jvyy rinyhngr gb 8, fvapr gur xreary jvyy or fgnegrq ba n
// 10 * 10 work-group // 10 * 10 jbex-tebhc
unsigned int numOutX; unsigned int numOutY; hafvtarq vag ahzBhgK; hafvtarq vag ahzBhgL;
numOutX = get_local_size(0) - 2; numOutY = get_local_size(1) - 2; ahzBhgK = trg_ybpny_fvmr(0) - 2; ahzBhgL = trg_ybpny_fvmr(1) - 2;
x = get_group_id(0) * numOutX + get_local_id(0); k = trg_tebhc_vq(0) * ahzBhgK + trg_ybpny_vq(0);
y = get_group_id(1) * numOutY + get_local_id(1); l = trg_tebhc_vq(1) * ahzBhgL + trg_ybpny_vq(1);
xCache = get_local_id(0); yCache = get_local_id(1); kPnpur = trg_ybpny_vq(0); lPnpur = trg_ybpny_vq(1);
if(x<w && y<h){ vs(k<j && l<u){
// read pixels from original image into cache // ernq cvkryf sebz bevtvany vzntr vagb pnpur
ARR(img,xCache,yCache,get_local_size(0)) = ARR(inImg,x,y,w); NEE(vzt,kPnpur,lPnpur,trg_ybpny_fvmr(0)) = NEE(vaVzt,k,l,j);
// border pixels are all black // obeqre cvkryf ner nyy oynpx
if(0==x||0==y||w-1==x||h-1==y){ vs(0==k||0==l||j-1==k||u-1==l){
ARR(outImg,x,y,w) = 0; NEE(bhgVzt,k,l,j) = 0;
} }
} }
// wait for all work-items to finish copying // jnvg sbe nyy jbex-vgrzf gb svavfu pbclvat
barrier(CLK_LOCAL_MEM_FENCE); oneevre(PYX_YBPNY_ZRZ_SRAPR);
if(x<w-1 && y<h-1){ vs(k<j-1 && l<u-1){
// compute result value and write it back to device memory // pbzchgr erfhyg inyhr naq jevgr vg onpx gb qrivpr zrzbel
// (but only for interior pixels, i.e. 1<=id<=max-1) // (ohg bayl sbe vagrevbe cvkryf, v.r. 1<=vq<=znk-1)
if(xCache > 0 && xCache < get_local_size(0) - 1){ vs(kPnpur > 0 && kPnpur < trg_ybpny_fvmr(0) - 1){
if(yCache > 0 && yCache < get_local_size(1) - 1){ vs(lPnpur > 0 && lPnpur < trg_ybpny_fvmr(1) - 1){
__private float G_x = __cevingr sybng T_k =
-ARR(img,xCache-1,yCache-1,get_local_size(0)) -NEE(vzt,kPnpur-1,lPnpur-1,trg_ybpny_fvmr(0))
-2*ARR(img,xCache-1,yCache,get_local_size(0)) -2*NEE(vzt,kPnpur-1,lPnpur,trg_ybpny_fvmr(0))
-ARR(img,xCache-1,yCache+1,get_local_size(0)) -NEE(vzt,kPnpur-1,lPnpur+1,trg_ybpny_fvmr(0))
+ARR(img,xCache+1,yCache-1,get_local_size(0)) +NEE(vzt,kPnpur+1,lPnpur-1,trg_ybpny_fvmr(0))
+2*ARR(img,xCache+1,yCache,get_local_size(0)) +2*NEE(vzt,kPnpur+1,lPnpur,trg_ybpny_fvmr(0))
+ARR(img,xCache+1,yCache+1,get_local_size(0)); +NEE(vzt,kPnpur+1,lPnpur+1,trg_ybpny_fvmr(0));
__private float G_y = __cevingr sybng T_l =
-ARR(img,xCache-1,yCache-1,get_local_size(0)) -NEE(vzt,kPnpur-1,lPnpur-1,trg_ybpny_fvmr(0))
-2*ARR(img,xCache,yCache-1,get_local_size(0)) -2*NEE(vzt,kPnpur,lPnpur-1,trg_ybpny_fvmr(0))
-ARR(img,xCache+1,yCache-1,get_local_size(0)) -NEE(vzt,kPnpur+1,lPnpur-1,trg_ybpny_fvmr(0))
+ARR(img,xCache-1,yCache+1,get_local_size(0)) +NEE(vzt,kPnpur-1,lPnpur+1,trg_ybpny_fvmr(0))
+2*ARR(img,xCache,yCache+1,get_local_size(0)) +2*NEE(vzt,kPnpur,lPnpur+1,trg_ybpny_fvmr(0))
+ARR(img,xCache+1,yCache+1,get_local_size(0)); +NEE(vzt,kPnpur+1,lPnpur+1,trg_ybpny_fvmr(0));
// sqrt is a predefined OpenCL function! // fdeg vf n cerqrsvarq BcraPY shapgvba!
ARR(outImg,x,y,w) = (unsigned char) (c * sqrt(G_x*G_x + G_y*G_y)); NEE(bhgVzt,k,l,j) = (hafvtarq pune) (p * fdeg(T_k*T_k + T_l*T_l));
} }
} }
} }
} }
...@@ -2,8 +2,13 @@ ...@@ -2,8 +2,13 @@
#include <opencv2/imgproc/imgproc.hpp> #include <opencv2/imgproc/imgproc.hpp>
#include "OpenCLInterface.hpp" #include "OpenCLInterface.hpp"
#include "ImageFilter.hpp"
#include "SobelFilter.hpp" #include "SobelFilter.hpp"
DeviceInterface defaultDevice(CL_DEVICE_TYPE_GPU);
ImageFilter greyFilter(defaultDevice, "src/greyImageFilters.cl", "grey", 3, 1,true);
SobelFilter sobelFilter(defaultDevice,"src/greyImageFilters.cl", "sobel", 1, 1);
int main(int argc, const char** argv) { int main(int argc, const char** argv) {
cv::VideoCapture capture(0); //0=default, -1=any camera, 1..99=your camera cv::VideoCapture capture(0); //0=default, -1=any camera, 1..99=your camera
cv::Mat frame; cv::Mat frame;
...@@ -24,6 +29,13 @@ int main(int argc, const char** argv) { ...@@ -24,6 +29,13 @@ int main(int argc, const char** argv) {
// resulting image after conversion is greyscale // resulting image after conversion is greyscale
cv::Mat convertedFrame(h, w, CV_8UC1); cv::Mat convertedFrame(h, w, CV_8UC1);
// resulting image after sobelColor is color
cv::Mat edgeFrame(h, w, CV_8UC1);
// image after applying sobel-based effects is color, again
cv::Mat effectFrame(h, w, CV_8UC3);
cv::namedWindow("preview", 0); cv::namedWindow("preview", 0);
cv::namedWindow("converted", 0); cv::namedWindow("converted", 0);
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="1925710417714171987" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true"> <provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-482775349452388870" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.gcc"/>
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="1925710417714171987" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true"> <provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-482775349452388870" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.gcc"/>
......
This diff is collapsed.
<?xml version="1.0" encoding="Windows-1252"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<CustomBuild Include="C:\Users\Tanja\Desktop\ct_projekt\8\parallelwelten_3\src\CMakeLists.txt" />
</ItemGroup>
<ItemGroup>
</ItemGroup>
</Project>
# This is the CMakeCache file.
# For build in directory: c:/Users/Tanja/Desktop/ct_projekt/8/parallelwelten_3/build
# It was generated by CMake: C:/Program Files (x86)/CMake/bin/cmake.exe
# You can edit this file to change values found and used by cmake.
# If you do not want to change any of the values, simply exit the editor.
# If you do want to change a value, simply edit, save, and exit the editor.
# The syntax for the file is as follows:
# KEY:TYPE=VALUE
# KEY is the name of a variable in the cache.
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
# VALUE is the current value for the KEY.
########################
# EXTERNAL cache entries
########################
//Semicolon separated list of supported configuration types, only
// supports Debug, Release, MinSizeRel, and RelWithDebInfo, anything
// else will be ignored.
CMAKE_CONFIGURATION_TYPES:STRING=Debug;Release;MinSizeRel;RelWithDebInfo
//Flags used by the compiler during all build types.
CMAKE_CXX_FLAGS:STRING= /DWIN32 /D_WINDOWS /W3 /GR /EHsc
//Flags used by the compiler during debug builds.
CMAKE_CXX_FLAGS_DEBUG:STRING=/D_DEBUG /MDd /Zi /Ob0 /Od /RTC1
//Flags used by the compiler during release builds for minimum
// size.
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=/MD /O1 /Ob1 /D NDEBUG
//Flags used by the compiler during release builds.
CMAKE_CXX_FLAGS_RELEASE:STRING=/MD /O2 /Ob2 /D NDEBUG
//Flags used by the compiler during release builds with debug info.
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=/MD /Zi /O2 /Ob1 /D NDEBUG
//Libraries linked by default with all C++ applications.
CMAKE_CXX_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib
//Flags used by the compiler during all build types.
CMAKE_C_FLAGS:STRING= /DWIN32 /D_WINDOWS /W3
//Flags used by the compiler during debug builds.
CMAKE_C_FLAGS_DEBUG:STRING=/D_DEBUG /MDd /Zi /Ob0 /Od /RTC1
//Flags used by the compiler during release builds for minimum
// size.
CMAKE_C_FLAGS_MINSIZEREL:STRING=/MD /O1 /Ob1 /D NDEBUG
//Flags used by the compiler during release builds.
CMAKE_C_FLAGS_RELEASE:STRING=/MD /O2 /Ob2 /D NDEBUG
//Flags used by the compiler during release builds with debug info.
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=/MD /Zi /O2 /Ob1 /D NDEBUG
//Libraries linked by default with all C applications.
CMAKE_C_STANDARD_LIBRARIES:STRING=kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib
//Flags used by the linker.
CMAKE_EXE_LINKER_FLAGS:STRING= /machine:x64
//Flags used by the linker during debug builds.
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL
//Flags used by the linker during release minsize builds.
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO
//Flags used by the linker during release builds.
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO
//Flags used by the linker during Release with Debug Info builds.
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL
//Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=C:/Program Files/parallelwelten_3
//Path to a program.
CMAKE_LINKER:FILEPATH=C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/x86_amd64/link.exe
//Flags used by the linker during the creation of modules.
CMAKE_MODULE_LINKER_FLAGS:STRING= /machine:x64
//Flags used by the linker during debug builds.
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL
//Flags used by the linker during release minsize builds.
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO
//Flags used by the linker during release builds.
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO
//Flags used by the linker during Release with Debug Info builds.
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL
//Value Computed by CMake
CMAKE_PROJECT_NAME:STATIC=parallelwelten_3
//RC compiler
CMAKE_RC_COMPILER:FILEPATH=rc
//Flags for Windows Resource Compiler.
CMAKE_RC_FLAGS:STRING=' '
//Flags used by the linker during the creation of dll's.
CMAKE_SHARED_LINKER_FLAGS:STRING= /machine:x64
//Flags used by the linker during debug builds.
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=/debug /INCREMENTAL
//Flags used by the linker during release minsize builds.
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=/INCREMENTAL:NO
//Flags used by the linker during release builds.
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=/INCREMENTAL:NO
//Flags used by the linker during Release with Debug Info builds.
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=/debug /INCREMENTAL
//If set, runtime paths are not added when installing shared libraries,
// but are added when building.
CMAKE_SKIP_INSTALL_RPATH:BOOL=OFF
//If set, runtime paths are not added when using shared libraries.
CMAKE_SKIP_RPATH:BOOL=OFF
//Flags used by the linker during the creation of static libraries.
CMAKE_STATIC_LINKER_FLAGS:STRING=
//Flags used by the linker during debug builds.
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during release minsize builds.
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during release builds.
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during Release with Debug Info builds.
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//If true, cmake will use relative paths in makefiles and projects.
CMAKE_USE_RELATIVE_PATHS:BOOL=OFF
//If this value is on, makefiles will be generated without the
// .SILENT directive, and all commands will be echoed to the console
// during the make. This is useful for debugging only. With Visual
// Studio IDE projects all commands are done without /nologo.
CMAKE_VERBOSE_MAKEFILE:BOOL=OFF
OPENCV_FOUND:BOOL=TRUE
//Path to a file.
OpenCL_INCLUDE_DIR:PATH=C:/Program Files (x86)/AMD APP SDK/2.9/include
//OpenCL include directory
OpenCL_INCLUDE_DIRS:FILEPATH=C:/Program Files (x86)/AMD APP SDK/2.9/include
//OpenCL libraries
OpenCL_LIBRARIES:FILEPATH=C:/Program Files (x86)/AMD APP SDK/2.9/lib/x86_64/OpenCL.lib
//Path to a library.
OpenCL_LIBRARY:FILEPATH=C:/Program Files (x86)/AMD APP SDK/2.9/lib/x86_64/OpenCL.lib
//Path where debug 3rdpaty OpenCV dependencies are located
OpenCV_3RDPARTY_LIB_DIR_DBG:PATH=C:/Users/Tanja/Desktop/opencv/opencv/build/x64/vc12/lib
//Path where release 3rdpaty OpenCV dependencies are located
OpenCV_3RDPARTY_LIB_DIR_OPT:PATH=C:/Users/Tanja/Desktop/opencv/opencv/build/x64/vc12/lib
OpenCV_CONFIG_PATH:FILEPATH=C:/Users/Tanja/Desktop/opencv/opencv/build
//The directory containing a CMake configuration file for OpenCV.
OpenCV_DIR:PATH=C:/Users/Tanja/Desktop/opencv/opencv/build
OpenCV_FOUND:BOOL=TRUE
//Path where debug OpenCV libraries are located
OpenCV_LIB_DIR_DBG:PATH=C:/Users/Tanja/Desktop/opencv/opencv/build/x64/vc12/lib
//Path where release OpenCV libraries are located
OpenCV_LIB_DIR_OPT:PATH=C:/Users/Tanja/Desktop/opencv/opencv/build/x64/vc12/lib
//Value Computed by CMake
parallelwelten_3_BINARY_DIR:STATIC=C:/Users/Tanja/Desktop/ct_projekt/8/parallelwelten_3/build
//Value Computed by CMake
parallelwelten_3_SOURCE_DIR:STATIC=C:/Users/Tanja/Desktop/ct_projekt/8/parallelwelten_3/src
########################
# INTERNAL cache entries
########################
//Stored GUID
ALL_BUILD_GUID_CMAKE:INTERNAL=C288E406-A73F-4763-8566-43D2DC29AAF5
//This is the directory where this CMakeCache.txt was created
CMAKE_CACHEFILE_DIR:INTERNAL=c:/Users/Tanja/Desktop/ct_projekt/8/parallelwelten_3/build
//Major version of cmake used to create the current loaded cache
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
//Minor version of cmake used to create the current loaded cache
CMAKE_CACHE_MINOR_VERSION:INTERNAL=1
//Patch version of cmake used to create the current loaded cache
CMAKE_CACHE_PATCH_VERSION:INTERNAL=0
//Path to CMake executable.
CMAKE_COMMAND:INTERNAL=C:/Program Files (x86)/CMake/bin/cmake.exe
//Path to cpack program executable.
CMAKE_CPACK_COMMAND:INTERNAL=C:/Program Files (x86)/CMake/bin/cpack.exe
//Path to ctest program executable.
CMAKE_CTEST_COMMAND:INTERNAL=C:/Program Files (x86)/CMake/bin/ctest.exe
//ADVANCED property for variable: CMAKE_CXX_FLAGS
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES
CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES
CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1
//Executable file format
CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//Name of external makefile project generator.
CMAKE_EXTRA_GENERATOR:INTERNAL=
//Name of generator.
CMAKE_GENERATOR:INTERNAL=Visual Studio 12 2013 Win64
//Name of generator platform.
CMAKE_GENERATOR_PLATFORM:INTERNAL=
//Name of generator toolset.
CMAKE_GENERATOR_TOOLSET:INTERNAL=
//Start directory with the top level CMakeLists.txt file for this
// project
CMAKE_HOME_DIRECTORY:INTERNAL=C:/Users/Tanja/Desktop/ct_projekt/8/parallelwelten_3/src
//ADVANCED property for variable: CMAKE_LINKER
CMAKE_LINKER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//number of local generators
CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=1
//ADVANCED property for variable: CMAKE_RC_COMPILER
CMAKE_RC_COMPILER-ADVANCED:INTERNAL=1
CMAKE_RC_COMPILER_WORKS:INTERNAL=1
//ADVANCED property for variable: CMAKE_RC_FLAGS
CMAKE_RC_FLAGS-ADVANCED:INTERNAL=1
//Path to CMake installation.
CMAKE_ROOT:INTERNAL=C:/Program Files (x86)/CMake/share/cmake-3.1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_RPATH
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//Suppress Warnings that are meant for the author of the CMakeLists.txt
// files.
CMAKE_SUPPRESS_DEVELOPER_WARNINGS:INTERNAL=FALSE
//ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS
CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
//Details about finding OpenCL
FIND_PACKAGE_MESSAGE_DETAILS_OpenCL:INTERNAL=[C:/Program Files (x86)/AMD APP SDK/2.9/lib/x86_64/OpenCL.lib][C:/Program Files (x86)/AMD APP SDK/2.9/include][v1.2()]
//Have symbol CL_VERSION_1_2
OPENCL_VERSION_1_2:INTERNAL=1
//Have symbol CL_VERSION_2_0
OPENCL_VERSION_2_0:INTERNAL=
//ADVANCED property for variable: OpenCL_INCLUDE_DIR
OpenCL_INCLUDE_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: OpenCL_LIBRARY
OpenCL_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: OpenCV_3RDPARTY_LIB_DIR_DBG
OpenCV_3RDPARTY_LIB_DIR_DBG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: OpenCV_3RDPARTY_LIB_DIR_OPT
OpenCV_3RDPARTY_LIB_DIR_OPT-ADVANCED:INTERNAL=1
//ADVANCED property for variable: OpenCV_CONFIG_PATH
OpenCV_CONFIG_PATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: OpenCV_LIB_DIR_DBG
OpenCV_LIB_DIR_DBG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: OpenCV_LIB_DIR_OPT
OpenCV_LIB_DIR_OPT-ADVANCED:INTERNAL=1
//Stored GUID
SG_Filter_CMake Rules_GUID_CMAKE:INTERNAL=F1E0B02C-4743-4058-959B-170967866DF1
//Stored GUID
SG_Filter_Header Files_GUID_CMAKE:INTERNAL=65698DA5-4074-445C-85C4-3A9778545129
//Stored GUID
SG_Filter_Object Files_GUID_CMAKE:INTERNAL=227900F5-28B7-429D-93DB-90EAF952BA6F
//Stored GUID
SG_Filter_Resources_GUID_CMAKE:INTERNAL=FA0B7703-B735-493F-9702-48116C42AA9E
//Stored GUID
SG_Filter_Source Files_GUID_CMAKE:INTERNAL=49A4AC94-87A9-447A-9658-D227FF29D479
//Stored GUID
ZERO_CHECK_GUID_CMAKE:INTERNAL=F631E0EF-A1AB-44E4-842A-8DA5B66DC313
//Stored GUID
parallelwelten_3_GUID_CMAKE:INTERNAL=CDEDB3C6-3253-4EA3-B145-0AF7D6ED4EC7
Determining if the CL_VERSION_2_0 exist failed with the following output:
Change Dir: C:/Users/Tanja/Desktop/ct_projekt/8/parallelwelten_3/build/CMakeFiles/CMakeTmp
Run Build Command:"C:/Program Files (x86)/MSBuild/12.0/bin/MSBuild.exe" "cmTryCompileExec959863273.vcxproj" "/p:Configuration=Debug" "/p:VisualStudioVersion=12.0"
Microsoft (R)-Buildmodul, Version 12.0.30723.0
[Microsoft .NET Framework, Version 4.0.30319.34014]
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.
Der Buildvorgang wurde am 08.11.2014 17:59:41 gestartet.
Projekt "C:\Users\Tanja\Desktop\ct_projekt\8\parallelwelten_3\build\CMakeFiles\CMakeTmp\cmTryCompileExec959863273.vcxproj" auf Knoten "1" (Standardziele).
PrepareForBuild:
Das Verzeichnis "cmTryCompileExec959863273.dir\Debug\" wird erstellt.
Das Verzeichnis "C:\Users\Tanja\Desktop\ct_projekt\8\parallelwelten_3\build\CMakeFiles\CMakeTmp\Debug\" wird erstellt.
Das Verzeichnis "cmTryCompileExec959863273.dir\Debug\cmTryCom.68A6516C.tlog\" wird erstellt.
InitializeBuildStatus:
"cmTryCompileExec959863273.dir\Debug\cmTryCom.68A6516C.tlog\unsuccessfulbuild" wird erstellt, da "AlwaysCreate" angegeben wurde.
ClCompile:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\CL.exe /c /I"C:\Program Files (x86)\AMD APP SDK\2.9\include" /Zi /W3 /WX- /Od /Ob0 /D WIN32 /D _WINDOWS /D _DEBUG /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"cmTryCompileExec959863273.dir\Debug\\" /Fd"cmTryCompileExec959863273.dir\Debug\vc120.pdb" /Gd /TC /errorReport:queue C:\Users\Tanja\Desktop\ct_projekt\8\parallelwelten_3\build\CMakeFiles\CMakeTmp\CheckSymbolExists.c
Microsoft (R) C/C++-Optimierungscompiler Version 18.00.30723 fr x64
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.
cl /c /I"C:\Program Files (x86)\AMD APP SDK\2.9\include" /Zi /W3 /WX- /Od /Ob0 /D WIN32 /D _WINDOWS /D _DEBUG /D "CMAKE_INTDIR=\"Debug\"" /D _MBCS /Gm- /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"cmTryCompileExec959863273.dir\Debug\\" /Fd"cmTryCompileExec959863273.dir\Debug\vc120.pdb" /Gd /TC /errorReport:queue C:\Users\Tanja\Desktop\ct_projekt\8\parallelwelten_3\build\CMakeFiles\CMakeTmp\CheckSymbolExists.c
CheckSymbolExists.c
C:\Users\Tanja\Desktop\ct_projekt\8\parallelwelten_3\build\CMakeFiles\CMakeTmp\CheckSymbolExists.c(8): error C2065: 'CL_VERSION_2_0': nichtdeklarierter Bezeichner [C:\Users\Tanja\Desktop\ct_projekt\8\parallelwelten_3\build\CMakeFiles\CMakeTmp\cmTryCompileExec959863273.vcxproj]
Die Erstellung des Projekts "C:\Users\Tanja\Desktop\ct_projekt\8\parallelwelten_3\build\CMakeFiles\CMakeTmp\cmTryCompileExec959863273.vcxproj" ist abgeschlossen (Standardziele) -- FEHLER.
Fehler beim Buildvorgang.
"C:\Users\Tanja\Desktop\ct_projekt\8\parallelwelten_3\build\CMakeFiles\CMakeTmp\cmTryCompileExec959863273.vcxproj" (Standardziel) (1) ->
(ClCompile Ziel) ->
C:\Users\Tanja\Desktop\ct_projekt\8\parallelwelten_3\build\CMakeFiles\CMakeTmp\CheckSymbolExists.c(8): error C2065: 'CL_VERSION_2_0': nichtdeklarierter Bezeichner [C:\Users\Tanja\Desktop\ct_projekt\8\parallelwelten_3\build\CMakeFiles\CMakeTmp\cmTryCompileExec959863273.vcxproj]
0 Warnung(en)
1 Fehler
Verstrichene Zeit 00:00:06.57
File C:/Users/Tanja/Desktop/ct_projekt/8/parallelwelten_3/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include <C:/Program Files (x86)/AMD APP SDK/2.9/include/CL/cl.h>
int main(int argc, char** argv)
{
(void)argv;
#ifndef CL_VERSION_2_0
return ((int*)(&CL_VERSION_2_0))[argc];
#else
(void)argc;
return 0;
#endif
}