home.social

#числа_с_плавающей_запятой — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #числа_с_плавающей_запятой, aggregated by home.social.

  1. Быстрое приближённое умножение и деление чисел с плавающей точкой

    Особенности формата хранения чисел с плавающей точкой позволяют быстро находить приближённое значение логарифма, и, за счёт этого, выполнять умножение и деление. Результат при этом будет неточным, однако может быть применимым там, где особая точность не требуется.

    habr.com/ru/articles/906598/

    #умножение #числа_с_плавающей_точкой #числа_с_плавающей_запятой #деление #приближенные_вычисления #приближенные_алгоритмы #приближенное_умножение #приближенное_деление #быстрые_алгоритмы

  2. Быстрое приближённое умножение и деление чисел с плавающей точкой

    Особенности формата хранения чисел с плавающей точкой позволяют быстро находить приближённое значение логарифма, и, за счёт этого, выполнять умножение и деление. Результат при этом будет неточным, однако может быть применимым там, где особая точность не требуется.

    habr.com/ru/articles/906598/

    #умножение #числа_с_плавающей_точкой #числа_с_плавающей_запятой #деление #приближенные_вычисления #приближенные_алгоритмы #приближенное_умножение #приближенное_деление #быстрые_алгоритмы

  3. Быстрое приближённое умножение и деление чисел с плавающей точкой

    Особенности формата хранения чисел с плавающей точкой позволяют быстро находить приближённое значение логарифма, и, за счёт этого, выполнять умножение и деление. Результат при этом будет неточным, однако может быть применимым там, где особая точность не требуется.

    habr.com/ru/articles/906598/

    #умножение #числа_с_плавающей_точкой #числа_с_плавающей_запятой #деление #приближенные_вычисления #приближенные_алгоритмы #приближенное_умножение #приближенное_деление #быстрые_алгоритмы

  4. Быстрое приближённое умножение и деление чисел с плавающей точкой

    Особенности формата хранения чисел с плавающей точкой позволяют быстро находить приближённое значение логарифма, и, за счёт этого, выполнять умножение и деление. Результат при этом будет неточным, однако может быть применимым там, где особая точность не требуется.

    habr.com/ru/articles/906598/

    #умножение #числа_с_плавающей_точкой #числа_с_плавающей_запятой #деление #приближенные_вычисления #приближенные_алгоритмы #приближенное_умножение #приближенное_деление #быстрые_алгоритмы

  5. FP32, FP16, BF16 и FP8 — разбираемся в основных типах чисел с плавающей запятой

    Привет, Хабр! Сегодня давайте поговорим о том, как современные вычисления на GPU стали более гибкими и эффективными благодаря различным форматам чисел с плавающей запятой ( FP64 , FP32 , FP16 , BFLOAT16 и FP8 ). Эти форматы не просто числа — за каждым из них стоит конкретная область применения. В разных ситуациях мы сталкиваемся с задачами, где важны либо скорость, либо точность, и правильно выбранный тип floating point помогает оптимизировать ресурсы. Давайте разберём всё это на примерах и поймём, в каких задачах каждый из этих форматов будет наиболее полезен.

    habr.com/ru/companies/serverfl

    #FP16 #fp32 #FP64 #BF16 #floating_point #плавающая_запятая #fp8 #числа_с_плавающей_запятой #формат_с_плавающей_запятой

  6. [Перевод] Ни одна реализация элементарных функций не соответствует стандарту IEEE 754

    Введённый в 1985 году стандарт IEEE-754 для чисел с плавающей запятой был предназначен для решения проблемы разнородности реализаций чисел с плавающей запятой, мешавших портируемости кода, а также для повышения стабильности между платформами. Он получил широкое применение и многократно пересматривался в течение прошедших лет. Если вы когда-нибудь работали с любыми вещественными числами в своих приложениях, то они, вероятно, отвечали этому стандарту. Моя работа в течение последнего года заключалась в анализе погрешности различных математических функций, накопления этой погрешности и способов её уменьшения при помощи различных программных паттернов. Одной из исследованных мной тем были базовые математические функции, используемые в функциях активации нейронных сетей, а также способы их аппроксимации для повышения производительности . В процессе работы нам пришлось столкнуться с противодействием со стороны людей, активно стремящихся к корректной реализации математических функций и к соответствию их стандартам, в частности, к соблюдению обеспечения корректности одной наименее значимой единицы измерения (unit in last place, ULP) для элементарных функций. Я был заинтересован в дальнейшей работе по аппроксимации этих функций, поэтому приступил к исследованию того, каким образом они гарантируют корректность, и если они корректны только на 1 ULP, то где располагаются ошибки в области определения функции. В процессе изучения я обнаружил, что ни одна из популярных математических библиотек, используемых во множестве сфер вычислений, на самом деле не выполняет корректное округление в соответствии с требованиями любой версии IEEE 754 после первой редакции 1985 года.

    habr.com/ru/companies/ruvds/ar

    #числа_с_плавающей_запятой #floating_point #ieee_754 #плавающая_запятая #плавающая_точка #погрешности_округления #fpu #ruvds_статьи

  7. FP32, FP16, BF16 и FP8 — разбираемся в основных типах чисел с плавающей запятой

    Привет, Хабр! Сегодня давайте поговорим о том, как современные вычисления на GPU стали более гибкими и эффективными благодаря различным форматам чисел с плавающей запятой ( FP64 , FP32 , FP16 , BFLOAT16 и FP8 ). Эти форматы не просто числа — за каждым из них стоит конкретная область применения. В разных ситуациях мы сталкиваемся с задачами, где важны либо скорость, либо точность, и правильно выбранный тип floating point помогает оптимизировать ресурсы. Давайте разберём всё это на примерах и поймём, в каких задачах каждый из этих форматов будет наиболее полезен.

    habr.com/ru/companies/serverfl

    #FP16 #fp32 #FP64 #BF16 #floating_point #плавающая_запятая #fp8 #числа_с_плавающей_запятой #формат_с_плавающей_запятой

  8. FP32, FP16, BF16 и FP8 — разбираемся в основных типах чисел с плавающей запятой

    Привет, Хабр! Сегодня давайте поговорим о том, как современные вычисления на GPU стали более гибкими и эффективными благодаря различным форматам чисел с плавающей запятой ( FP64 , FP32 , FP16 , BFLOAT16 и FP8 ). Эти форматы не просто числа — за каждым из них стоит конкретная область применения. В разных ситуациях мы сталкиваемся с задачами, где важны либо скорость, либо точность, и правильно выбранный тип floating point помогает оптимизировать ресурсы. Давайте разберём всё это на примерах и поймём, в каких задачах каждый из этих форматов будет наиболее полезен.

    habr.com/ru/companies/serverfl

    #FP16 #fp32 #FP64 #BF16 #floating_point #плавающая_запятая #fp8 #числа_с_плавающей_запятой #формат_с_плавающей_запятой

  9. [Перевод] Плавающие запятые и ящики

    Компьютеры имеют дело с числами — с большими и маленькими. При этом компьютерам необходимо оставаться в рамках ограничений, которые на них накладывает их физическая природа (размер регистров процессора и объём оперативной памяти). Следствием этого является тот факт, что процессоры обычно, на самом низком уровне, понимают лишь два типа чисел.

    habr.com/ru/companies/wunderfu

    #прогрммирование #числа_с_плавающей_запятой

  10. [Перевод] Арифметика с плавающей точкой без ошибок

    Числа с плавающей точкой (одинарной или двойной точности) печально известны за нелепые вычислительные ошибки. Здесь я описываю специальный алгоритм, который позволит их избежать

    habr.com/ru/articles/819843/

    #go #golang #числа_с_плавающей_запятой #числа_с_плавающей_точкой/запятой #числа_с_плавающей_точкой #вычисления #бенчмаркинг

  11. [Перевод] Укрощаем суммы с плавающей запятой

    Допустим, у нас есть массив чисел с плавающей запятой, и мы хотим их суммировать. Можно наивно подумать, что их достаточно просто сложить, например, на Rust. Однако это запросто может привести к произвольно большой накопленной погрешности. Давайте проверим: naive_sum(&vec![1.0; 1_000_000]) = 1000000.0 naive_sum(&vec![1.0; 10_000_000]) = 10000000.0 naive_sum(&vec![1.0; 100_000_000]) = 16777216.0 naive_sum(&vec![1.0; 1_000_000_000]) = 16777216.0 Ой-ёй… Что произошло? Проблема в том .что следующее 32-битное число с плавающей запятой после 16777216 — это 16777218 . Так что при вычислении 16777216 + 1 , значение округляется до ближайшего числа с плавающей запятой, имеющей чётную мантиссу, то есть снова до 16777216 . Мы зашли в тупик. К счастью, есть более совершенные способы суммирования массива.

    habr.com/ru/articles/819135/

    #числа_с_плавающей_запятой #сложение #оптимизации #округление #погрешности_округления

  12. 16-, 8- и 4-битные форматы чисел с плавающей запятой

    Уже лет 50, со времён выхода первого издания «Языка программирования Си» Кернигана и Ритчи, известно, что «числа с плавающей запятой» одинарной точности имеют размер 32 бита, а числа двойной точности — 64 бита. Существуют ещё и 80-битные числа расширенной точности типа «long double». Эти типы данных покрывали почти все нужды обработки вещественных чисел. Но в последние несколько лет, с наступлением эпохи больших нейросетевых моделей, у разработчиков появилась потребность в типах данных, которые не «больше», а «меньше» существующих, потребность в том, чтобы как можно сильнее «сжать» типы данных, представляющие числа с плавающей запятой. Я, честно говоря, был удивлён, когда узнал о существовании 4-битного формата для представления чисел с плавающей запятой. Да как такое вообще возможно? Лучший способ узнать об этом — самостоятельно поработать с такими числами. Сейчас мы исследуем самые популярные форматы чисел с плавающей запятой, создадим с использованием некоторых из них простую нейронную сеть и понаблюдаем за тем, как она работает.

    habr.com/ru/companies/wunderfu

    #Python #разработка #числа_с_плавающей_запятой