How to set CMake for OpenCV

WITH_EIGEN: Eigen3 라이브러리 사용 여부 이 플래그는 Eigen3-OpenCV 상호 운용성 기능을 사용할 수 있게 만드는 것 외에는 아무 것도 수행하지 않는다. 심지어 cv::Mat::inv()조차도 OpenCV 자체 알고리즘을 사용한다. 따라서 OpenCV 빌드를 위해 굳이 이 옵션을 사용할…

A weird problem when using CUDA

다음은 CUDA by Example 책의 p.67에 있는 예제를 기반으로 작성한 코드이다. #include <iostream> using namespace std; #include <cuda.h> #include <cuda_runtime.h> __global__ void Add( int* a, int* b, int* c, int N ) { int idx…

Conflict problem between Cuda and Maya

Maya는 MTypes.h에 short2, short3, long2, long3, int2, int3, float2, float3, double2, double3, double4 등의 자료형을 정의하여 사용한다. 용감하게도 어떠한 prefix나 namespace도 사용하지 않는다. Cuda는 vector_types.h에 int2, int3, float2, float3 등의 자료형을 정의하여 사용한다. Cuda 또한…

CUDA error: identifier “atomicAdd” is undefined

컴파일시 error: identifier “atomicAdd” is undefined와 같은 에러가 발생한다면 다음과 같이 GPU architecture 옵션을 주면 된다. Windows Visual Studio: 속성 -> CUDA Runtime API -> GPU 에서 GPU Architecture (1)에서 sm_20으로 설정 Linux: nvcc에서 -arch…