Языки, программы и так далее, Вынос из БН-800 |
Здравствуйте, гость ( Вход | Регистрация )
Языки, программы и так далее, Вынос из БН-800 |
1.12.2016, 20:34
Сообщение
#1
|
|
Постоянный участник Группа: Patrons Сообщений: 2 427 Регистрация: 16.3.2011 Пользователь №: 32 318 |
Мы специально дали возможность Е.Ф. высказаться по поводу матначинки эксплуатационного комплекса. Потому что иногда приходится слышать: "Ну, на станциях диффузия, разве это круто? Прошлый век!". Действительно, для начинки комплексов, которыми пользуется эксплуатация (именно эксплуатация! не конструктора, например), должен быть выбран оптимум между требованиями по быстродействию и точности и вычислительными возможностями. Физику на станции не нужен код, который один вариант будет просчитывать неделями на суперкомпьютере В том числе, и потому, что далеко не всегда такой суперкод даст результаты точнее, чем инженерная программа. Вот этот момент мне показался самым... странным в интервью. Мощность машин быстро растёт. Кроме того, большинство массивных расчётов замечательно выносится в спецвычислители - ну хоть CUDA/OpenCL. Я не уверен насчёт именно видеокарт именно в вашем случае, но суперкомпьютер суперкомпьютеру рознь - может, тот же результат можно получить чем-то вроде Knight'а или спецядро на ПЛИС запилить? Это страшная инерция мышления - считать, что ля спецрасчётов нужен именно универсальный компьютер дикой производительности. Если известен некий базовый алгоритм и точность, то скорость - это не проблема. Никто ж не требует суперкомпа (в традиционном понимании) для установки в РЛС с АФАР? А там числодробилки нужны приличной производительнсти, причём, в реальном времени и с (кое-где) ограничениями по массе, теплу и потреблению. Или - другой пример - никто ж не удивляется суммарной мощности сети Биткойна? Там ASIC'и. МНОГО ASIC'ов, сколоченных в фермы... обычному компу (или суперкомпу) там уж лет десять как делать нечего. Поэтому, если уже известен некий стержень вычислений, вокруг которого всё крутится/будет крутиться в обозримом будущем, почему именно "суперкомпутер"? |
|
|
1.12.2016, 20:52
Сообщение
#2
|
|
Ветеран форума Группа: Patrons Сообщений: 1 510 Регистрация: 17.3.2011 Из: Russia, Moscow Пользователь №: 32 515 |
а сертифицировать переложенный с фортрана код кто будет?
-------------------- Спор - это когда обе стороны пытаются сказать последнее слово первыми
|
|
|
1.12.2016, 20:57
Сообщение
#3
|
|
Постоянный участник Группа: Patrons Сообщений: 2 427 Регистрация: 16.3.2011 Пользователь №: 32 318 |
а сертифицировать переложенный с фортрана код кто будет? Ну так мы же говорим о новом коде в любом случае. В нынешнем-то - диффузные приближения какие-то, а хотят - монте-карлу. Переписать на С (лучше - чистом, дабы снять все тулчейн-зависимости) таким образом, чтобы вынести вычислительно-ёмкие вещи в аппаратно-зависимые функции/методы/классы. И наслаждаться затем "вездеходностью" кода. Это помимо скорости. Аппаратные ускорители - они же не только на станции полезны. Худо ли, если _точный_ код у расчётчика на столе будет в разы и на порядки быстрее бежать? Сообщение отредактировал Татарин - 1.12.2016, 20:59 |
|
|
1.12.2016, 22:15
Сообщение
#4
|
|
Ветеран форума Группа: Patrons Сообщений: 1 273 Регистрация: 23.12.2014 Пользователь №: 34 075 |
Да, современное железо уже подбирается к уровню, когда становится возможным использовать Монте-Карло для трёхмерной графики в реальном времени:
http://www.youtube.com/watch?v=BpT6MkCeP7Y Понятно, что расчёты реакторов сильно отличаются, да и потребности совсем другие. Но всё равно, возможности железа для параллельных вычислений сейчас просто потрясают. -------------------- Всё это мелкая рябь на волнах экономических циклов, незаметных на приливах эпох.
Накапливать ОЯТ абсурдно для здорового человека. Если мечтать — то ни в чём себе не отказывать. 8956 |
|
|
1.12.2016, 22:58
Сообщение
#5
|
|
Эксперт Группа: Уровень доступа - 2 Сообщений: 3 885 Регистрация: 9.6.2007 Из: Обнинск-Москва Пользователь №: 89 |
Ну, Монте-Карло или нет, вопрос десятый - там свои ограничения и источники ошибок есть. А вот с чем Татарина поддержу, так это с "достругиванием" кода.
У нас в SVC "сидит" чутка лучшее приближение, чем диффузионка (с некоторыми оговорками метод близок к прямому решению уравнения переноса). Когда стало нужным "допилить" для увеличения скорости счёта, был эффект и от перехода на C++ - примерно 2 порядка, и от применения современных методов решения разреженных систем большой размерности (2-3 раза). Правда, в онлайн мы его пока не утрамбовали, но пока и не занимались всерьёз распараллеливанием. А всего лишь возникла задача допилить до возможности использования отдельных расчётов в существующей системе на АЭС... Правда, код БНы не считает - групп маловато. -------------------- С уважением
Александр Быков |
|
|
2.12.2016, 0:30
Сообщение
#6
|
|
Ветеран форума Группа: Patrons Сообщений: 1 722 Регистрация: 14.3.2011 Из: 34 Пользователь №: 32 154 |
Одно из направлений мысли - программно программируемые матрицы. С современными техпроцессами необходимую расчётную мощность можно поместить в "банальный смартфон". Другое дело, когда требуется большой объём ввода-вывода (не в плане исходных/конечных, а работа с большим объёмом данных), например брутфорс такими "ускорителями" не форсировать.
|
|
|
2.12.2016, 9:04
Сообщение
#7
|
|
Постоянный участник Группа: Patrons Сообщений: 2 427 Регистрация: 16.3.2011 Пользователь №: 32 318 |
Ну, Монте-Карло или нет, вопрос десятый - там свои ограничения и источники ошибок есть. Понятия не имею, нужен ли там в расчётах Монте-Карло, ибо в нейтронных расчётах разбираюсь примерно как свинья в живописи. О чём говорил - о том, что если алгоритм определён и у него выделены критичные к скорости операции (как прямое/обратное Фурье для ЦОС, к примеру или тригонометрия/квадратный корень для 3д-рендера), то скорость - это не есть проблема. Ну или точно не есть проблема, которая решается именно и только установкой суперкомпов; суперкомпы или вообще процессоры общего назначения нужны как _универсальное_ вычислительное средство. Ведь суперкомпы дают рост производительности на порядки - три-пять порядков максимум. Того же роста в массивных вычислениях можно несоизмеримо дешевле получить аппаратным ускорением. А реакторные штуки - нейтроника или теплотехника выглядят именно как нечто поддающееся параллелизации. Для таких спецалгоритмов есть всякие весёлые платки с дополнительными процессорами, с GPU, с ПЛИС. Их немножко мучительно программировать, но результат в смысле скорость/количество железа или скорость/ватты отличается радикально. Но и выносятся туда после профилирования лишь критичные по скорости функции числодробления, то есть, не нужно же весь алгоритм под железо перепиливать. Только конкретные формулы/операции. А если, как Вы говорите, ещё и компиляторы Фортрана такие убогие в отрасли используются, что переход на нормальную компиляцию С/С++ даёт выигрыш на два порядка, то о чём вообще речь? |
|
|
2.12.2016, 10:40
Сообщение
#8
|
|
Участник-писатель Группа: Patrons Сообщений: 5 578 Регистрация: 20.8.2012 Из: Россия, Москва Пользователь №: 33 670 |
Во-первых, интервью отличное.
Во-вторых, если кто-нибудь сходу вспомнил по коду 90Н команду (семейство 8086, asm) - то пусть напомнит. И, заодно, можно написать код для запрещения прерываний. В интернет грязными руками не лазить! Тем временем, я сделаю вид, что ничего не помню. |
|
|
2.12.2016, 11:16
Сообщение
#9
|
|
Ветеран форума Группа: Patrons Сообщений: 1 273 Регистрация: 23.12.2014 Пользователь №: 34 075 |
Во-вторых, если кто-нибудь сходу вспомнил по коду 90Н команду (семейство 8086, asm) - то пусть напомнит. Слишком просто — это универсальная операция над любыми данными. Ещё в порядке оффтопа, 99 строк на C++, полностью реализующие Монте-Карло для трёхмерной графики: http://www.kevinbeason.com/smallpt/ Сообщение отредактировал Syndroma - 2.12.2016, 11:17 -------------------- Всё это мелкая рябь на волнах экономических циклов, незаметных на приливах эпох.
Накапливать ОЯТ абсурдно для здорового человека. Если мечтать — то ни в чём себе не отказывать. 8956 |
|
|
2.12.2016, 12:18
Сообщение
#10
|
|
Завсегдатай Группа: Haunters Сообщений: 551 Регистрация: 4.7.2014 Из: Moscow Пользователь №: 34 011 |
Во-первых, интервью отличное. Во-вторых, если кто-нибудь сходу вспомнил по коду 90Н команду (семейство 8086, asm) - то пусть напомнит. Процессор 8086 был знаменит тем, что у него не было отдельной команды NOP. В качестве неё использовалась команда XCHG AX, AX. И, заодно, можно написать код для запрещения прерываний. В интернет грязными руками не лазить! Тем временем, я сделаю вид, что ничего не помню. Ну, на ассемблере 8086 я довольно много программировал вплоть до 1995 года. Но коды не помню. Коды я помнил от 8080, довольно долго. Да и сейчас помню больше половины таблицы. А вот от 8086 коды уже не помнил, не было смысла - команды у него ну очень переменной длины и один и тот же байт мог значить совсем разные вещи, в зависимости от начального смещения. Больше того, есть такая программа, которая играет музыку на PC Speaker-е, у неё этот трюк используется - переход посредине команды, после чего исполняется совсем другая последовательность. А ещё у неё в тексте COPYRIGHT было написано одними большими буквами. Потому что это место тоже исполнялось. |
|
|
2.12.2016, 13:14
Сообщение
#11
|
|
Ветеран форума Группа: Patrons Сообщений: 1 211 Регистрация: 24.8.2016 Пользователь №: 34 367 |
Тех кто тянет С/С++ языки в критические области - пристрелить на дальнем подступе. И никак иначе! А лучше пристрелить вообще!
Только проверенные и только НАДЕЖНЫЕ языки высокого уровня! С и С++ не является языком высокого уровня - он застрял на серединке, в нем нет ГЛАВНОГО - в нем нет ЧИТАБЕЛЬНОСТИ КОДА! Все приплыли, и проект F-35 как бы на это намекает, много АДА с примесью С. Вот и до сих пор кувыркаются. Так что только Паскаль, Ада и Фортран. Ну еще можно ассемблер, где это нужно. |
|
|
2.12.2016, 13:18
Сообщение
#12
|
|
Ветеран форума Группа: Patrons Сообщений: 1 211 Регистрация: 24.8.2016 Пользователь №: 34 367 |
Насчет спец. процессора. Сколько было эйфории по поводу Java и что появится куча спец. процессоров поддерживающие Java на уровне железа. И хде они? Все крутиться на обычных серийных процессорах.
|
|
|
2.12.2016, 13:39
Сообщение
#13
|
|
Ветеран форума Группа: Patrons Сообщений: 1 273 Регистрация: 23.12.2014 Пользователь №: 34 075 |
Все крутиться на обычных серийных процессорах. Неправда. Современный компьютер состоит из нескольких серийных процессоров и нескольких тысяч параллельных процессоров. Это радикально отличается от того, что было 20 лет назад. Программа, требующая для выполнения только один универсальный процессор, использует возможности современного компьютера от силы на 10%. Проводить большое количество вычислений на высокоуровневом языке — не самый эффективный подход. Но он может быть оправдан, конечно, если производительность не самое главное. Просто нужно помнить, что в некоторых случаях перемещение ядра вычислений на видеокарту даёт ускорение на 5 порядков. -------------------- Всё это мелкая рябь на волнах экономических циклов, незаметных на приливах эпох.
Накапливать ОЯТ абсурдно для здорового человека. Если мечтать — то ни в чём себе не отказывать. 8956 |
|
|
2.12.2016, 14:19
Сообщение
#14
|
|
Постоянный участник Группа: Patrons Сообщений: 3 147 Регистрация: 16.3.2011 Из: Россия, Краснодар Пользователь №: 32 291 |
А если, как Вы говорите, ещё и компиляторы Фортрана такие убогие в отрасли используются, что переход на нормальную компиляцию С/С++ даёт выигрыш на два порядка, то о чём вообще речь? Интересно еще узнать, что конкретно за машины используются на БАЭС для работы с ГЕФЕСТом. Так может оказаться, что это отнюдь не топовые рабочие станции и сервера, а какая-нибудь убогость. У нас в стране много где в государственных организациях в виде компьютеров для вычислений иногда всякую примитивщину бытовую используют. Знаю исследовательскую группу по прогнозированию землетрясений которая долгое время пользовалась шестью обычными бытовыми двуядерными PC и малой серверной стойкой с восьмиядерным процессором. И это все выдавалось за вычислительные сверхмощности. И только недавно они перешли на использование нового сервера с 64 ядрами. Другой пример, где знакомый работает в госконторе где объемное моделирование электродинамики материалов разных неделями заставляют делать на примитивных двуядерных ноутбуках. А по причине режимности работать на других машинах запрещено. Да чего там говорить, у меня дома на своих трех компьютерах (один ноут и две специализированные PC) вычислительных мощностей больше, чем в исследовательском центре университета нашего, где работаю. Где компьютеры стоят еще лохматых 2009-2011 годов. Сообщение отредактировал VBVB - 2.12.2016, 14:22 -------------------- "чтобы задать правильный вопрос, надо знать большую часть ответа" - Роберт Шекли
|
|
|
2.12.2016, 15:01
Сообщение
#15
|
|
Постоянный участник Группа: Patrons Сообщений: 2 427 Регистрация: 16.3.2011 Пользователь №: 32 318 |
Тех кто тянет С/С++ языки в критические области - пристрелить на дальнем подступе. И никак иначе! А лучше пристрелить вообще! Только проверенные и только НАДЕЖНЫЕ языки высокого уровня! С и С++ не является языком высокого уровня - он застрял на серединке, в нем нет ГЛАВНОГО - в нем нет ЧИТАБЕЛЬНОСТИ КОДА! Все приплыли, и проект F-35 как бы на это намекает, много АДА с примесью С. Вот и до сих пор кувыркаются. Так что только Паскаль, Ада и Фортран. Ну еще можно ассемблер, где это нужно. Если Вы не любите кошек, Вы просто не умеете их готовить. ... С++ по читаемости зависит почти исключительно от программиста. Возможно всё. |
|
|
2.12.2016, 16:20
Сообщение
#16
|
|
Участник-писатель Группа: Patrons Сообщений: 5 578 Регистрация: 20.8.2012 Из: Россия, Москва Пользователь №: 33 670 |
Тех кто тянет С/С++ языки в критические области - пристрелить на дальнем подступе. И никак иначе! А лучше пристрелить вообще! Необоснованная критика, полагаю. Только проверенные и только НАДЕЖНЫЕ языки высокого уровня! С и С++ не является языком высокого уровня - он застрял на серединке, в нем нет ГЛАВНОГО - в нем нет ЧИТАБЕЛЬНОСТИ КОДА! Все приплыли, и проект F-35 как бы на это намекает, много АДА с примесью С. Вот и до сих пор кувыркаются. Так что только Паскаль, Ада и Фортран. Ну еще можно ассемблер, где это нужно. "Читабельность кода" зависит от документирования процесса и опыта и квалификации читающего. Как сугубо личное мнение - чем выше по уровню язык, тем менее контролируется аппаратная архитектура. |
|
|
2.12.2016, 16:20
Сообщение
#17
|
|
Постоянный участник Группа: Patrons Сообщений: 2 427 Регистрация: 16.3.2011 Пользователь №: 32 318 |
Насчет спец. процессора. Сколько было эйфории по поводу Java и что появится куча спец. процессоров поддерживающие Java на уровне железа. И хде они? Все крутиться на обычных серийных процессорах. А какая тут связь? Ява-процессоры просто никому не нужны. А там, где нужны быстрые спецвычисления - нужны спецпроцессоры. А где они нужны, там они и есть. |
|
|
2.12.2016, 16:22
Сообщение
#18
|
|
Постоянный участник Группа: Patrons Сообщений: 2 427 Регистрация: 16.3.2011 Пользователь №: 32 318 |
|
|
|
2.12.2016, 16:54
Сообщение
#19
|
|
Модератор Группа: Clubmen Сообщений: 24 891 Регистрация: 16.1.2007 Из: Обнинск Пользователь №: 4 |
Вот этот момент мне показался самым... странным в интервью. Мощность машин быстро растёт. Несмотря на то, что растёт, требование станции (одна кампания за рабочую смену) еле-ели выполняется с Гефестом, то есть, с уравнением диффузии. Впритык. Так что пока недостаточно выросла. Но задел на будущее сделан. В интервью есть, что программа с более прецизионным методом на станцию уже поставлена. Пока как допсредство для проверки вычислений, если у физиков на станции возникнет такая потребность. В будущем - может, и как основной метод. |
|
|
3.12.2016, 2:44
Сообщение
#20
|
|
Частый гость Группа: Haunters Сообщений: 265 Регистрация: 28.7.2014 Пользователь №: 34 017 |
Если Вы не любите кошек, Вы просто не умеете их готовить. ... С++ по читаемости зависит почти исключительно от программиста. Возможно всё. по читаемости возможно. но я думаю, вы не будете спорить, что в той же яве возможностей выстрелить себе в ногу куда меньше, чем в С++. Я думаю, автор именно это имел в виду, говоря о низкоуровневых языках |
|
|
Текстовая версия | Сейчас: 25.4.2024, 20:33 |