Преимущества систем SIMD перед SPMD:
- SIMD часто обеспечивает более высокую скорость выполнения, чем использование нескольких потоков. thewolfsound.com Скорость работы SIMD пропорциональна количеству переменных, которые могут поместиться в вектор данных. thewolfsound.com
- SIMD особенно полезен в приложениях для обработки цифровых сигналов, так как алгоритмы часто определены в терминах векторов. thewolfsound.com
- Наборы инструкций SIMD часто содержат специфические функции для обработки цифровых сигналов. thewolfsound.com
Недостатки систем SIMD:
- Производительность реализаций с использованием SIMD нужно измерять на каждом процессоре отдельно. thewolfsound.com
- Линейное ускорение при первой попытке реализации маловероятно. thewolfsound.com
SPMD — это модель параллельного программирования, в которой программист описывает параллелизацию на уровне всей программы. www.cs.cornell.edu Некоторые преимущества SPMD:
- Высокая производительность. www.cs.cornell.edu
- Модель SPMD имеет большую долю на рынке (например, CUDA, OpenCL, OpenGL). www.cs.cornell.edu
- В SPMD программист описывает параллелизацию на уровне всей программы, а не отдельных инструкций, как в случае с SIMD. www.cs.cornell.edu
SPMD и SIMD не являются взаимоисключающими, параллельное выполнение SPMD может включать SIMD, векторную или подпроцессорную обработку на GPU. en.wikipedia.org