Обновить
16K+
4
Дмитрий Васильев@raoffonom

Full Stack Developer

16
Рейтинг
9
Подписчики
Отправить сообщение

Каталог из 83 форматов с плавающей точкой, который сам себя проверяет

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели12K

Если вы ловили расхождение точности между двумя реализациями одной сети, то знаете это чувство: один 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 и реальный баг в умножителе, который нашли только потому, что под форматом есть железо.

Как устроена линейка

От золотого сечения до троичности Брусенцова: одно семейство числовых форматов от 2 до 1024 бит

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели7.8K

Почему bfloat16 стал стандартом для обучения нейросетей? Не потому, что он оптимален как число, — а потому что под него десять лет затачивали GPU и TPU. Снимаем этот эффект железа и смотрим на числа честно.

В статье: семейство форматов GoldenFloat (GF4, GF8, GF16, GF32, GF64, GF1024) с основанием φ = (1+√5)/2; метрика «бит на значение» (GF16 = 2.5725 обходит bf16 = 2.6135 на одном корпусе); и неожиданный мост к троичной машине «Сетунь» Н. П. Брусенцова — три состояния −1/0/+1 как предельная точка той же φ-лестницы.

Без обещаний золотых гор: что измерено — измерено, что только спека — помечено.

Читать про φ-форматы

Универсальный компилятор для FPGA, который понимает 42 языка программирования

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели9.9K

Универсальный компилятор для FPGA, который понимает 42 языка программирования

Пишите код на любимом языке — получайте работающий Verilog для FPGA. Бесплатно, без vendor lock-in.

Читать далее

Модельная разработка мобильных приложений React Native и сайтов на React Native Web

Время на прочтение8 мин
Охват и читатели6.5K

Модельная разработка - это метод разработки мобильных приложений, при котором мы изначально ставим задачу в виде типизируемой модели(схемы) TypeScript и GraphQL, на уровне создания тикета в таск-менеджере.

Читать далее

Что такое React Native? Комплексное руководство 2021

Время на прочтение25 мин
Охват и читатели150K

Вот уже несколько лет React Native является горячей темой в мире мобильной разработки. Неудивительно – он взял мир технологий штурмом, предложив способ разработки мобильных приложений как для iOS, так и для Android одновременно.

React Native - единый фреймворк, чтобы управлять ими всеми.

React Native был успешно принят сотнями компаний по всему миру, включая Uber, Microsoft и Facebook, и используется во многих других компаниях.

Однако, прежде чем вы решите пойти ва-банк с React Native, очень важно понять, как он работает, и решить, лучше ли он подходит для вашего проекта.

Каковы его главные преимущества и самые большие недостатки? Чем он отличается от других платформ кросс-разработки? И последнее, но не менее важное: о чем должны знать ваши разработчики, прежде чем они отправятся в путешествие по React Native?

В следующей статье мы ответим на эти и другие вопросы – все для того, чтобы вы могли сделать обоснованный выбор и понять, идеально ли React Native подходит для вашего бизнеса.

Читать далее

Оплата в телеграм боте — Платежи 2.0 — Сбербанк + Telegraf + Node.js

Время на прочтение5 мин
Охват и читатели125K

Платежи 2.0 — В мессенджере Telegram появилась возможность принимать платежи в любом чате, включая группы и каналы. Подключить свой магазин к платформе можно самостоятельно, без согласования с Telegram.



И в этом туториале мы создадим простого бота с Node.js на фреймворке Telegraf.js, который сможет принимать деньги с клиента и отправлять их на ваш счет через Сбербанк.

Читать дальше →

JavaScript Bot

Время на прочтение1 мин
Охват и читатели2.9K

С помощью этого Telegram бота вы сможете протестировать свои знания по основам JavaScript, React Native, TypeScript.


javascript bot


javascript bot


Мы используем вопросы, которые взяли из 29 тем нашего курса по основам JavaScript.

Читать дальше →

JavaScript Camp

Время на прочтение6 мин
Охват и читатели3.3K

serverServerlesskiy


«Мы прогнозируем, что использование serverless будет стремительно расти. Мы также прогнозируем, что локальные гибридные облачные приложения со временем будут сокращаться, хотя некоторые развертывания могут сохраняться из-за нормативных ограничений и правил управления данными.

Бессерверные вычисления станут стандартной вычислительной парадигмой в эпоху облаков, в значительной степени, заменив серверные вычисления и тем самым закрыв эру клиент-сервер."

Cloud Programming Simplified: A Berkeley View on Serverless Computing, February 10, 2019
Читать дальше →

React Native: Push-уведомления с помощью AWS Amplify

Время на прочтение7 мин
Охват и читатели12K

Push


Push-уведомления играют важную роль в любом приложении. Это может значительно увеличить взаимодействие с пользователями.


Настройка push-уведомлений с нуля может быть немного сложной. К счастью, Amplify предоставляет услуги push-уведомлений и SDK для React Native приложений. В этом уроке мы узнаем, как интегрировать в наше приложение этот сервис.

Читать дальше →

Аутентификация — CUSTOM SETUP / AWS Amplify + React Native

Время на прочтение23 мин
Охват и читатели11K

cognito


Одна из самых запрашиваемых тем, среди подписчиков моего канала Димка Реактнативный — это аутентификация и авторизация в приложении React Native. Поэтому я решил посветить этому вопросу отдельный лонгрид и перед тем как мы начнем кодить, необходимо разобраться с определением Аутентификация/Авторизация.

Читать дальше →

DataStore — CRUD (Create Read Update Delete)

Время на прочтение11 мин
Охват и читатели7.8K

Прощай Redux, MobX, Apollo! Грань между бэкендом и фронтендом сломана! Инновационый шаг эволюции стейт менеджеров.


Одна из самых сложных задачах при разработке веб и мобильных приложений — это синхронизация данных между устройствами и выполнение автономных операции. В идеале, когда устройство находится в автономном режиме, ваши клиенты должны иметь возможность продолжать использовать ваше приложение не только для доступа к данным, но также для их создания и изменения. Когда устройство возвращается в оперативный режим, приложение должно повторно подключиться к бэкэнду, синхронизировать данные и разрешить конфликты, если таковые имеются. Для правильной обработки всех крайних случаев требуется много недифференцированного кода, даже при использовании кэша AWS AppSync SDK на устройстве с автономными мутациями и дельта-синхронизацией.


Amplify DataStore предоставляет постоянное хранилище на устройстве для записи, чтения и наблюдения за изменениями данных, если вы подключены к Интернету или в автономном режиме, а также позволяет легко синхронизировать данные с облаком и между устройствами.


Amplify DataStore позволяет разработчикам писать приложения, используя распределенные данные, без написания дополнительного кода для автономного или онлайн-сценария.


Вы можете использовать Amplify DataStore для автономного использования в режиме «только локальный» без учетной записи AWS или предоставить весь бэкэнд с помощью AWS AppSync и Amazon DynamoDB.


DataStore включает в себя Delta Sync с использованием вашего бэкенда GraphQL и несколько стратегий разрешения конфликтов.

Читать дальше →

React Native init vs Expo

Время на прочтение2 мин
Охват и читатели40K

image



В официальной документации React Native, из раздела Getting Started, мы узнаем о том, что у нас есть два пути запуска мобильного приложения: expo и react-native cli. Пользователи Windows и Linux, а таких большинство, зайдя во вкладку Building Projects with Native Code и выбирая Target OS: iOS, встречают надпись, которая отправляет их на стартер Expo, но перед тем как ставить Expo, предлагаю ознакомиться с информацией в следующей таблице и поберечь свою голову не только от тех тумаков, что получил я:

Читать дальше →

Информация

В рейтинге
601-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Фулстек разработчик
Ведущий
От 300 000 ₽
JavaScript
React
GraphQL
React Native
Apollo
TypeScript
Redux
Zig
Rust