Подскажите пожалуйста С++ библиотеки многомерных массивов на плоской (одномерной) модели памяти.
Из таких пока что нашёл LTL http://www.as.utexas.edu/~drory/ltl/, но есть ограничения до размерности 7-мь.
Что в принципе, более чем достаточно. Но хотелось бы посмотреть на другие имплементации.
Здравствуйте, nen777w, Вы писали:
N>Добрый час!
N>Подскажите пожалуйста С++ библиотеки многомерных массивов на плоской (одномерной) модели памяти. N>Из таких пока что нашёл LTL http://www.as.utexas.edu/~drory/ltl/, но есть ограничения до размерности 7-мь. N>Что в принципе, более чем достаточно. Но хотелось бы посмотреть на другие имплементации.
N>Спасибо.
Здравствуйте, nen777w, Вы писали:
N>Подскажите пожалуйста С++ библиотеки многомерных массивов на плоской (одномерной) модели памяти. N>Из таких пока что нашёл LTL http://www.as.utexas.edu/~drory/ltl/, но есть ограничения до размерности 7-мь. N>Что в принципе, более чем достаточно. Но хотелось бы посмотреть на другие имплементации.
Извините, ничего посоветовать не могу, но мне любопытно, что не устраивает в конструкции вида:
Здравствуйте, LaptevVV, Вы писали:
C>>std::valarray + std::gslice LVV>Кто-то писал (Джосаттис?), что valarray заброшен и не развивается.
Ну как, например поддержку C++20 ranges и <=>1 в него добавили. Т.е. как бы развивается.
"Заброшенность" скорее в том, что задумывался для эффективных векторых вычислений с использованием expression template.
На деле вышло, что разработчики компиляторов и STL его не оптимизировали, потому что им никто не пользуется, потому что он не оптимизирован...
Ну и не очень он лёг в реальные возможности векторизации, на этот счёт уже пилят более практичный std::experimental::simd.
Но так то он работает.
1 точнее, <=> не добавили, но рассматривали и решили не добавлять, и добавили недостающий == у std::slice в рамках добавления <=> в библиотеку.
Здравствуйте, nen777w, Вы писали:
N>Добрый час!
N>Подскажите пожалуйста С++ библиотеки многомерных массивов на плоской (одномерной) модели памяти. N>Из таких пока что нашёл LTL http://www.as.utexas.edu/~drory/ltl/, но есть ограничения до размерности 7-мь. N>Что в принципе, более чем достаточно. Но хотелось бы посмотреть на другие имплементации.
N>Спасибо.
nen777w:
N>Подскажите пожалуйста С++ библиотеки многомерных массивов на плоской (одномерной) модели памяти. N>Из таких пока что нашёл LTL http://www.as.utexas.edu/~drory/ltl/, но есть ограничения до размерности 7-мь.
N>Подскажите пожалуйста С++ библиотеки многомерных массивов на плоской (одномерной) модели памяти. N>Из таких пока что нашёл LTL http://www.as.utexas.edu/~drory/ltl/, но есть ограничения до размерности 7-мь. N>Что в принципе, более чем достаточно. Но хотелось бы посмотреть на другие имплементации.
А чем Eigen не подходит или Armadillo для матриц?
Вон тензорфлов весь на eigen внутри.
Re[2]: Multidimensional array on flat memory model
Здравствуйте, Alexander G, Вы писали:
AG>Здравствуйте, nen777w, Вы писали:
N>>Добрый час!
N>>Подскажите пожалуйста С++ библиотеки многомерных массивов на плоской (одномерной) модели памяти. N>>Из таких пока что нашёл LTL http://www.as.utexas.edu/~drory/ltl/, но есть ограничения до размерности 7-мь. N>>Что в принципе, более чем достаточно. Но хотелось бы посмотреть на другие имплементации.
N>>Спасибо.
AG>Как пропозал для C++ будущего это называется mdspan. AG>https://github.com/kokkos/mdspan