Цитата: adolfus от 26.04.2021 00:30:22Кристофари – обычный кластер из слабосвязанных узлов на базе x86_64 с посредственными характеристиками. Узлы не имеют доступа к памяти друг друга. Производительность ограничена производительностью интерлинков. Программировать для такого рода архитектур архисложно. Однако именно эти архитектуры агрессивно продвигаются США в лице аргонской национальной лаборатории, которая разработала mpi – библиотеку, с помощью которой программирование задач для такого рода кластеров упрощается. Однако сама лаборатория использует совершенно другие архитектуры... тадам... IBM Blue Gene.
Что касается нвидии, то деньги на ней и прочую бухгалтерию считать невозможно – у графических ускорителей вся арифметика только с плавающей запятой, даже целочисленная арифметика в полной мере не поддерживается. Это не годится для финансовых расчетов – там вычисления только с фиксированной запятой. Кстати, x86_64 тоже не имеет поддержки вычислений с фиксированной запятой, поэтому, чтобы правильно считать деньги (большие), приходится эмулировать соответсвующие инструкции через исключение недопустимой операции.Вот, кстати, IBM выдала кобол для x86_64, посмотрим, как они с этим там расправляются.
Нвидию же сбер использует для зарабатывания бабок, продавая машинное время для бигдата-процессинга и тренировки нейросетей – узлы заточены исключительно на это. Собрался рулить цифровым обществом.
Цитата: dmitriк62 от 26.04.2021 13:56:06Вы архитектуру Ненавидии изучали по "Техникемолодёджи" или по "Попмеханике"?
Цитата: adolfus от 17.04.2021 01:12:13Во времена того автокада конструктор с карандашом и парой толстых справочников, набитых закладками, мог рассчитать асферический объектив орбитального телескопа – его этому учили в вузе, откуда он пришел в отдел. Сегодня это реализовано в сапре, но юзер уже не конструктор – он не только расчитать, он вообще не понимает как это работает. Он берет то, что есть в библиотеке сапра, собирает до кучи и просто говрит – ну вот так вот получается. А когда спрашиваешь, почему кома на порядок больше, чем дает теория, делает круглые глаза. Сапр не подберет стекло, но посчитает засветку внутренностей или искажения из-за одностороннего нагрева и прочей никогда не реализуемой в нормальном проекте фигни. Зачем конструкору считать, как там будет, если что-то там криво нагреется или придет блик? Он просто следуя правилам, понятым и заученным в вузе, либо отображенным в руководствах и справочниках, будет не считать это дерьмо, а делать, чтобы этого избежать. Современный сапр сильно заточен на визуализацию и кейсы использования, однако мало кто из тех конструкторов, кого я знаю, этим пользуется – это совершенно бессмысленная вещь.
Цитата: mse от 27.04.2021 12:31:49Сцукко, до слёз... Левая крайняя колонка, это стопка 64-битных РОН. В мире стока денех нет, чтобы обсчитать с дефолтной точностью и фиксированной запятой.Скрытый текст
Цитата: adolfus от 28.04.2021 01:10:04сложные проценты и прочую экспоненциально-логарифмическую банковскую муйню
...
Опять же проблема с мультипликативными операциями – требуют коррекции, типа как для bcd
...
десятилетиями оттестированные алгоритмы
...
один и тот же банковский или экономический алргоритм при одних и тех же условиях должен выдавать одни и те же результаты
...
написанный полсотни лет назад и выполняющийся на мейнфреймах
...
инструкций, которая выполняется через исключение недопустимой операции
...
доказывается, что эмулянты работают так же, как и аппаратные.
Цитата: Senya от 28.04.2021 07:38:43Не понял только, зачем это делать через прерывание, а не через вызов подпрограммы. Неужели кому-то настолько не хватает быстродействия?
Цитата: adolfus от 26.04.2021 00:30:22Кристофари – обычный кластер из слабосвязанных узлов на базе x86_64 с посредственными характеристиками. Узлы не имеют доступа к памяти друг друга. Производительность ограничена производительностью интерлинков. Программировать для такого рода архитектур архисложно. Однако именно эти архитектуры агрессивно продвигаются США в лице аргонской национальной лаборатории, которая разработала mpi – библиотеку, с помощью которой программирование задач для такого рода кластеров упрощается. Однако сама лаборатория использует совершенно другие архитектуры... тадам... IBM Blue Gene.
Что касается нвидии, то деньги на ней и прочую бухгалтерию считать невозможно – у графических ускорителей вся арифметика только с плавающей запятой, даже целочисленная арифметика в полной мере не поддерживается. Это не годится для финансовых расчетов – там вычисления только с фиксированной запятой. Кстати, x86_64 тоже не имеет поддержки вычислений с фиксированной запятой, поэтому, чтобы правильно считать деньги (большие), приходится эмулировать соответсвующие инструкции через исключение недопустимой операции.Вот, кстати, IBM выдала кобол для x86_64, посмотрим, как они с этим там расправляются.
Нвидию же сбер использует для зарабатывания бабок, продавая машинное время для бигдата-процессинга и тренировки нейросетей – узлы заточены исключительно на это. Собрался рулить цифровым обществом.
Цитата: Senya от 28.04.2021 07:38:43Гм. Как я понял эту увлекательнейшую историю. Иррациональные величины, получающиеся при экспоненциальных расчетах всё равно невозможно выразить в виде целочисленных дробей, поэтому применяются округления (я читал что до сотой доли самой мелкой единицы - копейки, цента - но не суть). В банковском деле стандартом стали округления, автоматически получавшиеся на архитектуре 60-х годов прошлого века, и от всех новых программ требуют совпадения с теми примерами. Но сегодня копировать схемотехнические решения из седой древности. никто не будет, поэтому они эмулируются с помощью отработанных и проверенных временем алгоритмов. Не понял только, зачем это делать через прерывание, а не через вызов подпрограммы. Неужели кому-то настолько не хватает быстродействия?
ЗЫ.
И вообще просто серфясь по интернету через https миллиарды людей ежедневно проводят сотни миллиардов транзакций с длинными целыми, которые ни одна процессорная архитектура не поддерживает и ещё несколько десятилетий поддерживать не будет. И никто из этого трагедии не делает.
Цитата: Longspig от 28.04.2021 10:39:19Вообще-то аппаратно всё должно работать начиная с 486-х процов. Флаги округления FPU выставить в нужный режим (их 4 режима. Для целочисленых вычислений вроде выбирать положено округление к нулю. Не знаю как с финансами).
Цитата: adolfus от 28.04.2021 12:22:12С финансами это не работает. Во-первых, FPU дает относительную погрешность представления чисел (IEEE 754 обеспечивает логарифмическую равномерность чисел), а для финансов требуется абсолютная (требуется линейная равномерность). Во-второых, дробная часть двоичного числа, подлежащая округлению, всегда нечетная и в какую сторону младший установленный бит не округляй, либо недосчитаешься впоследствии, либо еще хуже – с тебя же и взыщут. Ошибка округления растет, как корень из числа операций. Правило "добавь полразряда и обрежь" работает только в школе на уроках арифметики.
Цитата: adolfus от 28.04.2021 12:03:59Там свои типы данных, свои операции, алгоритмы и прочее
Цитата: adolfus от 28.04.2021 12:03:59Мало того, "мягкую" компоненту этой "седой древности" даже в граните отлили. Мало кто в такой гранит может. Не только лишь все
Цитата: Поверонов от 28.04.2021 13:45:03целочисленные операции ограничиваются сложением ( со знаком ) и умножением. Как только появляется деление
Цитата: adolfus от 28.04.2021 12:22:12С финансами это не работает. Во-первых, FPU дает относительную погрешность представления чисел (IEEE 754 обеспечивает логарифмическую равномерность чисел), а для финансов требуется абсолютная (требуется линейная равномерность). Во-второых, дробная часть двоичного числа, подлежащая округлению, всегда нечетная и в какую сторону младший установленный бит не округляй, либо недосчитаешься впоследствии, либо еще хуже – с тебя же и взыщут. Ошибка округления растет, как корень из числа операций. Правило "добавь полразряда и обрежь" работает только в школе на уроках арифметики.
Цитата: adolfus от 28.04.2021 01:10:04... Я даже не знаю как мне на этот Ваш "до слез" отвечать... Вы программируете на ассемблере? На каком? Знаете, как используя базовую целочисленную арифметику считать сложные проценты и прочую экспоненциально-логарифмическую банковскую муйню? Достойно уважения...
Цитата
Это в графике можно – "поставил" точку где-то посредине целого, типа вместо метров в миллиметрах (двоичных, разумеется), а то и в микронах работаем, и пиши в целых. С деньгами так не выйдет. Вы в лучшем случае начнете терять, либо генерировать. Опять же проблема с мультипликативными операциями – требуют коррекции, типа как для bcd. А уж как муторно возиться с дробями и рядами, используя целочисленную арифметику, не передать словами.
Цитата
Да и смысла нет, если есть доказанные и десятилетиями оттестированные алгоритмы, опирающиеся на доказанные примитивы и инструкции – бери и повторяй. Работая с деньгами, Вы не можете просто так сменит набор инструкций и типы данных – один и тот же банковский или экономический алргоритм при одних и тех же условиях должен выдавать одни и те же результаты вне зависимости от того, на чем он написан и на чем выполняется. Вы не задумывались, почему не переносят код с кобола, написанный полсотни лет назад и выполняющийся на мейнфреймах, на другие языки и другие платформы?
Цитата
...
Деньги на x86_64 считаются, да. Но путем эмуляции реальных десятилетиями обкатанных в реальном коде инструкций, которая выполняется через исключение недопустимой операции. Компилятор (или программист) генерирует левую инструкцию, которая вне набора и вызывает исключение #UD. Пишется обработчик, который парсит инструкцию, вызвавшую #UD, и эмулирует требуемую из "кошерного" набора. Потом доказывается, что эмулянты работают так же, как и аппаратные.
Цитата: adolfus от 28.04.2021 12:03:59Транзакции не люди проводят, а программы, которые работают не у миллиардов людей, а на конкретных серверах, и этим серверам все эти длинные целые, что у людей, которые эти самые транзакции инициируют, до фиолетовой лампочки. Там свои типы данных, свои операции, алгоритмы и прочее. И никто не собирается в ближайше время это все менять и переделывать. Перманентно возникающие передельщики этой "седой древности" уже более, чем полвека пытаются переплыть на "модную, молодежную современность", натыкаются на проблемы, в том числе и округления, которые почему-то никак не получается нормально решить и сдаются. Если в 80-х и 90-х за эту деятельность хоть как-то платили (таки я даже за это получал), то сегодня предпочитают вкладывать деньги в развитие этой самой "седой древности" и обучение общению с ней. Мало того, "мягкую" компоненту этой "седой древности" даже в граните отлили. Мало кто в такой гранит может. Не только лишь все И что-то я не вижуза окном корабляна лужайке с гранинтными памятниками ни питона ни джавы. Все как в теме с переносом числодробительного кода с фортрана...
Помимо транзакций есть еще куча алгоритмов, в том числе и те, результатом которых является "округление иррациональных результатов" . Кстати, как вы будете округлять? Например, ссуду денег в рост? Умножаете длинное целое денег на процент и ... получаете дробный результат – деньги плюс "хвост". B так каждый день. В результате у вас накапливается дробная часть. Допустим, перед умножением было масштабирование на 8 разрядов и после умножения нужно все отмасштабировать на 8 разрядов назад, а у вас в этих самых разрядах не нуль. И как мы с ними поступим? И что получим в приросте в конце года?
Цитата: Longspig от 28.04.2021 18:38:48Пока мантисса не выходит за пределы 64-битной разрядногй сетки, равномерность будет линейной.
Цитата: mse от 28.04.2021 19:50:10Мейнфреймы, кстате, имели примерно такие-же системы команд, что и х86.
Цитата: GrinF от 28.04.2021 21:50:23Есть у меня родственник ... как-то 3 года назад увлекся роботами ну и начал сам мало-помалу писать проги... в последнее время дорщел до программирования FPGA... Ну звонит месяца три назад и спрашивает а не зная ли я алгоритма деления который бы не использовал плавающие числа - ему нужно скорость движения быстро оценить по показаниям датчика скорсти вращения, ибо FPGA куда быстрее работает с целыми числами нежели с плавающими. Я ему предложил разлодение в ряд тейлора прменить, а потом вспомнил что есть более быстрые алгоритмы деления в вике
Цитата: adolfus от 29.04.2021 02:02:18Нормализованное число с плавающей точкой обеспечивает только относительную точность представления, или другими словами, логарифмическую равномерность. Вблизи нуля числа расположены чаще, вдали – реже.