다음은 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 = threadIdx.x + blockIdx.x * blockDim.x; while( idx < N ) { c[idx] = a[idx] + b[idx]; idx += blockDim.x
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 또한 용감하게도 어떠한 prefix나 namespace소 사용하지 않는다. Maya plug-in에서 사용하는 헤더파일(.h)에서 #include <cuda_runtime.h> 이나 #include <vector_types.h> 을 해주면 자연스럽게 충돌이 일어난다.