![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Elfet |
|
||||||||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Всем привет!
Чиркнул на своем блоге о матричных сложениях. Пожалуйста, прокомментируйте! Сам пост:
|
||||||||
|
|||||||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 2 Всего: 160 |
Elfet, хотелось бы посмотреть на результаты Eigen.
-------------------- |
|||
|
||||
| toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 2 Всего: 13 |
Elfet
а какого размера матрицы тестировались? |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
kemiisto,
uBLAS я выбрал так как для неё нашёл реализованный метод GMRES. tvmet же рекомендуется на сайте ublas для маленьких матриц. AlgLib так же взял потому что уже используем её (SVD-разложение). Добавлено через 1 минуту и 27 секунд toxx, для 3х3 и 4х4. |
|||
|
||||
| toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 2 Всего: 13 |
Elfet
я думал побольше =) что-то типа 1000х1000 и побольше =) интересно же как будет вести себя всё это дело... p.s. спасибо за ответ в блоге. |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
toxx, ну 1000 у нас просто редко встречаются
Чаще всего встречаются матрицы 3х3, 4х4 и очень большие 1000000х1000000. |
|||
|
||||
| toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 2 Всего: 13 |
Elfet
ага, понятно.я просто к тому, что эти измерения очень интересны в плане цифр(даже выступают с докладами на такие темы), видел вот такие же замеры выполнения для различных видов сортировки(больше 3х разновидностей) различных матриц( как раз от 1000х1000 до 5000х5000 элементов,заполненных разными способами) очень интересно было смотреть что и как быстро справляется. |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
Elfet, попробуй Intel Performance Primitives. На своём процессоре они творят чудеса. Правда, платные. Но, если ты не вольный каменьщик, попроси фирму купить. По-моему, не очень дорого.
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 12 Всего: 459 |
Elfet, попробуй еще вспомогательную библиотеку DirectX для работы с матрицами фиксированного размера. Кроме, думаю будет эффективно загружать флоаты/даблы сразу блоками по 128/256 бит и проводить вычисления при помощи инструкций SSE. Например в 256 битный регистр SSE влезет сразу 4 дабла или 8 флоатов. Для матрицы 4х4 это либо одна строка либо пол матрицы за одну инструкцию.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
||||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
borisbn, я это, диплом делаю
Alexeis, использовать железо для просчётов? нам правда нужна кросс-платформеность. Как я понимаю, они реализованы в uBLAS, однако быстрее всё-равно использовать define MatrixExp. |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
||||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 20 Всего: 121 |
У меня есть Intel Performance Primitives for Small Matrices. Правда я не юзал эту часть библиотеки, но наверняка она уделает все остальные.
В SSE таких регистров нет. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
А же провёл тесты. uBLAS проигрывает |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 12 Всего: 459 |
В каком смысле железо? Речь о процессоре. Процессоры выше PIV гарантировано имеют SSE2. Для машин не старше 4х лет можно запросто рассчитывать на SSE3. Кросс-платформеность Windows-Linux будет. Если речь про другую архитектуру, то все свои тесты можешь выкрасить и выбросить, потому что на разных архитектурах по разному оптимизируются вычисления и различные операции "стоят" разных ресурсов. Добавлено @ 12:10 А что за регистры такие YMM0 — YMM15 ? Вот например Intel рекомендует использовать их для оптимизации задач линейной алгебры. http://software.intel.com/ru-ru/articles/o...-dgemm-routine/ Это что-то не то. Значит была речь о том, что можно производить параллельно 2е операции над 128 битными регистрами. В сумме получается 4 дабла или 8 флоатов. Это сообщение отредактировал(а) Alexeis - 18.5.2010, 12:18 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |