error C4996 : 'cl::vector< , >': was declared deprecated

cl::vector는 1.2버전 이후 제공되지 않는다는 카더라가 있다.
이를 std::vector로 대체해도 아무런 문제가 없으며, 
std::vector가 cl::vector보다 더 좋은 기능을 가졌다고 카더라.
아마 올드한 예제를 보면 다음과 같은 코드가 사용되는데,

#define __NO_STD_VECTOR
#define __CL_ENABLE_EXCEPTIONS
#include
#include
#include
#include
#include

int main() {

const int elements = 1024;

int *A = new int[elements];
int *B = new int[elements];
int *C = new int[elements];
int *D = new int[elements];

for (int i = 0; i < elements; i++) {
A[i] = i;
B[i] = i;
}

////////////////////////////////////////////////////////////////////////////
try{
clock_t ti = clock();
cl::vector platforms;
cl::Platform::get(&platforms);

cl::vector devices;
platforms[0].getDevices(CL_DEVICE_TYPE_GPU, &devices);

cl::Context context(devices);
cl::CommandQueue queue(context, devices[0]);

#define __NO_STD_VECTOR 그 줄 지우고,
cl::vector를 std::vector로 대체하면 될 것 같다.




덧글

댓글 입력 영역