2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: Использовать lapack в C#
Сообщение27.12.2022, 09:18 


12/07/21
108
ilghiz

У вас каша в голове. Я занимаюсь этими задачами профессионально и у меня не одна статья, посвященная этой проблеме. Intel MKL до сих пор не справился с двумя проблемами в диагонализации вещественных симметричных матриц, а решение третьей проблемы своровал у меня. Что касается фортрана, то он развивается и у вас о нем пещерные представления. Например, в США он популярен (в 90-ые годы работал в университете Буффало и сейчас со многими поддерживаю контакты, так что знаю об этом не понаслышке). Весь код, написанный в LAPACK НА 77-ом фортране (а он почти весь на нем) при помощи f2c переводится в сишный код.

 Профиль  
                  
 
 Re: Использовать lapack в C#
Сообщение27.12.2022, 10:35 


31/08/22
181
Я был удивлен когда недавно узнал что существуют во первых современные стандарты фортрана а во вторых он по скорости практически тоже самое что и Си. Так как написанное работает хорошо и с той же скоростью, видимо никто и не стремится что то переделывать.

 Профиль  
                  
 
 Re: Использовать lapack в C#
Сообщение27.12.2022, 14:43 


11/08/18
363
traffic_lights

рад, что вы занимаетесь этими задачами профессионально, я, кстати тоже, причем к лапаку имею непосредственное отношение, так как в 90-е участвовал в оптимизации бласов для Y-MP, C90, T3D, а в начале двухтысячных - участвовал в написании кубласов (это которые для Нвидии).

Цитата:
Весь код, написанный в LAPACK НА 77-ом фортране (а он почти весь на нем)...


Вот тут вы ошибаетесь, сам лапак - в большей части - да, еще на фортране, а вот бласы (если хочется иметь оптимизированный вариант) уже никто никогда не пишет на фортране, я вас уже отсылал к ATLASу, не поленитесь взглянуть в его исходники, и с удивлением увидите, что и холецкого переписали, и линейные системы, вот до сингулярного все никак не дойдут.

Цитата:
Весь код, написанный в LAPACK НА 77-ом фортране (а он почти весь на нем) при помощи f2c переводится в сишный код.


и производительность после этого идет в то самое место - основная идея Фортрана, которая до сих пор держит его на плаву - возможность разбить одномерный массив на двухмерный на входе в подпрограмму и оптимально считать индексы. Если вы сделаете f2c, то у компилятора эта информация потеряется, поэтому он не может (не имеет права) оптимизировать, и производительность падает.

-- 27.12.2022, 13:49 --

Schrodinger's cat в сообщении #1575197 писал(а):
Я был удивлен когда недавно узнал что существуют во первых современные стандарты фортрана а во вторых он по скорости практически тоже самое что и Си. Так как написанное работает хорошо и с той же скоростью, видимо никто и не стремится что то переделывать.


У фортрана есть хорошая особенность - вы можете на вход функции подать одномерный массив и внутри функции трактовать этот массив как 2-х, 3-х и тд мерный массив, отдав на откуп компилятору оптимизацию индексов. Это позволяет сильно упростить угадывание кеш-мисс и сильно упрощает визуальное восприятие алгоритма. В классическом С такой возможности не было, поэтому С часто проигывал на матричных задачах Фортрану.

В 99-ом Сшники опомнились и ввели эту конструкцию в стандарт С, в С++ ее до сих пор нет, но там можно за счет темплейтов сделать аналогичное, хотя криво.

 Профиль  
                  
 
 Re: Использовать lapack в C#
Сообщение27.12.2022, 17:11 


31/08/22
181
Я и думаю, откуда питоновский NumPy такого нахватался.
Когда я писал свой первый модуль под питон никак не мог понять а где же 2х, 3х и т.д. мерные массивы :D

 Профиль  
                  
 
 Re: Использовать lapack в C#
Сообщение27.12.2022, 22:29 


12/07/21
108
Schrodinger's cat

Еще не так давно си уступал фортрану значительно (до нескольких раз) по скорости: пара порций компилятора и си можно опустить на доисторический уровень. Популярность фортрана в развитых странах объясняется двумя причинами: значительным заделом, скоростью и легкостью изучения. Людям научного труда некогда тратить время на изучение тонкостей языка си: почитайте, сколько копий было сломано по его поводу на этом форуме У нас пока время еще слабо ценят: очень много "бла-бла-бла". Вон, например, уже в C++20 вместо #include <iostream> появилось import <iostream>.

ilghiz
ilghiz в сообщении #1575220 писал(а):
и производительность после этого идет в то самое место - основная идея Фортрана, которая до сих пор держит его на плаву - возможность разбить одномерный массив на двухмерный на входе в подпрограмму и оптимально считать индексы. Если вы сделаете f2c, то у компилятора эта информация потеряется, поэтому он не может (не имеет права) оптимизировать, и производительность падает.

Что за бред: посмотрите сишные версии 3-тьей версии ЛАПАКА: они получены при помощи f2c - одномерные массивы остаются одномерными и скорость на современных сишных компиляторах совпадает со скоростью фортрановских аналогов. На опровержение остальных ваших крайне непрофессиональных утверждений у меня нет ни времени, ни желания отвечать.

 Профиль  
                  
 
 Re: Использовать lapack в C#
Сообщение28.12.2022, 04:18 


11/08/18
363
traffic_lights в сообщении #1575262 писал(а):
Что за бред... На опровержение остальных ваших крайне непрофессиональных утверждений у меня нет ни времени, ни желания отвечать.

Да, видно, что вы - очень большой профессионал! Наверное мне и всем нам надо у вас поучиться. Дайте, пожалуйста, DOI ваших статей, в которых, как вы ранее утверждали, вы придумали результаты, которые Интел без зазрения совести у вас скопировал и вставил в MKL. Кстати, статьи - это же не патенты, изпользовать результаты научных трудов никому не возброняется, не так ли, или все-таки у вас были патенты, которые Интел нарушил? Тогда номерки патентов в студию.

-- 28.12.2022, 03:43 --

traffic_lights в сообщении #1575262 писал(а):
Популярность фортрана в развитых странах

Германию и США я причисляю к развитым странам, но по поисковым системам монстера и индида примерно на 10 тысяч вакансий приходится всреднем три вакансии, где желательно знание фортрана, к сожалению, обычно для того, чтобы понять, что на нем было когда-то написано. А все остальные 10 тысяч - это С, С++, питон и их аналоги.

Применительно к лапаку, именно нетлибовскому лапаку, а не его оптимизированных клонов как то AOCL, ATLAS, GotoBLAS, сам лапак до сих пор еще не переписали с Фортрана на С только из-за личной неприязни Джека Донгарры к С, он мне сам это лично говорил несколько раз, когда мы с ним по работе пересекались. А знаете сколько Джек копий сломал, когда Нвидия отказалась на Куде Фортран поддерживать? У меня эти баталии прям как сейчас перед глазами стоят, хотя и прошло уже 14 лет с той разборки.

PS: чтобы ни у кого не сложилось мнение, что я огульно хаю Фортран, замечу, что я профессионально на нем примерно десять лет писал научный и коммерческий софт, работая в коммерческих фирмах и университетах США и Германии.

 Профиль  
                  
 
 Re: Использовать lapack в C#
Сообщение28.12.2022, 11:52 


12/07/21
108
ilghiz

Для начала подтвердите, что вы бредили, а потом поговорим об остальном.

 Профиль  
                  
 
 Re: Использовать lapack в C#
Сообщение28.12.2022, 13:05 


12/07/21
108
traffic_lights в сообщении #1575309 писал(а):
ilghiz

Для начала подтвердите, что вы бредили, а потом поговорим об остальном.

Часть моих публикаций можно найти здесь (интересующая вас - самая последняя на последней странице):
https://www.semanticscholar.org/author/ ... v/91106024

 Профиль  
                  
 
 Re: Использовать lapack в C#
Сообщение28.12.2022, 14:08 


11/08/18
363
traffic_lights в сообщении #1575315 писал(а):
Часть моих публикаций можно найти здесь (интересующая вас - самая последняя на последней странице):
https://www.semanticscholar.org/author/ ... v/91106024

Так загляните в https://sourceforge.net/projects/math-atlas/ R. Clint Whaley и его команда это же делали примерно в 1998 - на двенадцать лет раньше вашей публикации, не мудрено, что на вас никто не ссылается.

 Профиль  
                  
 
 Re: Использовать lapack в C#
Сообщение28.12.2022, 14:23 


12/07/21
108
ilghiz

Опять бредите: там речь совершенно о другом (вы так за свой первый бред и не извинились). Не думаю, что вы что-нибудь поняли в моей статье: научный интеллект для ее понимания - это не ваш уровень.

 Профиль  
                  
 
 Re: Использовать lapack в C#
Сообщение28.12.2022, 15:12 


11/08/18
363
traffic_lights в сообщении #1575324 писал(а):
Опять бредите: там речь совершенно о другом (вы так за свой первый бред и не извинились). Не думаю, что вы что-нибудь поняли в моей статье: научный интеллект для ее понимания - это не ваш уровень.

Давайте все-таки без оскорблений! Я понимаю, что старость надо уважать (как я понимаю Вам за 70, если у вас первая статья в 1979 году вышла) но все-таки чтобы вам судить об интеллекте кого-то, стоило хотя бы на себя посмотреть, за 43 года университетской карьеры только 63 ссылки поиметь на все ваши публикации - это в научной карьере реально моветон и не совместимо с работой в номальных университетах, поэтому я бы на вашем месте не разбравывался на лево и на право фразами
traffic_lights в сообщении #1575324 писал(а):
научный интеллект для ее понимания - это не ваш уровень.

на этом форуме у большинства участников с университетским и не только аффилиэйшином за год столько же ссылок на их публикации возникает.

 Профиль  
                  
 
 Re: Использовать lapack в C#
Сообщение28.12.2022, 15:56 


12/07/21
108
ilghiz в сообщении #1575332 писал(а):
Давайте все-таки без оскорблений!

А как еще назвать ваше откровенное вранье про f2c? Что касается остального, то басню про Лису и Виноград я уже давно усвоил: примерно когда был объявлен конкурс на поездку в США в 90-ые годы (научная работа по распознаванию рукописного текста в университете Буффало, связанная с почтовой тематикой). Примерно такие же завистливые комментарии типа ваших обрушились на меня, когда я решил принять участие в конкурсе. И я бы туда не поехал, если бы в комиссию не входили американцы. В итоге дутые умники с "прекрасными" достижениями остались за бортом, а я выиграл конкурс. Да, зависть не украшает человека. И потом, почти все ссылки на переведенные публикации в академических российских журналах (в наших академических журналах по вашему разумению публикуется один отстой :D ) и они не учитывают ссылки на нашем поле (во всяком случае, просьб от иностранцев на свои публикации я получил не менее пару сотен за свою жизнь, в основном из США и Германии). С непереведенными статьями (включая закрытые) публикаций у меня значительно больше.

 Профиль  
                  
 
 Re: Использовать lapack в C#
Сообщение28.12.2022, 18:11 
Админ форума


02/02/19
2117
 !  traffic_lights
Выбирайте выражения, даже если Вы убеждены, что собеседник в корне не прав. Предупреждение за личные выпады.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу Пред.  1, 2

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group