|
|
Другие темы раздела | |
OpenMP Перемножения матриц с OpenMP дольше чем... Здравствуйте! Написал 2 программы перемножения матриц, одну с использованием OpenMP, другую - просто. 2 матрицы 1000х1000 с использованием OpenMP высчитываются дольше. Процессор Intel Atom N570, поддержка OpenMP в проекте включена. Собственно, вопрос: почему дольше и что не так сделал? #include "stdafx.h" #include <iostream> #include <ctime> #include <clocale> #include <omp.h> https://www.cyberforum.ru/ openmp/ thread561436.html |
OpenMP Вычисление интеграла с применением OpenMP Всем доброе утро. Написала программу вычисления интеграла с применением OpenMP, но она выдаёт ошибку, ошибку выдаёт при запуске консоли, я не понимаю почему????:wall::gcray: Ошибка такого содержания, типа: "Запуск программы невозможен, т. к. на компьютере отсутствует библиотека vcompd.dll. Попробуйте переустановить программу" И ещё не могу присвоить количество потоков для... |
OpenMP Умножение матриц с использованием OpenMP
https://www.cyberforum.ru/ openmp/ thread537193.html Здрасте. Есть следующая задача. Нужно реализировать умножение двух квадратных матриц с использованием OpenMP. Без него все пашет нормально, но вот когда использовать его, то нельзя изменять счетчик в теле цыкла. Долго копался в коде но не смог сделать. Вот мой код умножения, если можно переделать именно его для использования OpenMP буду очень признателен) int** Multipl(int** matr1, int**... |
OpenMP Литература по OpenMP для C++ Доброе время суток! Посоветуйте, пожалуйста, хрошую литературу по OpenMP для C++, eng/rus. Спасибо. https://www.cyberforum.ru/ openmp/ thread508488.html |
OpenMP Вопросы по OpenMP Всем доброго времени суток! 1. Заметил, что потоки создаваемые в цикле for так и висят в диспетчере задач Windows до завершения работы программы. Как то их самому убить возможно? Цикл я использую так: #pragma omp parallel for for (Index i = 0; i < countThreads; i++) { func(i); } |
OpenMP Как завершить цикл в OpenMP
https://www.cyberforum.ru/ openmp/ thread393883.html Использую OpenMP для параллельных расчетов очень нужно при определенном условии экстренно завершить цикл break; с OpenMP не работает можно ли как то завершить цикл не дожидаясь его окончания ?? |
OpenMP Выбор всех ненулевых элементов двумерного массива в третий
https://www.cyberforum.ru/ openmp/ thread365885.html Помогите/подскажите как реализовать такое "Выбор всех ненулевых элементов двумерного массива в третий." З.Ы. это нужно делать с помощью нитей и распараллеливания..заранее спасибо |
Параллельные запросы к MySQL с использованием OpenMP. OpenMP Здравствуйте. Помогите пожалуйста разобраться. Программа посылает запросы к базе данных (субд MySQL), нужно их распараллелить. Сначала идут некоторые вычисления, подключение к MySQL, собственно кусок, который нужно распараллелить, чтобы одновременно выполнялись несколько запросов: for (int je = 0; je < j; je++) { for (int iks = 8; iks < 18; iks++) { #pragma omp parallel for ... |
OpenMP OpenMP, создание потоков В инете нашел много примеров по распараллеливание циклов, но никак не могу понять, как просто написать чтобы конкретная функция выполнялась в отдельном потоке? int main() { #pragma omp parallel { start_log("gsd", 34, "link", "proj"); } #pragma omp parallel { https://www.cyberforum.ru/ openmp/ thread162552.html | OpenMP Распараллелить несколько разных процедур с помощью OpenMP Требуется распараллелить несколько разных процедур с помощью OpenMP 3.0 в gcc 4.5. Но проблема в том, что одна из функций обязательно должна выполняться в главном треде под номером 0. Логично использовать #pragma оmp parallel sections Но выбор исполняющего треда для секции не определен и нужная процедура постоянно исполняется в новом треде. Вопрос в том как правильно решить эту проблему? ... https://www.cyberforum.ru/ openmp/ thread161128.html |
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
|
||||||
06.05.2012, 18:31 | 0 | |||||
Распараллеливание с помощью OpenMP - OpenMP - Ответ 299810506.05.2012, 18:31. Показов 17737. Ответов 41
Метки (Все метки)
Ответ
Здесь все нити работают с одной и той же переменной g, изменяя её. Поэтому процессору надо постоянно синхронизировать значение этой переменной между ядрами. Промежуточные результаты стоить делать принадлежащими только одной нити, указав, например, private(g) в прагме. Переменные цикла по умолчанию приватные.
Но вообще пример не очень хороший, так как оптимизатор может его сильно изменить в зависимости от режима компиляции. Предлагаю несколько модифицировать и сравнить быстродействие и результат на таком коде:
Вернуться к обсуждению: Распараллеливание с помощью OpenMP OpenMP
1
|
06.05.2012, 18:31 | |
Готовые ответы и решения:
41
Как выполнить распараллеливание с помощью OpenMP Распараллеливание циклов с использованием OpenMP C++ Работа с OpenMP. Распараллеливание цикла for Распараллеливание цикла For с использованием OpenMP |
06.05.2012, 18:31 | |
06.05.2012, 18:31 | |
Помогаю со студенческими работами здесь
0
Распараллеливание циклов с ипользованием OpenMP Распараллеливание вычисления интеграла используя редукции (OpenMP) Для распараллеливание процессов лучше пользоваться OpenMP или Win32? OpenMP. Время выполнения программы больше чем без OpenMP |