Прагма библиотеки omp C++ дляC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Прагма библиотеки omp C++ для

Сообщение Anonymous »


I have this code, but I need help to use OpenMP #pragmas to increase its speed. I want to parallelize the for loops over variables i and j. The values of n and m can be much larger, too. For example, n = 1000, m = 500.

My code:
for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { matrix[j] = {static_cast(distribution(gen)), static_cast(distribution(gen))}; } } #pragma omp parallel { n = 50; m=50; ReS=0; ImS=0; for(int nu = 0; nu < 1; nu++) { #pragma omp for num_threads(4) for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { double* matrixPtr = &matrix[j].first; double* matrixPtrSecond = &matrix[j].second; for (double theta = 0; theta < PI; theta += theta_plus) { for (double phi = 0; phi < 2 * PI; phi += theta_plus) { double angle = *matrixPtr * cos(phi) * sin(theta) + *matrixPtrSecond * sin(phi) * sin(theta); ReS += cos(angle); ImS += sin(angle); } } } } } }

Источник: https://stackoverflow.com/questions/781 ... pragma-for
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»