0 / 0 / 1
Регистрация: 23.11.2009
Сообщений: 61
|
|
1 | |
Распараллеливание05.07.2011, 23:34. Показов 25298. Ответов 21
Метки нет (Все метки)
Всем добрый вечер.
Если кто знает подскажите,мне надо распараллелить перемножение матриц,преподаватель сказал,что это делается просто с помощью одной строчке в коде,как я поняла это какая то функция,не подскажите?
0
|
05.07.2011, 23:34 | |
Ответы с готовыми решениями:
21
Распараллеливание распараллеливание Распараллеливание циклов Распараллеливание вычислений |
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
06.07.2011, 00:02 | 2 |
В стандартном С++ нет параллельных процессов.
0
|
Jupiter
|
06.07.2011, 00:05
#3
|
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
06.07.2011, 00:10 | 4 |
Ну, в Qt - тоже есть.
Но не понятно, что препод имел ввиду - одна строчка текста... О_о
0
|
342 / 306 / 36
Регистрация: 16.06.2009
Сообщений: 486
|
|||||||||||
06.07.2011, 00:11 | 5 | ||||||||||
Сообщение было отмечено как решение
Решение
sever1313,
Средствами OpenMP можно так..:
Не забудьте подключить <omp.h>
4
|
0 / 0 / 1
Регистрация: 23.11.2009
Сообщений: 61
|
||||||
06.07.2011, 00:59 [ТС] | 7 | |||||
Не много почитав информации,не понятны не которые вещи.
Что есть число процессоров(потоки)? Если не трудно можно по подробнее,как это будет выглядеть? теорию распараллеливания перемножения матриц просмотрела,пример видела.Но,что то не до поняла. К примеру как зависит вычисление программы от заданного количества потоков? я понимаю вопросы тупые,но всё же..
0
|
1080 / 1007 / 106
Регистрация: 28.02.2010
Сообщений: 2,889
|
|
06.07.2011, 08:57 | 8 |
Если не ошибаюсь распараллеливание - это когда одна часть алгоритма выполняется на одном процессоре, а другая часть - на другом процессоре. С помощью CreateThread можно создать потоки, но вот как указать на каком процессоре выполнять этот поток? Я думаю указать невозможно.
0
|
Модератор
12832 / 7569 / 1764
Регистрация: 25.07.2009
Сообщений: 13,965
|
|
06.07.2011, 09:38 | 9 |
Если не ошибаюсь, распараллеливание - это когда один поток работает параллельно с другим, а то как бы это на компах с одним процессором многозадачность реализовывали? Так, что, соглашусь с ValeryLaptev,
0
|
0 / 0 / 1
Регистрация: 23.11.2009
Сообщений: 61
|
|
06.07.2011, 15:20 [ТС] | 10 |
Кто нибудь может мне на пальцах объяснить как происходит параллельное перемножение матриц,я не могу в этом разобраться,пожалуйста.
0
|
Каратель
|
|
06.07.2011, 15:59 | 11 |
гуглите ленточное перемножение матриц
Добавлено через 10 секунд вот например http://www.hpcc.unn.ru/?dir=808 Добавлено через 1 минуту угу) если есть возможность заюзать объектную обертку то почему бы нет)
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
06.07.2011, 19:17 | 12 |
Грубо говоря, сколько у матриц строк-столбцов - столько и тредов. На каждое значение матрицы-результата - отдельный тред получается. Одновременно работают столько, сколько у первой матрицы строк (у второй - столбцов).
1
|
0 / 0 / 1
Регистрация: 23.11.2009
Сообщений: 61
|
||||||
22.07.2011, 12:38 [ТС] | 13 | |||||
Я написала с вашей помощью программу,но теперь не могу понять она работает или нет,считает то правильно,а как узнать за какое время выполнятся программа если не распараллеливать и наоборот.Ставлю time но он почему то постоянно выводит 0.
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
22.07.2011, 12:51 | 14 |
sever1313, просто матрицы маленькие. Сделайте матрицы хотя бы 1000 на 1000
0
|
0 / 0 / 1
Регистрация: 23.11.2009
Сообщений: 61
|
||||||
31.08.2011, 01:19 [ТС] | 15 | |||||
вернулась снова к этой проблеме,выяснилось что моя программа без распараллеливания выполняется за тоже самое время,разве так может быть?помогите разобраться.
0
|
342 / 306 / 36
Регистрация: 16.06.2009
Сообщений: 486
|
|
31.08.2011, 09:31 | 17 |
sever1313, если работаете в студии, то нужно включить поддержку openmp в свойствах проекта: Configuration Properties, C/C++, Language и изменить значение свойства OpenMP Support.
1
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
31.08.2011, 10:06 | 18 |
Распараллеливание работает, если в компе хотя бы два ядра.
Да, и включить поддержку OpenMP, как тут сказали уже.
1
|
0 / 0 / 1
Регистрация: 23.11.2009
Сообщений: 61
|
|
31.08.2011, 11:21 [ТС] | 19 |
вот характеристики моего ноутбука
AMD Turion(tm) 64 mobile Technology MK-36 1.99 ГГц, 1,00 ГБ ОЗУ тоесть если у меня одноядерный программа будет работать не правильно? Добавлено через 1 минуту openmp подключила,ведь компилятор распознает функции openmp в программе.
0
|
31.08.2011, 12:10 | 20 |
Да нет, правильно. Только распараллеливания не будет - всё будет крутиться в одном потоке.
Добавлено через 2 минуты Вот тут можно почитать про OpenMP (англ.)
1
|
31.08.2011, 12:10 | |
31.08.2011, 12:10 | |
Помогаю со студенческими работами здесь
20
Распараллеливание программы Распараллеливание вычислений Странное распараллеливание Распараллеливание циклов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Блоги программистов | |||||
Обновление сайта www.historian.by
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
|
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
|
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list):
s=^y]
p=x and y
for i in range(1,len(x)):
s. append((x^y)^p)
p=(x and y)or(p and (x or y))
return s
x=list()
y=list()
|
Это мы не проходили, это нам не задавали...(асихронный счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
|
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
|
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения
PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
|
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
|
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
|
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9
Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
|
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev
wget. . .
|
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin.
Есть ещё регистры,. . .
|
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps
Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
|