home.social

#floating_point — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #floating_point, aggregated by home.social.

  1. Почему ваш персонаж телепортируется при высоком FPS: float precision в играх

    Всем привет! Меня зовут Григорий Дядиченко, и я разрабатываю разные проекты на заказ. Сталкивались ли вы с ситуацией, когда персонаж в вашей игре начинает немного дёргаться, если поиграть достаточно долго? Или пуля иногда пролетает сквозь тонкую стену, хотя коллайдер на месте? Если да — добро пожаловать в мир проблем float precision. Сегодня хочется поговорить о том, почему тип float — при всей его повсеместности — может создавать тонкие и неочевидные баги в играх. Разберём, как он устроен, где именно он начинает врать, и что с этим делать. Если вам интересна эта тема — добро пожаловать под кат!

    habr.com/ru/articles/1020002/

    #float #IEEE_754 #floating_point #Unity #precision #gamedev #floating_origin #epsilon

  2. Почему ваш персонаж телепортируется при высоком FPS: float precision в играх

    Всем привет! Меня зовут Григорий Дядиченко, и я разрабатываю разные проекты на заказ. Сталкивались ли вы с ситуацией, когда персонаж в вашей игре начинает немного дёргаться, если поиграть достаточно долго? Или пуля иногда пролетает сквозь тонкую стену, хотя коллайдер на месте? Если да — добро пожаловать в мир проблем float precision. Сегодня хочется поговорить о том, почему тип float — при всей его повсеместности — может создавать тонкие и неочевидные баги в играх. Разберём, как он устроен, где именно он начинает врать, и что с этим делать. Если вам интересна эта тема — добро пожаловать под кат!

    habr.com/ru/articles/1020002/

    #float #IEEE_754 #floating_point #Unity #precision #gamedev #floating_origin #epsilon

  3. Почему ваш персонаж телепортируется при высоком FPS: float precision в играх

    Всем привет! Меня зовут Григорий Дядиченко, и я разрабатываю разные проекты на заказ. Сталкивались ли вы с ситуацией, когда персонаж в вашей игре начинает немного дёргаться, если поиграть достаточно долго? Или пуля иногда пролетает сквозь тонкую стену, хотя коллайдер на месте? Если да — добро пожаловать в мир проблем float precision. Сегодня хочется поговорить о том, почему тип float — при всей его повсеместности — может создавать тонкие и неочевидные баги в играх. Разберём, как он устроен, где именно он начинает врать, и что с этим делать. Если вам интересна эта тема — добро пожаловать под кат!

    habr.com/ru/articles/1020002/

    #float #IEEE_754 #floating_point #Unity #precision #gamedev #floating_origin #epsilon

  4. Почему ваш персонаж телепортируется при высоком FPS: float precision в играх

    Всем привет! Меня зовут Григорий Дядиченко, и я разрабатываю разные проекты на заказ. Сталкивались ли вы с ситуацией, когда персонаж в вашей игре начинает немного дёргаться, если поиграть достаточно долго? Или пуля иногда пролетает сквозь тонкую стену, хотя коллайдер на месте? Если да — добро пожаловать в мир проблем float precision. Сегодня хочется поговорить о том, почему тип float — при всей его повсеместности — может создавать тонкие и неочевидные баги в играх. Разберём, как он устроен, где именно он начинает врать, и что с этим делать. Если вам интересна эта тема — добро пожаловать под кат!

    habr.com/ru/articles/1020002/

    #float #IEEE_754 #floating_point #Unity #precision #gamedev #floating_origin #epsilon

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

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

    habr.com/ru/articles/993270/

    #floatingpoint #floating_point

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

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

    habr.com/ru/articles/967686/

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

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

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

    habr.com/ru/articles/957822/

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

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

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

    habr.com/ru/articles/948556/

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

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

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

    habr.com/ru/articles/947886/

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

  10. [Перевод] Ни одна реализация элементарных функций не соответствует стандарту 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_статьи

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

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

    habr.com/ru/companies/serverfl

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

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

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

    habr.com/ru/companies/serverfl

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

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

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

    habr.com/ru/companies/serverfl

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

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

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

    habr.com/ru/companies/serverfl

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

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

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

    habr.com/ru/companies/serverfl

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

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

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

    habr.com/ru/companies/serverfl

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

  17. C++26 — прогресс и новинки от ISO C++

    Работа в комитете по стандартизации языка C++ активно кипит. Недавно состоялось очередное заседание. Как один из участников, поделюсь сегодня с Хабром свежими новостями и описанием изменений, которые планируются в С++26. До нового стандарта C++ остаётся чуть больше года, и вот некоторые новинки, которые попали в черновик стандарта за последние две встречи: запрет возврата из функции ссылок на временное значение, [[indeterminate]] и уменьшение количества Undefined Behavior, диагностика при =delete; , арифметика насыщения, линейная алгебра (да-да! BLAS и немного LAPACK), индексирование variadic-параметров и шаблонов ...[42] , вменяемый assert(...) , и другие приятные мелочи. Помимо этого, вас ждут планы и прогресс комитета по большим фичам и многое другое. Рассмотрим новинки на примерах

    habr.com/ru/companies/yandex/a

    #c++ #с++ #constexpr #c++26 #с++26 #numeric #floating_point #float #double #iso #программирование #span #functions #function #blas #lapack #atomic #linear_algebra #variadic_templates

  18. C++26 — прогресс и новинки от ISO C++

    Работа в комитете по стандартизации языка C++ активно кипит. Недавно состоялось очередное заседание. Как один из участников, поделюсь сегодня с Хабром свежими новостями и описанием изменений, которые планируются в С++26. До нового стандарта C++ остаётся чуть больше года, и вот некоторые новинки, которые попали в черновик стандарта за последние две встречи: запрет возврата из функции ссылок на временное значение, [[indeterminate]] и уменьшение количества Undefined Behavior, диагностика при =delete; , арифметика насыщения, линейная алгебра (да-да! BLAS и немного LAPACK), индексирование variadic-параметров и шаблонов ...[42] , вменяемый assert(...) , и другие приятные мелочи. Помимо этого, вас ждут планы и прогресс комитета по большим фичам и многое другое. Рассмотрим новинки на примерах

    habr.com/ru/companies/yandex/a

    #c++ #с++ #constexpr #c++26 #с++26 #numeric #floating_point #float #double #iso #программирование #span #functions #function #blas #lapack #atomic #linear_algebra #variadic_templates

  19. C++26 — прогресс и новинки от ISO C++

    Работа в комитете по стандартизации языка C++ активно кипит. Недавно состоялось очередное заседание. Как один из участников, поделюсь сегодня с Хабром свежими новостями и описанием изменений, которые планируются в С++26. До нового стандарта C++ остаётся чуть больше года, и вот некоторые новинки, которые попали в черновик стандарта за последние две встречи: запрет возврата из функции ссылок на временное значение, [[indeterminate]] и уменьшение количества Undefined Behavior, диагностика при =delete; , арифметика насыщения, линейная алгебра (да-да! BLAS и немного LAPACK), индексирование variadic-параметров и шаблонов ...[42] , вменяемый assert(...) , и другие приятные мелочи. Помимо этого, вас ждут планы и прогресс комитета по большим фичам и многое другое. Рассмотрим новинки на примерах

    habr.com/ru/companies/yandex/a

    #c++ #с++ #constexpr #c++26 #с++26 #numeric #floating_point #float #double #iso #программирование #span #functions #function #blas #lapack #atomic #linear_algebra #variadic_templates