![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| крылья |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 24.3.2015 Репутация: нет Всего: нет |
Ребят хочу распараллелить перемножение матриц с помощью технологии OpenMP
перед циклами я добавил директиву "#pragma omp paralell private (j, k) " чтобы параллельно выполнялся.....пытаюсь запустить , пишет "требуется имя директивы" не могу понять что он хочет........ если я уберу дерективу то матрицы будут последовательно перемножаться, а если оставлю и будет работать то они перемножаться параллельно , и в дальнейшем я могу посмотреть время выполнения и оценить разницу))))) буду благодарен за помощь!!! [CPP] void MatricA::basic_parallel_algorithm(double *a, double *b, double *c) { long t1 = clock(); int Size = N; #pragma omp paralell for private (j, k) { for (i = 0; i < Size; i++) { for (j = 0; j < Size; j++) { for (k = 0; k < Size; k++) { c[i*Size + j] += a[i*Size + k] * b[k*Size + j]; } } } } long t2 = clock(); cout << "time--> " << t2 - t1 << endl; // вывод времени в миллисекундах } [/CPP] |
|||
|
||||
| rudolfninja |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 341 Регистрация: 19.2.2013 Где: г. Минск Репутация: 1 Всего: 6 |
Прочтите статью на хабре по этому поводу.
В частности раздел "Директива for". Должно помочь...надеюсь =) |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |