2016-06-11 15 views
3

Ich möchte C++ und vectors verwenden. Ich hatte C-Code mit C-Arrays wie folgt erstellt:Wie schreibe ich "target data map" für std :: vector in OpenMP 4?

double* data = (double*)malloc(sizeof(double) * n); 
double* result = (double*)malloc(sizeof(double) * n); 

#pragma omp target data map(tofrom: data[0:n],result[0:n]) 
//loop 

Jetzt benutze ich C++ Vektor und ich bekomme:

example.cpp:31:41: error: expected variable name or an array item 
    #pragma omp target data map(tofrom: data[0:n],result[0:n]) 

Hier sagen sie OpenMP4 eingeführt benutzerdefinierte Reduzierungen. Aber haben Sie irgendwelche Analoga für Datenkarten?

Antwort

3

Sie können immer die Zeiger des zugrunde liegenden Speichers von std::vector abrufen und dann auf die gleiche Weise wie in Ihrem C-Code verwenden.