Флейм о библиотеках квантового софта и пр.

вопросы строения молекул и квантовой химии
Аватара пользователя
surius
Сообщения: 1485
Зарегистрирован: Пт сен 21, 2007 11:20 am

Re: Флейм ниочем

Сообщение surius » Пн авг 14, 2017 2:46 pm

madschumacher писал(а):
Пн авг 14, 2017 2:18 pm
насколько я знаю, везде используются самописные алгоритмы для неполной диагонализации (последовательно находятся сколько-то низших собственных значений соответствующей матрицы, т.е. алгоритм Давидсона его модификации, и его аналоги :( ) разреженных матриц (т.к. большая часть матричных элементов нули, или околонули, поэтому хранить их в памяти бессмысленно и чересчур затратно).
вот и я был похожего мнения. (это про диагонализации)
Вопрос не в нападках... Cтрого говоря, я изначально очень серьезно отнесся к заявлению Юрия
Yurii писал(а): В свое время при подготовке цикла статей "КОМПЬЮТОРНОЕ МОДЕЛИРОВАНИЕ СТРУКТУРЫ БОЛЬШИХ МОЛЕКУЛ", в одной из которых описано использование GAMESS с оригинальной программой диагонализации, разработанной мною (Intel кичится своими самыми быстрыми алгоритмами диагонализации плотных симметричных матриц в мире, но это далеко не так: https://software.intel.com/en-us/forums ... pic/288316 - им по-прежнему далеко до моих алгоритмов диагонализации).
и даже оставил примерно схожую просьбу:
surius писал(а):Yurii, А вы свои алгоритмы публикуете? Я бы с удовольствием посмотрел на суперэффективный код диагонализации. Потому те которые есть в G09 показывают эффективность пропорционально квадрату, в лучшем случае. Если вас шустрее, то это ценный вклад в науку.
Ну суть в том, что если ты/я/он не собирается приоткрывать завесу сладкого, но очень запретоного плода, то и кидаться утверждениями что де мой алгоритм супер-пупер, наверное, не очень осмысленно.
"Bite my shiny metal ass"
Bender

Аватара пользователя
leonidas
Сообщения: 240
Зарегистрирован: Чт дек 23, 2010 6:27 pm

Re: Флейм ниочем

Сообщение leonidas » Пн авг 14, 2017 3:09 pm

Ещё вопрос для чего они там используются... :very_shuffle:
(например, перевести молекулу в систему собственных осей -- вполне себе задачка для LAPACK-а, как раз методами разреженных матриц там пользоваться = сильное извращение :lol: )
Пока так глубоко не копал, но например, версия Molpro скомпилированная с интеловской MKL версией, считает CCSD(T) в 2-3 раза быстрее, чем со стандартным BLAS-LAPACK. Это косвенно означает, что для чего-то более серьезного чем Ваш пример.

P.S. может создать отдельную тему?

Аватара пользователя
madschumacher
Сообщения: 883
Зарегистрирован: Ср авг 05, 2015 4:30 pm

Re: Флейм ниочем

Сообщение madschumacher » Пн авг 14, 2017 3:14 pm

leonidas писал(а):
Пн авг 14, 2017 3:09 pm
Пока так глубоко не копал, но например, версия Molpro скомпилированная с интеловской MKL версией, считает CCSD(T) в 2-3 раза быстрее, чем со стандартным BLAS-LAPACK. Это косвенно означает, что для чего-то более серьезного чем Ваш пример.
Про CCSD(T) не скажу, может где-то там есть относительно небольшие и достаточно заселённые матрицы (например, если какая-нть большая матрица представлена в блочно-диагональном виде, но это из той же оперы, что и вращение молекул). Я не знаю, в код подобный не залезал.
leonidas писал(а):
Пн авг 14, 2017 3:09 pm
P.S. может создать отдельную тему?
Зачем плодить сущности без меры?! :lol:

UPD: что-то я посмотрел на размеры базисных наборов для не очень больших молекул. Там матрицы в уравнениях Хартри-Фока имеют порядок сотен на сотню (например для C60 в cc-pVTZ -- это 60*10=600)... Такие матрицы LAPACK как орешки щёлкает даже на ПК... :?
Видимо, Давидсоны нужны уж для совсем убойных случаев... :dontknow:
И да узрел Охламон, что сие есть круть несусветная!

Аватара пользователя
Гесс
Сообщения: 13063
Зарегистрирован: Ср фев 15, 2012 11:19 pm

Re: Флейм ниочем

Сообщение Гесс » Пн авг 14, 2017 4:46 pm

Да выгрызти в отдельную тему как бы не проблема, но не очень ясно что именно выгрызать. Среди участников я так понимаю никто кроме Yurii не знает какие библиотеки и как работают в тех или иных пакетах. А участие Yurii не очень продуктивно. Тема я так понимаю пока крутится на тему того что какие то библиотеки как то могут делать хорошо и инициировано это обсуждением библиотеки Yurii которую никто из остальных участников не видел, но по словам Yurii она как раз та самая "хорошо". Ну вот как то так я вижу. Если есть какие то конкретные пожелания что мы отсюда вырезаем - то говорите. Пока переименуем.

Аватара пользователя
leonidas
Сообщения: 240
Зарегистрирован: Чт дек 23, 2010 6:27 pm

Re: Флейм о библиотеках квантового софта и пр.

Сообщение leonidas » Чт авг 17, 2017 11:55 pm

Интересно, насколько улучшилось бы быстродействие линал библиотек если их переписать на ассемблере? Понятно, что в этом случае будет зависимость от архитектуры, но учитывая почти монополию одной фирмы, это не большая проблема

Аватара пользователя
EvgeniX
Сообщения: 2780
Зарегистрирован: Пт апр 27, 2007 5:32 am

Re: Флейм о библиотеках квантового софта и пр.

Сообщение EvgeniX » Пт авг 18, 2017 1:17 am

leonidas писал(а):
Чт авг 17, 2017 11:55 pm
Интересно, насколько улучшилось бы быстродействие линал библиотек если их переписать на ассемблере? Понятно, что в этом случае будет зависимость от архитектуры, но учитывая почти монополию одной фирмы, это не большая проблема
Компиляция из чистого Си приводит примерно к тем же простым машинным инструкциям. Считаю, если компилятор используется правильный и включена компиляция в необходимые инструкции, выигрыша по сравнению с чистым ассемблером не будет. Можно вообще с ассемблерными вставками компилировать. Хотя, если используются какие-то специфические векторные инструкции, может компиляторы и не самым эффективным образом справятся.

Сейчас основной интерес представляют параллельные алгоритмы (и соответствующая теория), когда большую систему разбивают на блоки и работают с блоками на различных вычислительных "узлах" (например, на видеоускорителе), а потом как-то сшивают результат.

PS: Возможно, пора некоторые алгоритмы аппаратно реализовывать и делать соответствующие аппаратные "ускорители" расчётов, содержащие минимальное число транзисторов для решения узкого ряда задач, но способные работать на высоких частотах. Существующие ускорители заточены, по-сути, под высокий параллелизм.

Аватара пользователя
madschumacher
Сообщения: 883
Зарегистрирован: Ср авг 05, 2015 4:30 pm

Re: Флейм о библиотеках квантового софта и пр.

Сообщение madschumacher » Сб авг 19, 2017 4:54 am

leonidas писал(а):
Чт авг 17, 2017 11:55 pm
Интересно, насколько улучшилось бы быстродействие линал библиотек если их переписать на ассемблере?
Существенно улучшилось бы. Грановский как раз за счет этого ускорил PC GAMESS относительно US (правда тут есть и фигня, код заточен под 32bit системы, с 64bit он не дружит). По личному опыту FF щас реально быстрая прога, в то время, как GMS US -- навороченное ведро с гайками.
И да узрел Охламон, что сие есть круть несусветная!

Аватара пользователя
Yurii
Сообщения: 682
Зарегистрирован: Сб авг 11, 2007 1:59 am

Re: Флейм о библиотеках квантового софта и пр.

Сообщение Yurii » Сб авг 19, 2017 9:55 am

В основном, дело не в ассемблере, а в алгоритмах, при условии, что используются сишные интеловские команды, реализующие нужные команды процессора: например, когда я увидел, что Интел справился с заключительной стадией диагонализации, я опубликовал сразу этот алгоритм - я о нем здесь подробно писал несколько лет назад.
Сейчас появился процессор Core i9, который позволяет увеличить скорость Blas Level 3 (например, скорость перемножения матриц) в 2 раза. Грамотная перекомпиляция g09 на Core i9 оставит далеко позади g16 - при этом важно, чтобы операционная система поддерживала новые команды.
Но с трехдиагонализацией и с алгоритмами, реализующими работу с трехдиагональными матрицами, у Интела по-прежнему проблемы.
Как показывает мой опыт, переход от сишного грамотного кода к ассемблерному увеличивает скорость счета максмум на 30%, что в основном связано с грамотным использованием кэша процессора.
прозвище "Фабержé" легендарный разведчик Дроздов получил за свое уникальное умение работать с информацией, добывать ее и превращать в драгоценность высшей пробы.

Аватара пользователя
EvgeniX
Сообщения: 2780
Зарегистрирован: Пт апр 27, 2007 5:32 am

Re: Флейм о библиотеках квантового софта и пр.

Сообщение EvgeniX » Вс авг 20, 2017 1:14 am

Yurii писал(а):
Сб авг 19, 2017 9:55 am
Как показывает мой опыт, переход от сишного грамотного кода к ассемблерному увеличивает скорость счета максмум на 30%, что в основном связано с грамотным использованием кэша процессора.
Я так понимаю, что напрямую на кэш повлиять нельзя? Лично для себя интересно, какие есть общие рекомендации по написанию кода, чтобы кэш процессора наиболее эффективно был использован?

Аватара пользователя
Yurii
Сообщения: 682
Зарегистрирован: Сб авг 11, 2007 1:59 am

Re: Флейм о библиотеках квантового софта и пр.

Сообщение Yurii » Вс авг 20, 2017 11:52 am

Сишные функции Интел позволяют работать и с кэшем. К сожалению, полного соответствия между ассемблерным кодом, полученным на Си, и запрограммированным ассемблерным кодом нет, и я использую Си (причем не с интеловскими функциями!) для предварительного получения результатов, чтобы избежать ошибок, которые при программировании на ассемблере сделать очень легко. Что касается грамотного использования кэша, то читайте мануалы Интела для соответствующих процессоров: там все подробно разжевано.
прозвище "Фабержé" легендарный разведчик Дроздов получил за свое уникальное умение работать с информацией, добывать ее и превращать в драгоценность высшей пробы.

iChem
Сообщения: 29
Зарегистрирован: Вт авг 30, 2011 10:57 am

Re: Флейм о библиотеках квантового софта и пр.

Сообщение iChem » Чт авг 31, 2017 11:21 pm

Почти все диагонализуют Фок стандартным плотным лапаком (dsyev/dsyevd), за исключением случаев типа Fock purification, которые никем кроме авторов не используются.

CI матрицы диагонализуются Давидсоном и его вариантами, кроме редких неизвестных мне случаев

и да, нетлибовскими библиотеками пользуются только те кому лень скачать бесплатный MKL

Аватара пользователя
Yurii
Сообщения: 682
Зарегистрирован: Сб авг 11, 2007 1:59 am

Re: Флейм о библиотеках квантового софта и пр.

Сообщение Yurii » Пт сен 01, 2017 11:34 am

iChem писал(а):
Чт авг 31, 2017 11:21 pm
Почти все диагонализуют Фок стандартным плотным лапаком (dsyev/dsyevd)...
А что значит типичная выдача гауссиана:
" DSYEVD-2 returned Info= 377 IAlg= 4 N= 188 NDim= 188 NE2= 20435968 trying DSYEV."?
И потом, гауссиану лень или не лень скачать бесплатный Intel MKL?
прозвище "Фабержé" легендарный разведчик Дроздов получил за свое уникальное умение работать с информацией, добывать ее и превращать в драгоценность высшей пробы.

iChem
Сообщения: 29
Зарегистрирован: Вт авг 30, 2011 10:57 am

Re: Флейм о библиотеках квантового софта и пр.

Сообщение iChem » Пт сен 01, 2017 9:47 pm

Бывает что dsyevd не срабатывает, тогда пересчитывают dsyev -- он устойчивее. dsyevd параллелится легко, поэтому предпочтительнее
Не знаю что там внутри гауссиана, никогда не пользовался им. Надеюсь что MKL там вкомпилирована статически, это был бы разумный вариант. В противном случае можно посмотреть пользуемые библиотеки с помощью ldd g09, или как у них бинарник называется

Аватара пользователя
Yurii
Сообщения: 682
Зарегистрирован: Сб авг 11, 2007 1:59 am

Re: Флейм о библиотеках квантового софта и пр.

Сообщение Yurii » Пт сен 01, 2017 11:52 pm

Дело в том, что и dsyev и dsyevd на первом этапе исходную матрицу приводят к техдиагональной форме На втором шаге при работе с трехдиагональной матрицей dsyevd использует алгоритм "разделяй и властвуй", который после открытия еще лет десять доводили до сегодняшнего "компьютерного ума", но все проблемы так решить и не удалось. Кроме того dsyevd прожорливый метод с точки зрения расходования оперативной памяти. О проблемах у Интела с трехдиагонализацией и с трехдиагональными матрицами я уже писал ранее: повторяться не буду. Что касается g09, то исходный код доступен в интернете: его грамотная трансляция приводит к тому, что он на 15% быстрей g16, который сейчас гуляет по интернету.
прозвище "Фабержé" легендарный разведчик Дроздов получил за свое уникальное умение работать с информацией, добывать ее и превращать в драгоценность высшей пробы.

Ответить

Вернуться в «квантовая химия и моделирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 20 гостей