Files
DKS/test/testMIC.cpp
2016-10-10 14:49:32 +02:00

52 lines
1.0 KiB
C++

#include <iostream>
#include "DKSBase.h"
using namespace std;
int main() {
DKSBase base;
base.setAPI("OpenMP", 6);
base.initDevice();
//init data
int ierr;
int N = 8;
double *in_data = new double[N];
double *in_data2 = new double[N];
double *out_data = new double[N];
double *out_data2 = new double[N];
for (int i = 0; i < N; i++) {
in_data[i] = i;
in_data2[i] = i*i;
}
//test memory allocation, write and read operations
void *d_ptr, *d2_ptr;
d_ptr = base.allocateMemory<double>(N, ierr);
d2_ptr = base.allocateMemory<double>(N, ierr);
base.writeData<double>(d_ptr, in_data, N);
base.writeData<double>(d2_ptr, in_data2, N);
base.readData<double>(d_ptr, out_data, N);
base.readData<double>(d2_ptr, out_data2, N);
base.freeMemory<double>(d_ptr, N);
base.freeMemory<double>(d2_ptr, N);
//print results
for (int i = 0; i < N; i++)
cout << out_data[i] << "\t";
cout << endl;
for (int i = 0; i < N; i++)
cout << out_data2[i] << "\t";
cout << endl;
return 0;
}