#include #include #include "DKSBase.h" using namespace std; int main(int argc, char *argv[]) { int ierr,n, N; if (argc > 1) n = atoi(argv[1]); else n = 10; N = 2 << n; cout << "Elements: " << N << endl; double *data = new double[N]; for (int i = 0; i < N; i++) data[i] = (double)i / N; DKSBase base = DKSBase(); base.setAPI("OpenCL", 6); base.setDevice("-gpu", 4); base.initDevice(); void *ptr1; ptr1 = base.allocateMemory(N, ierr); ierr = base.writeData(ptr1, data, N); void *ptr2; ptr2 = base.allocateMemory(N, ierr); ierr = base.writeData(ptr2, data, N); void *ptr3; ptr3 = base.allocateMemory(N, ierr); ierr = base.writeData(ptr3, data, N); void *ptr4; ptr4 = base.allocateMemory(N, ierr); ierr = base.writeData(ptr4, data, N); void *ptr5; ptr5 = base.allocateMemory(N, ierr); ierr = base.writeData(ptr5, data, N); void *ptr6; ptr6 = base.allocateMemory(N, ierr); ierr = base.writeData(ptr6, data, N); void *ptr7; ptr7 = base.allocateMemory(N, ierr); ierr = base.writeData(ptr7, data, N); void *ptr8; ptr8 = base.allocateMemory(N, ierr); ierr = base.writeData(ptr8, data, N); base.freeMemory(ptr1, N); base.freeMemory(ptr2, N); base.freeMemory(ptr3, N); base.freeMemory(ptr4, N); base.freeMemory(ptr5, N); base.freeMemory(ptr6, N); base.freeMemory(ptr7, N); base.freeMemory(ptr8, N); return 0; }