Что мне нужно? [неупорядоченный список]
- ОЧЕНЬ простое распараллеливание
- поддержка карт, фильтров и т. д.
- возможность выполнять вычисления на основе массивов эффективно , например A = B + C, вроде как массивы Matlab.
- Генерация SIMD-кода. Думаю, в ближайшем будущем об этом не может быть и речи, но я могу спросить:)
- поддержка матриц должна быть как минимум, более высокие измерения сейчас имеют меньший приоритет.
- возможность получить указатель на него и создайте его из указателя C.
- Поддержка из других библиотек. IE, привязки к популярным математическим пакетам C, ввод-вывод на диск или изображения, если массивы 2D
Что я вижу?
- Пакет массивов в haskell-platform. Это благословенный и может делать параллельные
- Data.Vector. Имеет слияние петель, но не в платформе, так что его зрелость мне неизвестна.
- пакет repa, предоставленный командой DPH, но не работает на сегодняшний день ни с одним стабильным ghc .
- Много вариантов уровня поддержки реализаций массивов. Например, не кажется простым способом выгрузить 2D-вектор в файл изображения. IOW, сообщество haskell, по-видимому, не остановилось на реализации массива.
Так что, пожалуйста, помогите мне выбрать.
РЕДАКТИРОВАТЬ A = B + C относится к поэлементному сложению, а не к объединению списков
задан Community 23 May 2017 в 11:47
поделиться