2013-03-09 3 views
7

Недавно я прочитал paper о предстоящем обобщенном синтезе потоков в библиотеках vector и DPH. Это, кажется, очень интересное развитие. Сейчас я начинаю экспериментировать с DPH (начиная с GHC 7.6 и планирую обновить до версии 7.8 SIMD, когда он появится). Я также вижу из документации Repa, что он может работать с параллельным массивом. Repa кажется зрелой версией по сравнению с DPH, которая не считалась готовой с точки зрения GHC 7.4. Теперь, когда созревает DPH, мне интересно, какие основные плюсы и минусы между пакетами Repa и DPH, начиная с GHC 7.6. Я искал StackOverflow и google, но не смог найти сравнения между Repa и DPH. Следовательно, этот вопрос.Разница между Repa и DPH

+0

@leventov: Правильный ответ. Вероятно, вы должны перенести его на реальный ответ, чтобы вопрос мог быть отмечен как ответ. –

ответ

5

От the page about DPH на HaskellWiki:

DPH фокусируется на нерегулярной параллелизм данных. Для регулярного параллельного кода данных в Haskell, пожалуйста, рассмотрите возможность использования библиотеки Companion Repa, которая основывается на инфраструктуре параллельных массивов DPH.

+0

, поэтому никаких других существенных различий между Repa и DPH не было? Например, как насчет обобщенных команд слияния потоков и simd - будут ли они доступны в Repa? В документе основное внимание уделялось Vector и DPH, без упоминания о Repa (за исключением краткого введения). Вот почему я думал, что Repa может быть на пути к замене DPH, и начал думать о различиях, которые помешали бы этому. – Sal

+1

@sal в соответствии с Беном Липпмайером, потоковое слияние находится на пути в Repa 4 ([link] (https://groups.google.com/d/msg/haskell-repa/Wm5ZIKhOI5g/UcdYgN1PtdsJ)). Поддержка SIMD-инструкций - это не библиотека, а компилятор. Насколько я понимаю ситуацию, в течение некоторого времени будет достаточно подчиниться некоторым условиям и предоставить флаги компиляции GHC для получения векторизованного машинного кода из простого Haskell. Библиотеки, такие как 'vector',' repa', 'dph', будут просто следовать этим правилам. – leventov