Обновить вектор с помощью openmp C ++ - PullRequest
0 голосов
/ 21 октября 2018

Я хотел бы обновить общий вектор в openmp, но проблема в том, что он очень медленный.Я хотел бы знать эффективный метод для копирования из памяти хоста в память устройства.Примерно так:

vector<int> v1(750000);
#pragma omp parallel shared (v1){
    #pragma omp for schedule (auto)
        for (int i = 0; i<v.size();i++)
        v[i]=i;
        //int x = vi[i] is faster;

}

Время: время выполнения параллельно с доступом v [i] = i: 6,84299 секунд

Время выполнения параллельно только с чтением v [i]: 0,0119577 секунд

Время выполнения операций ввода-вывода (другие операции с хранилищем DISK): 0,352074 секунды

Изменение массива в разделяемой памяти медленнее, чем при обращении к диску ...

...