PARALLEL.RU • Просмотр темы - конвейер PARALLEL.RUДискуссионный клуб по параллельным вычислениям Вход Регистрация FAQ Поиск RSS Текущее время: 29 апр 08 7:27 Сообщения без ответов | Активные темы Список форумов » Дискуссионный клуб по параллельным вычислениям » Теория параллельных вычислений Часовой пояс: UTC + 3 часа [ Летнее время ] конвейер Модератор: PARALLEL.RU Страница 1 из 1 [ Сообщений: 8 ] Пред. тема | След. тема Автор Сообщение Shaxter Заголовок сообщения: конвейерДобавлено: 26 фев 04 16:20 Приветствую, господа. Есть такой вопрос: на днях, после получасовых(и безуспешных) попыток объяснить одному преподавателю принцип работы конвейера, я получмл следующее задание. "Реализовать с помощью конвейера сложение двух матриц". Утверждалось, что такой пример "рассмотрен во всех классических учебниках по параллельным вычислениям". В "классических учебниках" рассмотрен пример аппаратного конвейера. Там операция сложения делится на несколько элементарных операций и в общем понятно за счёт чего появится выигрыш во времени. Я в ступоре. Насколько я понимаю, сложение на программном уровне - неделимаю операция. От использования конвейра не будет никакой пользы, кроме вреда. Да и как вообще его реализовывать? Что брать в качестве ступеней? Если кто-нибудь в курсе, пожалуйста, подтвердите, что это задание маразм, или объясните, как такие вещи делаются. Вернуться к началу Вадим Гузев Заголовок сообщения: Re: конвейерДобавлено: 8 окт 06 22:58 Зарегистрирован: 3 окт 06 1:24Сообщений: 7Откуда: Москва Shaxter писал(а):Я в ступоре. Насколько я понимаю, сложение на программном уровне - неделимаю операция. От использования конвейра не будет никакой пользы, кроме вреда. Да и как вообще его реализовывать? Что брать в качестве ступеней?Если кто-нибудь в курсе, пожалуйста, подтвердите, что это задание маразм, или объясните, как такие вещи делаются. (На будущее - если вдруг кому понадобится ) Это задание не маразм. С помощью конвейера можно ускорить сложение двух чисел, векторов и матриц. Как это сделать описано здесь: http://256bit.ru/education/infor2/lecture1-1.htm Вернуться к началу RS Заголовок сообщения: Добавлено: 9 окт 06 11:11 Зарегистрирован: 26 дек 04 20:21Сообщений: 120Откуда: Ростов-на-Дону To Вадим Гузев: Ссылка хорошая, но там нет кое-каких деталей проясняющих ситуацию интересующую Shaxter. Кроме того там пример со сложением матриц приводиться по отношению ко второму пути параллелизма, т.е. к паралельной , а не конвейерной обработке. To Shaxter: Организовать параллельную обработку информации можно на одном из трех уровней (см. книгу двух Воеводиных "Параллельные вычисления"). Применительно к конвейеру это может быть конвейеризация каждой операции, конвейеризация операций, конвейеризация подпрограм. По предложенной Вадимом ссылке объясняется первый способ, но он конечно же полностью аппаратный и дав команду add Ax, Bx вы фактически запустите конвейер. Если же речь идет о втором способе конвейеризации, то вам нужна рекурентность (в каком-нибудь виде), чтобы ее реализовать на конвейере. А в задаче сложения матриц рекурентость напрочь отсутствует. Про третий способ вы уже сами понимаете. Итак, ответ на ваш вопрос: программа на C Код:for(int i=0; i 5440.13 () 478 asus p505 shimadzu 775 dimplex model plasma (sp9) protherm ziplock bella italia 2115 spartherm dvd-box 478 tomb raider - 2114 kyiv apartaments rent dimplex model magic (sp8) online funke shell omala sharp ar-5415 cad