Мне было интересно, когда использовать параллельную префиксную сумму вместо использования последовательного наращивания. В алгоритме я использую конструкции параллельных сумм, но где-то я читал, что для небольшого числа элементов (как правило, менее 100 элементов) лучше использовать последовательный алгоритм. Это ставит вопрос о том, существует ли определенный порог, выше которого параллельная реализация может дать некоторый выигрыш по сравнению с последовательностью? Я использую opencl для кодирования и реализовал параллельную префиксную сумму с использованием реализации Blelloch 1990.с использованием префикса sum - параллельный или последовательный
0
A
ответ
1
Это зависит, как обычно. О реализации, устройстве и размере данных.
GPU Gems 3, chapter 39 имеет некоторые красивые графики, которые показывают, когда их конкретные реализации имеют пороговые значения. Разумеется, они не реализовали алгоритм наивно - это оптимизированная версия, использующая разделяемую память, развернутые циклы и избежание конфликтов в кэше.
Как только у вас есть реализация, вам просто нужно сравнить его, чтобы найти порог.
Смежные вопросы
- 1. Параллельный или последовательный?
- 2. OpenGL команды - последовательный или параллельный
- 3. Is WhenAll последовательный или параллельный?
- 4. Последовательный вход через параллельный порт
- 5. Цикл в потоке - последовательный или параллельный?
- 6. VBA Производительность: параллельный или последовательный анализ
- 7. Почему параллельный поток медленнее, чем последовательный поток?
- 8. .net Параллельный и последовательный цикл
- 9. Последовательный параллельный в плане объяснения
- 10. Как смешивать последовательный и параллельный код с использованием MPI
- 11. последовательный и параллельный (с использованием mpi) код для гистограммы изображения
- 12. mpirun python последовательный параллельный микс?
- 13. Последовательный и параллельный технологический заказ
- 14. дизайна распределенный последовательный/параллельный бизнес-процесс
- 15. Последовательный или параллельный: какой способ читать несколько файлов в python?
- 16. Маршрут с использованием префикса или домена
- 17. Haskell: последовательный Fibonacci быстрее, чем параллельный
- 18. последовательный, а не параллельный jQuery Сообщения AJAX
- 19. Параллельный префикс sum - самая быстрая реализация
- 20. Почему последовательный запуск быстрее параллельный openmp
- 21. Параллельный с использованием plyr
- 22. Внедрить последовательный вход в параллельный сдвиговый регистр с микроконтроллером AVR
- 23. Параллельный пинг с использованием gevent
- 24. Параллельный for_each с использованием openmp
- 25. Параллельный запуск с использованием testng
- 26. Параллельный поиск с использованием MPI_Scatter
- 27. Параллельный вывод с использованием OpenMP
- 28. Префикса инфиксный с использованием Java
- 29. Выберите лист с использованием префикса
- 30. Принять параллельный ИЛИ Параллельный запрос в PHP
Итак, из того, что я вижу, должно быть как минимум 10^4 элементов, прежде чем параллельная реализация будет иметь приоритет над последовательной реализацией. Хорошо, спасибо за ответ. – shunyo