#ieee_754 — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #ieee_754, aggregated by home.social.
-
Каталог из 83 форматов с плавающей точкой, который сам себя проверяет
Если вы ловили расхождение точности между двумя реализациями одной сети, то знаете это чувство: один matmul на двух устройствах даёт разные числа, и непонятно — это баг, bf16 округлил или формат не тот. Две команды меряют один результат разными линейками. Я сделал одну линейку с точными насечками: машинно-проверяемый каталог из 83 числовых форматов в 13 кластерах. Для каждого — разрядка битов, смещение, кодирование inf/NaN/субнормалей и общий якорь проверки 0x47C0. Из одного источника истины генерируются Markdown, JSON, Python, Rust, C и RTL для кремния. У каждого формата стоит метка зрелости: 51 Verified, 12 Historical, 11 Experimental, 9 Open. И отдельная ось — граница RTL: где правило e = round((N−1)/φ²) ещё работающее железо (GF16 доведён до кремния), а где уже гипотеза (GF512/GF1024 — экстраполяция без строки Verilog). Внутри — лестница зрелости форматов, связь с IEEE P3109 и реальный баг в умножителе, который нашли только потому, что под форматом есть железо. Как устроена линейка
https://habr.com/ru/articles/1051520/
#числовые_форматы #floating_point #FP8 #bfloat16 #GoldenFloat #IEEE_754 #квантизация #RTL #posit #машинная_точность
-
Каталог из 83 форматов с плавающей точкой, который сам себя проверяет
Если вы ловили расхождение точности между двумя реализациями одной сети, то знаете это чувство: один matmul на двух устройствах даёт разные числа, и непонятно — это баг, bf16 округлил или формат не тот. Две команды меряют один результат разными линейками. Я сделал одну линейку с точными насечками: машинно-проверяемый каталог из 83 числовых форматов в 13 кластерах. Для каждого — разрядка битов, смещение, кодирование inf/NaN/субнормалей и общий якорь проверки 0x47C0. Из одного источника истины генерируются Markdown, JSON, Python, Rust, C и RTL для кремния. У каждого формата стоит метка зрелости: 51 Verified, 12 Historical, 11 Experimental, 9 Open. И отдельная ось — граница RTL: где правило e = round((N−1)/φ²) ещё работающее железо (GF16 доведён до кремния), а где уже гипотеза (GF512/GF1024 — экстраполяция без строки Verilog). Внутри — лестница зрелости форматов, связь с IEEE P3109 и реальный баг в умножителе, который нашли только потому, что под форматом есть железо. Как устроена линейка
https://habr.com/ru/articles/1051520/
#числовые_форматы #floating_point #FP8 #bfloat16 #GoldenFloat #IEEE_754 #квантизация #RTL #posit #машинная_точность
-
Каталог из 83 форматов с плавающей точкой, который сам себя проверяет
Если вы ловили расхождение точности между двумя реализациями одной сети, то знаете это чувство: один matmul на двух устройствах даёт разные числа, и непонятно — это баг, bf16 округлил или формат не тот. Две команды меряют один результат разными линейками. Я сделал одну линейку с точными насечками: машинно-проверяемый каталог из 83 числовых форматов в 13 кластерах. Для каждого — разрядка битов, смещение, кодирование inf/NaN/субнормалей и общий якорь проверки 0x47C0. Из одного источника истины генерируются Markdown, JSON, Python, Rust, C и RTL для кремния. У каждого формата стоит метка зрелости: 51 Verified, 12 Historical, 11 Experimental, 9 Open. И отдельная ось — граница RTL: где правило e = round((N−1)/φ²) ещё работающее железо (GF16 доведён до кремния), а где уже гипотеза (GF512/GF1024 — экстраполяция без строки Verilog). Внутри — лестница зрелости форматов, связь с IEEE P3109 и реальный баг в умножителе, который нашли только потому, что под форматом есть железо. Как устроена линейка
https://habr.com/ru/articles/1051520/
#числовые_форматы #floating_point #FP8 #bfloat16 #GoldenFloat #IEEE_754 #квантизация #RTL #posit #машинная_точность
-
Почему ваш персонаж телепортируется при высоком FPS: float precision в играх
Всем привет! Меня зовут Григорий Дядиченко, и я разрабатываю разные проекты на заказ. Сталкивались ли вы с ситуацией, когда персонаж в вашей игре начинает немного дёргаться, если поиграть достаточно долго? Или пуля иногда пролетает сквозь тонкую стену, хотя коллайдер на месте? Если да — добро пожаловать в мир проблем float precision. Сегодня хочется поговорить о том, почему тип float — при всей его повсеместности — может создавать тонкие и неочевидные баги в играх. Разберём, как он устроен, где именно он начинает врать, и что с этим делать. Если вам интересна эта тема — добро пожаловать под кат!
https://habr.com/ru/articles/1020002/
#float #IEEE_754 #floating_point #Unity #precision #gamedev #floating_origin #epsilon
-
Почему ваш персонаж телепортируется при высоком FPS: float precision в играх
Всем привет! Меня зовут Григорий Дядиченко, и я разрабатываю разные проекты на заказ. Сталкивались ли вы с ситуацией, когда персонаж в вашей игре начинает немного дёргаться, если поиграть достаточно долго? Или пуля иногда пролетает сквозь тонкую стену, хотя коллайдер на месте? Если да — добро пожаловать в мир проблем float precision. Сегодня хочется поговорить о том, почему тип float — при всей его повсеместности — может создавать тонкие и неочевидные баги в играх. Разберём, как он устроен, где именно он начинает врать, и что с этим делать. Если вам интересна эта тема — добро пожаловать под кат!
https://habr.com/ru/articles/1020002/
#float #IEEE_754 #floating_point #Unity #precision #gamedev #floating_origin #epsilon
-
Почему ваш персонаж телепортируется при высоком FPS: float precision в играх
Всем привет! Меня зовут Григорий Дядиченко, и я разрабатываю разные проекты на заказ. Сталкивались ли вы с ситуацией, когда персонаж в вашей игре начинает немного дёргаться, если поиграть достаточно долго? Или пуля иногда пролетает сквозь тонкую стену, хотя коллайдер на месте? Если да — добро пожаловать в мир проблем float precision. Сегодня хочется поговорить о том, почему тип float — при всей его повсеместности — может создавать тонкие и неочевидные баги в играх. Разберём, как он устроен, где именно он начинает врать, и что с этим делать. Если вам интересна эта тема — добро пожаловать под кат!
https://habr.com/ru/articles/1020002/
#float #IEEE_754 #floating_point #Unity #precision #gamedev #floating_origin #epsilon
-
[Перевод] Ни одна реализация элементарных функций не соответствует стандарту 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 для чисел с плавающей запятой был предназначен для решения проблемы разнородности реализаций чисел с плавающей запятой, мешавших портируемости кода, а также для повышения стабильности между платформами. Он получил широкое применение и многократно пересматривался в течение прошедших лет. Если вы когда-нибудь работали с любыми вещественными числами в своих приложениях, то они, вероятно, отвечали этому стандарту. Моя работа в течение последнего года заключалась в анализе погрешности различных математических функций, накопления этой погрешности и способов её уменьшения при помощи различных программных паттернов. Одной из исследованных мной тем были базовые математические функции, используемые в функциях активации нейронных сетей, а также способы их аппроксимации для повышения производительности . В процессе работы нам пришлось столкнуться с противодействием со стороны людей, активно стремящихся к корректной реализации математических функций и к соответствию их стандартам, в частности, к соблюдению обеспечения корректности одной наименее значимой единицы измерения (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 для чисел с плавающей запятой был предназначен для решения проблемы разнородности реализаций чисел с плавающей запятой, мешавших портируемости кода, а также для повышения стабильности между платформами. Он получил широкое применение и многократно пересматривался в течение прошедших лет. Если вы когда-нибудь работали с любыми вещественными числами в своих приложениях, то они, вероятно, отвечали этому стандарту. Моя работа в течение последнего года заключалась в анализе погрешности различных математических функций, накопления этой погрешности и способов её уменьшения при помощи различных программных паттернов. Одной из исследованных мной тем были базовые математические функции, используемые в функциях активации нейронных сетей, а также способы их аппроксимации для повышения производительности . В процессе работы нам пришлось столкнуться с противодействием со стороны людей, активно стремящихся к корректной реализации математических функций и к соответствию их стандартам, в частности, к соблюдению обеспечения корректности одной наименее значимой единицы измерения (unit in last place, ULP) для элементарных функций. Я был заинтересован в дальнейшей работе по аппроксимации этих функций, поэтому приступил к исследованию того, каким образом они гарантируют корректность, и если они корректны только на 1 ULP, то где располагаются ошибки в области определения функции. В процессе изучения я обнаружил, что ни одна из популярных математических библиотек, используемых во множестве сфер вычислений, на самом деле не выполняет корректное округление в соответствии с требованиями любой версии IEEE 754 после первой редакции 1985 года.
https://habr.com/ru/companies/ruvds/articles/881698/
#числа_с_плавающей_запятой #floating_point #ieee_754 #плавающая_запятая #плавающая_точка #погрешности_округления #fpu #ruvds_статьи
-
Малые числа, большие возможности: как плавающая запятая ускоряет ИИ и технологии
Привет, Хабр! С вами снова ServerFlow, и сегодня мы решили погрузиться в увлекательный мир чисел с плавающей запятой . Вы когда-нибудь задумывались, почему существуют разные виды этих чисел и как они влияют на производительность наших процессоров и видеокарт? Как малые числа с плавающей запятой помогают развивать нейросети и искусственный интеллект? Давайте вместе разберемся в этих вопросах, раскроем тайны стандарта IEEE 754 и узнаем, какое значение имеют большие и маленькие числа с плавающей запятой в современных вычислениях.
https://habr.com/ru/companies/serverflow/articles/846732/
#плавающая_запятая #fp32 #fp16 #INT8 #квантизация #Тензорные_ядра #fpu #floatingpoint #floating_point #ieee_754
-
Малые числа, большие возможности: как плавающая запятая ускоряет ИИ и технологии
Привет, Хабр! С вами снова ServerFlow, и сегодня мы решили погрузиться в увлекательный мир чисел с плавающей запятой . Вы когда-нибудь задумывались, почему существуют разные виды этих чисел и как они влияют на производительность наших процессоров и видеокарт? Как малые числа с плавающей запятой помогают развивать нейросети и искусственный интеллект? Давайте вместе разберемся в этих вопросах, раскроем тайны стандарта IEEE 754 и узнаем, какое значение имеют большие и маленькие числа с плавающей запятой в современных вычислениях.
https://habr.com/ru/companies/serverflow/articles/846732/
#плавающая_запятая #fp32 #fp16 #INT8 #квантизация #Тензорные_ядра #fpu #floatingpoint #floating_point #ieee_754
-
Малые числа, большие возможности: как плавающая запятая ускоряет ИИ и технологии
Привет, Хабр! С вами снова ServerFlow, и сегодня мы решили погрузиться в увлекательный мир чисел с плавающей запятой . Вы когда-нибудь задумывались, почему существуют разные виды этих чисел и как они влияют на производительность наших процессоров и видеокарт? Как малые числа с плавающей запятой помогают развивать нейросети и искусственный интеллект? Давайте вместе разберемся в этих вопросах, раскроем тайны стандарта IEEE 754 и узнаем, какое значение имеют большие и маленькие числа с плавающей запятой в современных вычислениях.
https://habr.com/ru/companies/serverflow/articles/846732/
#плавающая_запятая #fp32 #fp16 #INT8 #квантизация #Тензорные_ядра #fpu #floatingpoint #floating_point #ieee_754