Редактирование: Параллельная Обработка Данных, 08 лекция (от 23 октября)
Материал из eSyr's wiki.
Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
- | [[Параллельная Обработка Данных, 07 лекция (от 16 октября)|Предыдущая лекция]] | [[Параллельная Обработка Данных, 09 лекция (от 30 октября)|Следующая лекция]] | ||
- | |||
==Векторно-конвейерные компьютеры== | ==Векторно-конвейерные компьютеры== | ||
Машины интересные по многим причинам. Первые машины с которыми стало ассоциироваться понятие суперкомпьютер. | Машины интересные по многим причинам. Первые машины с которыми стало ассоциироваться понятие суперкомпьютер. | ||
Строка 93: | Строка 91: | ||
Выпишем список мешающих причин: | Выпишем список мешающих причин: | ||
*Векторизация программы - у нас есть программа на какомто языке высокого уровня.Чтобы она эффективно исполнялась надо использовать векторные фу. Компилятор в некоторых случаях может сообразить, что можно использовать векторную команду. Но для этого должно быть выполнено минимум два условия -- должны быть векторы данных(из линейной память выбираются данные с одинаковым шагом одинакового типа--строки и столбцы многомерных массивов, диагональ многомерного массива(с шагом н+1), а вот под диагональные элементы уже вектором не будут, матрица целиком -- тоже вектор) и над ними должны выполняться независимые однотипные операции(сложный момент. однотипность - над всеми элементами надо запускать одну и ту же операцию.независимость. a[i] = a[i]+b[i] -- все хорошо. а вот a[i] = a[i-1]+b[i]- ситуация на порядок хуже, векторизовать нельзя) | *Векторизация программы - у нас есть программа на какомто языке высокого уровня.Чтобы она эффективно исполнялась надо использовать векторные фу. Компилятор в некоторых случаях может сообразить, что можно использовать векторную команду. Но для этого должно быть выполнено минимум два условия -- должны быть векторы данных(из линейной память выбираются данные с одинаковым шагом одинакового типа--строки и столбцы многомерных массивов, диагональ многомерного массива(с шагом н+1), а вот под диагональные элементы уже вектором не будут, матрица целиком -- тоже вектор) и над ними должны выполняться независимые однотипные операции(сложный момент. однотипность - над всеми элементами надо запускать одну и ту же операцию.независимость. a[i] = a[i]+b[i] -- все хорошо. а вот a[i] = a[i-1]+b[i]- ситуация на порядок хуже, векторизовать нельзя) | ||
- | |||
- | {{Параллельная Обработка Данных}} | ||
- | {{Lection-stub}} |