Проектирование FPU блока, работающего на частоте 7 ГГц

Данный проект представляет собой современный вычислительный блок, предназначенный для обработки научных и графических данных на сверхвысокой частоте 7 ГГц . Архитектура построена на базе 128-битных векторов и 5-стадийного конвейера.

https://habr.com/ru/articles/993270/

#floatingpoint #floating_point

Проектирование FPU блока, работающего на частоте 7 ГГц

1. Введение Данный проект представляет собой ��овременный вычислительный блок, предназначенный для обработки научных и графических данных на сверхвысокой частоте 7 ГГц . Архитектура построена на базе...

Хабр

Ликбез о плавающей точке: сложение, катастрофическое сокращение и бабушка Кэхена

Давайте продолжим обсуждение самой неоптимизированной в мире 32-битной библиотеки для работы с плавающей запятой TinyFloat . Библиотека написана на C++ и намеренно избегает встроенных типов плавающей запятой, полагаясь исключительно на 32-битные целые числа. Цель состоит в том, чтобы сделать код максимально читабельным — без бит-хаков и хитроумных уловок. Кроме того, я хочу иметь подробную документацию о том, что происходит «под капотом». Оказалось, что лучший способ документировать код C++ — это полностью переписать его на Python :) Это третья статья из цикла, первые две читать тут и тут .

https://habr.com/ru/articles/967686/

#float #плавающая_точка #программирование #floating_point #Kahan_summation #catastrophic_cancellation

Ликбез о плавающей точке: сложение, катастрофическое сокращение и бабушка Кэхена

Давайте продолжим обсуждение самой неоптимизированной в мире 32-битной библиотеки для работы с плавающей запятой TinyFloat . Библиотека написана на C++ и намеренно избегает встроенных типов плавающей...

Хабр

Числовой тип данных с плавающей точкой float IEEE 754

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

https://habr.com/ru/articles/957822/

#Тип_данных #кодирование #кодирование_аудио #вещественные_числа #float32 #floating_point #floating_point_numbers #float

Числовой тип данных с плавающей точкой float IEEE 754

Данная статья посвящена детальному разбору числового типа данных float. Что такое тип данных в программировании? Тип данных это метод хранения блока битов в определённом порядке и по определённым...

Хабр

Проблема, о которой вы даже не подозревали: print(.1+.2)

Как следует отображать на экране результат деления 3.0 на 10.0 ? Сколько цифр следует вывести, если пользователь не указал точность? Скорее всего, вы даже не знали, что вывод чисел с плавающей запятой — это сложная проблема , настолько сложная, что по ней написаны десятки научных статей, причём последний прорыв был относительно недавно, в 2016 году. На самом деле, это одна из самых сложных частей поддержки чисел с плавающей запятой в среде выполнения языка. Давайте продолжим разговор о самой неоптимизированной в мире библиотеке эмуляции плавающей точки при помощи целочисленной арифметики. Первую статью читать тут .

https://habr.com/ru/articles/948556/

#float #плавающая_точка #числа #программирование #floating_point

Проблема, о которой вы даже не подозревали: print(.1+.2)

Как следует отображать на экране результат деления 3.0 на 10.0 ? Сколько цифр следует вывести, если пользователь не указал точность? Скорее всего, вы даже не знали, что вывод чисел с плавающей запятой...

Хабр

Санпросвет о плавающей точке, статья первая: компьютеры и числа

Недавно мне понадобилось сэмулировать работу с плавающей точкой только при помощи целочисленной арифметики, поскольку флоаты были недоступны. Полез я было в интернет за готовой библиотекой, и чуть не утонул. Мало того, что я не нашёл того, что искал, это бог с ним. Я обнаружил, что в интернете кто-то неправ . :) Оказалось, что форумы кишат людьми, которые не до конца понимают, как компьютеры манипулируют числами. Например, мемасик с КПДВ я стянул с реддита (перечеркнул его я). Кто-то настолько был напуган страшными ошибками округления чисел с плавающей точкой, что даже смешную картинку смастерил. Только вот проблема в том, что 0.5 + 0.5 в точности равно 1.0 . Таким образом, я решил засучить рукава, и изобрести велосипед. То есть, написать самую неоптимизированную C++ библиотеку для эмуляции IEEE754 32-битных чисел с плавающей точкой при помощи исключительно 32-битной целочисленной арифметики. Библиотека уложится в несколько сотен строк кода, и в ней не будет никакого битхакинга. Задача написать понятный код, а не быстрый. А заодно хорошенько его документировать серией статей. Итак, этим полукреслом мастер Гамбс начинает новую партию мебели, или статья первая: поговорим о числах и компьютерах.

https://habr.com/ru/articles/947886/

#float #плавающая_точка #числа #программирование #floating_point

Санпросвет о плавающей точке, статья первая: компьютеры и числа

Недавно мне понадобилось сэмулировать работу с плавающей точкой только при помощи целочисленной арифметики, поскольку флоаты были недоступны. Полез я было в интернет за готовой библиотекой, и чуть не...

Хабр

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

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

https://habr.com/ru/companies/ruvds/articles/881698/

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

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

Введённый в 1985 году стандарт IEEE-754 для чисел с плавающей запятой был предназначен для решения проблемы разнородности реализаций чисел с плавающей запятой, мешавших портируемости кода, а также для...

Хабр

Точность позиционирования объектов в играх: возможные ошибки

- Чем чревато брать float или double в качестве типа данных для хранения позиций объектов? - Как это может повлиять на наличие багов в игре и ошибки синхронизации сетевой игры или реплеев? Об этом вы узнаете в этом гайде с наглядными гифками и пруфом на C++

https://habr.com/ru/articles/876816/

#float #floating_point #precision #точность_вычислений #gamedev #разработка_игр #c++ #компилятор_оптимизация #движки #игровой_движок

Точность позиционирования объектов в играх: возможные ошибки

Если вы возьмёте тип float/double для хранения координат объектов, то получите плавные движения по экрану за счёт сохранения дробной части - игровые сущности смогут передвигаться по субпикселям, но...

Хабр

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

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

https://habr.com/ru/companies/serverflow/articles/847068/

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

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

Привет, Хабр! Сегодня давайте поговорим о том, как современные вычисления на GPU стали более гибкими и эффективными благодаря различным форматам чисел с плавающей запятой ( FP64 , FP32 , FP16 ,...

Хабр

Малые числа, большие возможности: как плавающая запятая ускоряет ИИ и технологии

Привет, Хабр! С вами снова ServerFlow, и сегодня мы решили погрузиться в увлекательный мир чисел с плавающей запятой . Вы когда-нибудь задумывались, почему существуют разные виды этих чисел и как они влияют на производительность наших процессоров и видеокарт? Как малые числа с плавающей запятой помогают развивать нейросети и искусственный интеллект? Давайте вместе разберемся в этих вопросах, раскроем тайны стандарта IEEE 754 и узнаем, какое значение имеют большие и маленькие числа с плавающей запятой в современных вычислениях.

https://habr.com/ru/companies/serverflow/articles/846732/

#плавающая_запятая #fp32 #fp16 #INT8 #квантизация #Тензорные_ядра #fpu #floatingpoint #floating_point #ieee_754

Малые числа, большие возможности: как плавающая запятая ускоряет ИИ и технологии

Привет, Хабр! С вами снова ServerFlow, и сегодня мы решили погрузиться в увлекательный мир чисел с плавающей запятой. Вы когда-нибудь задумывались, почему существуют разные виды этих чисел и как они...

Хабр

Что такое Decimal64 из Decimal floating point из IEEE 754 или точные десятичные числа с плавающей запятой в компьютере

Более 90% всех программистов знают, что такое обычные числа с плавающей запятой: binary32/binary64/binary128, их часто называют float, double и т.д. соответсвенно, есть много информации о том почему 0,1 не может существовать в бинарном виде, что при большом количестве значащих цифр будут недостаток точности, даже, если ты не выходишь за рамки 16 цифр, зато они быстрые… Но почти нет информации о том, что прекрасное решение, которое сохраняет все достоинства и исправляет недостатки есть, даже в самом обновленном стандарте плавающих чисел IEEE 754-2008 уже больше 15 лет, это decimal floating point(DFP) . Для начала вспомним устройство обычного binary64: 1 бит знака, 11 битов экспоненты, 52 бита мантиссы. Давайте лучше картинку покажу:

https://habr.com/ru/articles/839524/

#плавающая_запятая #плавающая_точка #dpd #decimal #float #floating_point #ieee754 #математика #технологии #компьютер

Что такое Decimal64 из Decimal floating point из IEEE 754 или точные десятичные числа с плавающей запятой в компьютере

*Все примеры здесь рассматриваются для 64 битных чисел(все примеры аналогичны и для других значений), если не указано иное. Более 90% всех программистов знают, что такое обычные числа с плавающей...

Хабр