Я хотел бы обновить общий вектор в 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 секунды
Изменение массива в разделяемой памяти медленнее, чем при обращении к диску ...