Jump to content

Один (числовой формат)

(Перенаправлено с Unum типа 3 )

Унумы ( универсальные числа [1] ) — это семейство числовых форматов и арифметики для реализации действительных чисел на компьютере, предложенное Джоном Л. Густавсоном в 2015 году. [2] Они разработаны как альтернатива повсеместному стандарту чисел с плавающей запятой IEEE 754 . Последняя версия известна как posits . [3]

Тип I Унум

[ редактировать ]

Первая версия unum, формально известная как unum типа I, была представлена ​​в книге Густавсона «Конец ошибки» как надмножество формата чисел с плавающей запятой IEEE-754. [2] Определяющими особенностями формата unum типа I являются:

  • формат хранения переменной ширины как для мантиссы , так и для экспоненты , и
  • u -бит , который определяет, соответствует ли unum точному числу ( u = 0) или интервалу между последовательными точными числами ( u = 1). Таким образом, unum покрывает всю расширенную линию действительных чисел [−∞,+∞].

Для вычислений в этом формате Густавсон предложил использовать интервальную арифметику с парой unum, которую он назвал ubound , гарантируя, что результирующий интервал содержит точное решение.

Уильям М. Кахан и Густафсон обсуждали унумы на конференции Arith23 . [4] [5] [6] [7]

Тип II Один

[ редактировать ]

Унумы типа II были введены в 2016 году. [8] как модернизация Unums, нарушившая совместимость IEEE-754.

Позит (Тип III Один)

[ редактировать ]

В феврале 2017 года Густавсон официально представил unums (posits) типа III для фиксированных значений, подобных плавающей запятой, и допустимых для интервальной арифметики . [3] В марте 2021 года стандарт был ратифицирован и опубликован рабочей группой Posit. [9]

Позиции [3] [10] [11] являются аппаратно-дружественной версией unum, в которой устранены трудности, с которыми столкнулся исходный тип I unum из-за его переменного размера. По сравнению с числами с плавающей точкой IEEE 754 аналогичного размера, posits предлагают больший динамический диапазон и больше дробных битов для значений с величиной, близкой к 1 (но меньше дробных битов для очень больших или очень маленьких значений), и Густафсон утверждает, что они обеспечивают лучшую точность. [12] [13] Исследования [14] [15] подтвердите, что для некоторых приложений числа с плавающей запятой превосходят с плавающей запятой точность чисел . Позитивные значения имеют превосходную точность в диапазоне, близком к единице, где происходит большинство вычислений. Это делает очень привлекательным для текущей тенденции в глубоком обучении минимизировать количество используемых битов. Это потенциально помогает любому приложению ускориться, позволяя использовать меньшее количество битов (поскольку для точности требуется больше дробных битов), уменьшая пропускную способность сети и памяти, а также требования к питанию.

Формат n -битного posit обозначается меткой «posit», за которой следуют десятичные цифры n (например, 16-битный формат posit — «posit16») и состоит из четырех последовательных полей:

  1. знак : 1 бит, представляющий целое число без знака s
  2. режим: не менее 2 бит и до ( n − 1), представляющих целое число без знака r, как описано ниже.
  3. экспонента : до 2 битов, доступных после режима, представляющих целое число без знака e
  4. дробь : все оставшиеся биты, доступные после экспоненты, представляющие неотрицательное действительное двоичное рациональное f меньше 1.

Поле режима использует унарное кодирование из k одинаковых битов, за которыми следует бит противоположного значения, если какие-либо оставшиеся биты доступны, для представления целого числа без знака r, которое равно - k, если первый бит равен 0, или k - 1, если первый бит равен 1. Поля знака, показателя степени и дроби аналогичны полям знака, показателя степени и мантиссы стандарта IEEE 754 (соответственно), за исключением того, что поля положительного показателя степени и дроби могут отсутствовать или быть усечены и неявно расширены нулями — отсутствующий показатель степени рассматривается. как 002 (представляющий 0), однобитовый показатель степени E 1 рассматривается как E102 (представляющее целое число 0, если E 1 равно 0, или 2, если E 1 равно 1), а отсутствующая дробь рассматривается как 0.

Две кодировки, в которых все незнаковые биты равны 0, имеют специальную интерпретацию:

  • Если знаковый бит равен 1, положительное значение равно NaR («не настоящий»)
  • Если знаковый бит равен 0, положительное значение равно 0 (это беззнаковое значение, единственное значение, для которого sign функция возвращает 0)

В противном случае значение posit равно , в котором r масштабируется по степеням 16, e масштабируется по степеням 2, f равномерно распределяет значения между соседними комбинациями ( r , e ), а s регулирует знак симметрично относительно 0.

тип
(поставьте н )
Двоичный Ценить Примечания
Любой 1 0… NaR все, что математически не определяется как уникальное действительное число [9]
Любой 0 0… 0
Любой 0 10… 1
Любой 1 10… −1
Любой 0 01 11 0… 0.5
Любой 0 0…1 наименьшее положительное значение
Любой 0 1… наибольшее положительное значение
позиция8 0 0000001 наименьшее положительное значение
позиция8 0 1111111 наибольшее положительное значение
позиция16 0 000000000000001 наименьшее положительное значение
позиция16 0 111111111111111 наибольшее положительное значение
позиция32 0 0000000000000000000000000000001 наименьшее положительное значение
позиция32 0 1111111111111111111111111111111 наибольшее положительное значение

Примечание . Ожидается, что 32-битного posit будет достаточно для решения практически всех классов приложений. [ нужна ссылка ] .

Для каждой позиции n тип точности , стандарт определяет соответствующий тип «quire» quire n точности , используется для накопления точных сумм произведений этих чисел без округления или переполнения в скалярном произведении для векторов до 2 31 или более элементов (точный предел ). Формат quire представляет собой целое число со знаком, дополненное до двух , интерпретируемое как кратное единицам величины. за исключением специального значения с ведущим битом знака 1 и всеми остальными битами, равными 0 (что представляет NaR). Quires основан на работах Ульриха В. Кулиша и Уилларда Л. Миранкера . [16]

Действительный

[ редактировать ]

Допустимые значения описываются как режим Unum типа III, который ограничивает результаты в заданном диапазоне. [3]

Реализации

[ редактировать ]

Несколько программных и аппаратных решений реализуют posits. [14] [17] [18] [19] [20] Первый полный параметризованный аппаратный генератор позиционной арифметики был предложен в 2018 году. [21]

Реализации Unum были исследованы в Julia. [22] [23] [24] [25] [26] [27] и МАТЛАБ . [28] [29] С ++ Версия [30] доступна поддержка любых размеров чисел в сочетании с любым количеством битов экспоненты. Быстрая реализация на C, SoftPosit, [31] предоставленный исследовательской группой NGA на базе Berkeley SoftFloat, дополняет доступные программные реализации.

Проект

автор

Тип Точность Квайр

Поддерживать?

Скорость Тестирование Примечания
ГП-графический процессор

Яркие Искры

Первый в мире FPGA GPGPU 32 Да ~3,2 тыс. тонн в секунду Исчерпывающий. Никаких известных ошибок. RaceEr GP-GPU имеет 512 ядер.
СофтПосит

А*СТАР

Библиотека C на основе Berkeley SoftFloat

Оболочка C++ для переопределения операторов Оболочка Python с использованием SWIG SoftPosit

8, 16, 32 опубликованы и завершены; Да От ~60 до 110 MPOPS на ядре x86 (Broadwell) 8: Исчерпывающий;

16: Исчерпывающий список, кроме FMA, требуется 32: Исчерпывающее испытание все еще продолжается. Никаких известных ошибок.

Лицензия с открытым исходным кодом. Самая быстрая и полная библиотека C для posits на данный момент. Разработан для подключаемого модуля сравнения чисел с плавающей запятой и положительных чисел IEEE.
posit4.nb

А*СТАР

Блокнот математики Все Да < 80 тыс. ПОПС Исчерпывающий для низкой точности. Никаких известных ошибок. Открытый исходный код (лицензия MIT). Исходное определение и прототип. Наиболее полная среда для сравнения чисел с плавающей запятой и положительных чисел IEEE. Множество примеров использования, включая линейные решатели.
posit-javascript

А*СТАР

Виджет JavaScript Преобразовать десятичное число в число 6, 8, 16, 32; сгенерируйте таблицы 2–17 с помощью es 1–4. Н/Д Н/Д;
интерактивный виджет
Полностью протестирован Генератор таблиц и преобразование
Универсальный

Стиллуотер Суперкомпьютер, Инк.

библиотека шаблонов C++

библиотека C Python-обертка библиотека Голанга

Допустимая posit float произвольной точности (p)

Один тип 1 (п) Один тип 2 (п)

Произвольные конфигурации запросов с программируемой мощностью posit<4,0> 1 GPOPS

posit<8,0> 130 MPOPS posit<16,1> 115 MPOPS posit<32,2> 105 MPOPS позиция<64,3> 50 МПОПС позиция<128,4> 1 МПОПС позиция<256,5> 800 КПОПС

Полный пакет проверки для произвольных позиций

Случайные значения для больших конфигураций posit. Использует индукцию, чтобы доказать правильность nbits+1 нет известных ошибок

Открытый исходный код. С лицензией.

Полная интеграция с типами C/C++ и автоматическими преобразованиями. Поддерживает полную математическую библиотеку C++ (собственную и преобразование в/из IEEE). Интеграция во время выполнения: MTL4/MTL5, Eigen, Trilinos, HPR-BLAS. Интеграция приложений: G+SMO, FDBB, FEniCS, ODEintV2, TVM.ai. Интеграция аппаратных ускорителей (Xilinx, Intel, Achronix).

Спидго

Чунг Шин Йи

библиотека Python Все Нет ~20 МПОПС Обширный; нет известных ошибок Открытый исходный код (С лицензией)
softposit-rkt

Дэвид Тьен

Крепления SoftPosit для ракетки Все Да Un­known Un­known
sfpy

Билл Зорн

Привязки SoftPosit для Python Все Да ~20–45 MPOPS на ядре Skylake 4,9 ГГц Un­known
позицтава

Диего Коэльо

Октавная реализация Все Нет Un­known Ограниченное тестирование; нет известных ошибок GNU GPL
Сигмовидные числа

Исаак Йонемото

Библиотека Юлии Все <32, все ES Да Un­known Нет известных ошибок (позитов).

Ошибки деления (действительны)

Использует стандартную библиотеку шаблонов математики Julia, может выполнять матричные и тензорные операции, комплексные числа, FFT, DiffEQ. Поддержка валидностей
FastSigmoid

Исаак Йонемото

Джулия и библиотека C/C++ 8, 16, 32, все ES Нет Un­known Известная ошибка в 32-битном умножении Используется LLNL в исследованиях шока.
SoftPosit.jl

Милан Клёвер

Библиотека Юлии На основе softposit;

8-битный (es=0..2) 16-битный (es=0..2) 24-битный (es=1..2) 32-битный (эс=2)

Да Похоже на:

А*СТАР «СофтПозит» (Серлан Леонг)

Да:

Позит (8,0), Позит (16,1), Позит (32,2) Другие форматы не обладают полной функциональностью.

Открытый исходный код. Проблемы и предложения на GitHub.

Этот проект был разработан в связи с тем, что SigmoidNumbers и FastSigmoid Исаака Йонемото в настоящее время не поддерживаются.

Поддерживает основные функции линейной алгебры в Julia (умножение матриц, решение матриц, разложение Элгена и т. д.).

PyСигмоид

Кен Меркадо

библиотека Python Все Да < 20 МПОПС Un­known Открытый исходный код (лицензия MIT). Простой в использовании интерфейс. Пример нейронной сети. Комплексная поддержка функций.
cppPosit

Федерико Росси, Эмануэле Руффальди

библиотека С++ от 4 до 64 (любое значение es); «Версия шаблона от 2 до 63 бит» Нет Un­known Несколько основных тестов 4 уровня операций, работающих с позитивами. Специальная поддержка типов NaN (нестандартная)
bfp: за пределами плавающей точки

Клеман Герен

библиотека С++ Любой Нет Un­known Обнаружены ошибки; статус исправлений неизвестен Поддерживает + – × ÷ √ взаимное, отрицание, сравнение
Verilog.jl

Исаак Йонемото

Юлия и Верилог 8, 16, 32, ES=0 Нет Un­known Всесторонне протестировано на 8-битной версии, ошибок нет. Предназначено только для приложений глубокого обучения. Только сложение, вычитание и умножение. Было создано доказательство концепции матричного множителя, но его точность не соответствует техническим требованиям.
Ломбикская арифметика

Ломбик Технологии

C# с Hastlayer для создания оборудования 8, 16, 32.

(64 бит в процессе)

Да 10 МПОПС

Нажмите здесь, чтобы узнать больше

Частичный Требуются API-интерфейсы Microsoft .Net.
Deepfloat Джефф Джонсон, Facebook СистемаVerilog Любой (параметризованный SystemVerilog) Да Н/Д

(RTL для проектов FPGA/ASIC)

Ограниченный Не совсем соответствует заявленным характеристикам.

Поддерживает +,-,/,*. Реализует как логарифмическое, так и нормальное, «линейное» положение. Лицензия: CC-BY-NC 4.0 на данный момент.

Токийский технологический институт ПЛИС 16, 32, выдвижной Нет «2 ГГц», не переведено в MPOPS Частичный; известные ошибки округления Еще не с открытым исходным кодом
PACoGen: Генератор Posit Arthmetic Core Маниш Кумар Джайсвал Verilog HDL для Posit-арифметики Любая точность.

Способен генерировать любую комбинацию размера слова (N) и размера экспоненты (ES).

Нет Скорость проектирования зависит от базовой аппаратной платформы (ASIC/FPGA). Исчерпывающие тесты для 8-битного положительного результата.

Выполняются многомиллионные случайные тесты для 32-битных значений с различными комбинациями ES.

Он поддерживает метод округления до ближайшего.
Винай Саксена, Центр исследований и технологий, Роберт Бош, Индия (RTC-IN), и Фархад Мерчант, RWTH Ахенский университет Генератор Verilog для СБИС, ПЛИС Все Нет Аналогично числам с плавающей запятой того же битового размера. Н=8

- ES=2 | Н=7,8,9,10,11,12 Выборочные (20000*65536) комбинации для - ES=1 | Н=16

Для использования в коммерческих продуктах. Насколько нам известно.

***Первая интеграция posits в RISC-V***

Ядро RISC-V с поддержкой Posit

(Сугандха Тивари, Нил Гала, Честер Ребейро, В. Камакоти, ИИТ МАДРАС)

Реализация BSV (Bluespec System Verilog) 32-битное положительное значение с (es=2) и (es=3) Нет Проверено с помощью SoftPosit для (es=2) и протестировано с несколькими приложениями для (es=2) и (es=3). Никаких известных ошибок. Первое полное ядро ​​RISC-V с поддержкой posit. Поддерживает динамическое переключение между (es=2) и (es=3).

Дополнительная информация здесь.

ПЕРСИВАЛЬ

Дэвид Малласен

Ядро Posit RISC-V с открытым исходным кодом и возможностями Quire Posit<32,2> с 512-битным запросом Да Скорость проектирования зависит от базовой аппаратной платформы (ASIC/FPGA). Тестирование функциональности каждой инструкции posit. Ядро RISC-V с поддержкой posit на уровне приложения на базе CVA6, которое может выполнять все инструкции posit, включая операции quire Fusion. PERCIVAL — это первая работа, которая полностью интегрирует posit ISA и quire в аппаратном обеспечении. Он позволяет одновременно выполнять как posit-инструкции, так и стандартные инструкции с плавающей запятой.
LibPosit

Крис Ломонт

Один файл, лицензия C# MIT. Любой размер Нет Обширный; нет известных ошибок Упс: арифметика, сравнения, sqrt, sin, cos, tan, acos, asin, atan, pow, exp, log
unumjl

РЕКС Компьютеры

FPGA-версия процессора VLIW «Neo» с позиционным числовым блоком 32 Нет ~1,2 ГПОПС Обширный; нет известных ошибок Никакого деления или квадратного корня. Первая полноценная конструкция процессора для замены чисел с плавающей запятой на положительные.
PNU: Положительная числовая единица

Каллиго Тек

  • Первая в мире ASIC с поддержкой posit, восьмиядерным процессором RISC-V и поддержкой Quire.
  • Карта-ускоритель PCIe с этим чипом будет готова в июне 2024 года.
  • Полный программный стек с компиляторами, отладчиком, средой IDE и математическими библиотеками для приложений. Поддерживаются языки C, C++, Python.
  • Приложения успешно протестированы: сжатие изображений и видео и многое другое.
  • <32, 2> с поддержкой 512 бит Quire.
  • <64, 3>
Да – полностью поддерживается. 500 МГц * 8 ядер Завершены исчерпывающие тесты для 32-битных и 64-битных версий с поддержкой Quire.

Приложения протестированы и доступны для беспрепятственного внедрения. www.calligotech.com

Полная интеграция с типами C/C++ и автоматическими преобразованиями. Поддерживает полную математическую библиотеку C++ (собственную и преобразование в/из IEEE). Интеграция во время выполнения: GNU Utils, OpenBLAS, CBLAS. Интеграция приложений: в процессе. Расширена поддержка компиляторов: C/C++, G++, GFortran и LLVM (в разработке).
IBM-TACC

Цзяньюй Чен

ПЛИС специального назначения 32 Да 16–64 ГПОПС Протестирован только один известный случай Выполняет матричное умножение 128 на 128 (SGEMM) с использованием quire.
Глубокое решето

Рауль Мурильо

Библиотека Python (программное обеспечение) 8, 16, 32 Да Un­known Un­known Структура DNN, использующая posits
Gosit

Яап Аартс

Библиотека чистого Go 16/1 32/2 (в комплект входит общий 32/ES для ES<32) [ нужны разъяснения ] Нет 80 MPOPS для div32/2 и подобных линейных функций. Намного выше для усечения и намного ниже для опыта. Фаззинг softposit на C с множеством итераций для 16/1 и 32/2. Обнаружены крайние случаи при явном тестировании. (лицензия MIT) В реализациях, где ES является постоянным, генерируется код. Генератор должен иметь возможность генерировать все размеры {8,16,32} и ES ниже этого размера. Однако те, которые не включены в библиотеку по умолчанию, не тестируются, не модифицируются и не поддерживаются. Для некоторых операций на 32/ES возможно смешивание и сопоставление ES. Однако это не проверено.

СофтПосит

[ редактировать ]

СофтПосит [31] представляет собой программную реализацию posits на основе Berkeley SoftFloat. [32] Это позволяет программному обеспечению сравнивать posits и float. В настоящее время он поддерживает

  • Добавлять
  • Вычесть
  • Умножить
  • Разделять
  • Сплавленное-умножение-сложение
  • Сплавленное скалярное произведение (с дейром)
  • Квадратный корень
  • Преобразование posit в целое число со знаком и без знака
  • Преобразование целого числа со знаком и без знака в posit
  • Преобразовать posit в другой размер posit
  • Меньше, равно, меньше, чем равно сравнение
  • Округлить до ближайшего целого числа

Вспомогательные функции

[ редактировать ]
  • преобразовать двойное значение в положительное
  • преобразовать posit в double
  • привести целое число без знака к посту

Он работает для 16-битных значений с одним битом экспоненты и для 8-битных значений с нулевым битом экспоненты. Поддержка 32-битных чисел и гибкого типа (2–32 бита с двумя битами экспоненты) ожидает проверки. Он поддерживает системы x86_64. Он был протестирован на GNU gcc ( SUSE Linux ) 4.8.5 Apple LLVM версии 9.1.0 (clang-902.0.39.2).

Добавить с помощью posit8_t

#include "softposit.h"

int main(int argc, char *argv[]) {
    posit8_t pA, pB, pZ;
    pA = castP8(0xF2);
    pB = castP8(0x23);
    pZ = p8_add(pA, pB);

    // To check answer by converting it to double
    double dZ = convertP8ToDouble(pZ);
    printf("dZ: %.15f\n", dZ);

    // To print result in binary (warning: non-portable code)
    uint8_t uiZ = castUI8(pZ);
    printBinary((uint64_t*)&uiZ, 8);

    return 0;
}

Слитое скалярное произведение с quire16_t

// Convert double to posit
posit16_t pA = convertDoubleToP16(1.02783203125);
posit16_t pB = convertDoubleToP16(0.987060546875);
posit16_t pC = convertDoubleToP16(0.4998779296875);
posit16_t pD = convertDoubleToP16(0.8797607421875);

quire16_t qZ;

// Set quire to 0
qZ = q16_clr(qZ);

// Accumulate products without roundings
qZ = q16_fdp_add(qZ, pA, pB);
qZ = q16_fdp_add(qZ, pC, pD);

// Convert back to posit
posit16_t pZ = q16_to_p16(qZ);

// To check answer
double dZ = convertP16ToDouble(pZ);

Уильям М. Кахан, главный архитектор IEEE 754-1985, критикует unum типа I на следующих основаниях (некоторые из них рассматриваются в стандартах типа II и типа III): [6] [33]

  • Описание unums обходит стороной использование исчисления для решения физических задач.
  • Unums может быть дорогостоящим с точки зрения времени и энергопотребления.
  • Каждое вычисление в unum-пространстве может изменить битовую длину структуры. Для этого требуется либо распаковать их в пространство фиксированного размера, либо выделить, освободить данные и собрать мусор во время операций unum, аналогично проблемам, связанным с записями переменной длины в запоминающем устройстве большой емкости.
  • Unums предоставляет только два типа числовых исключений: тихое и сигнальное NaN (Not-a-Number).
  • Вычисление Unum может привести к слишком широким ограничениям при выборе алгебраически правильного, но численно нестабильного алгоритма.
  • Преимущества unum перед плавающей запятой короткой точности для задач, требующих низкой точности, не очевидны.
  • Решение дифференциальных уравнений и вычисление интегралов с помощью unums гарантируют правильные ответы, но могут быть не такими быстрыми, как методы, которые обычно работают.

См. также

[ редактировать ]
  1. ^ Тичи, Уолтер Ф. (апрель 2016 г.). «Конец (числовой) ошибки: интервью с Джоном Л. Густавсоном» . Вездесущность – информация повсюду . 2016 (апрель). Ассоциация вычислительной техники (ACM): 1–14. дои : 10.1145/2913029 . ДГ: Слово «unum» является сокращением от «универсального числа», точно так же, как слово «бит» является сокращением от «двоичная цифра».
  2. ^ Jump up to: а б Густафсон, Джон Л. (04 февраля 2016 г.) [05 февраля 2015 г.]. Конец ошибки: Unum Computing . Чепмен и Холл / CRC Вычислительная наука . Том. 24 (2-е исправленное издание, 1-е изд.). ЦРК Пресс . ISBN  978-1-4822-3986-7 . Проверено 30 мая 2016 г. [1] [2]
  3. ^ Jump up to: а б с д Густавсон, Джон Лерой ; Ёнемото, Исаак (2017). «Преодоление чисел с плавающей запятой в своей собственной игре: позитная арифметика» . Перспективы суперкомпьютеров и инновации . 4 (2). Издательский центр Южно-Уральского государственного университета, Челябинск, Россия. дои : 10.14529/jsfi170206 . Архивировано из оригинала 4 ноября 2017 г. Проверено 4 ноября 2017 г.
  4. ^ «Программа: Специальная сессия: Великие дебаты: Джон Густафсон и Уильям Кахан» . Arith23 : 23-й симпозиум IEEE по компьютерной арифметике . Силиконовая долина, США. 12 июля 2016 г. Архивировано из оригинала 30 мая 2016 г. Проверено 30 мая 2016 г.
  5. ^ Густафсон, Джон Л .; Кахан, Уильям М. (12 июля 2016 г.). Великие дебаты @ARITH23: Джон Густафсон и Уильям Кахан (1:34:41) (видео) . Проверено 20 июля 2016 г.
  6. ^ Jump up to: а б Кахан, Уильям М. (16 июля 2016 г.) [12 июля 2016 г.]. «Критика книги Джона Л. Густафсона КОНЕЦ ОШИБКИ — Unum Computation и его радикальный подход к вычислениям с действительными числами » (PDF) . Санта-Клара, Калифорния, США: Симпозиум IEEE по компьютерной арифметике , ARITH 23 . Архивировано (PDF) из оригинала 25 июля 2016 г. Проверено 25 июля 2016 г. [3]
  7. ^ Густафсон, Джон Л. (12 июля 2016 г.). « «Великие дебаты»: позиционный документ по арифметике Unum» (PDF) . Санта-Клара, Калифорния, США: Симпозиум IEEE по компьютерной арифметике , ARITH 23 . Проверено 20 июля 2016 г. [4]
  8. ^ Тичи, Уолтер Ф. (сентябрь 2016 г.). «Unums 2.0: Интервью с Джоном Л. Густафсоном» . Ubiquity.ACM.org . Проверено 30 января 2017 г. Я начал называть их «unums 2.0», что казалось таким же хорошим названием для этой концепции, как и любое другое, но на самом деле это не столько «последняя версия», сколько альтернатива.
  9. ^ Jump up to: а б Рабочая группа Позита (2 марта 2022 г.). «Стандарт позитной арифметики (2022 г.)» (PDF) . Архивировано (PDF) из оригинала 26 сентября 2022 г. Проверено 21 декабря 2022 г.
  10. ^ Джон Л. Густавсон и И. Йонемото. (Февраль 2017 г.) За пределами плавающей точки: компьютерная арифметика нового поколения. [Онлайн]. Доступно: https://www.youtube.com/watch?v=aP0Y1uAA-2Y .
  11. ^ Густафсон, Джон Лерой (10 октября 2017 г.). «Позитическая арифметика» (PDF) . Архивировано (PDF) из оригинала 5 ноября 2017 г. Проверено 4 ноября 2017 г.
  12. ^ Фельдман, Майкл (08 июля 2019 г.). «Новый подход может привести к провалу вычислений с плавающей запятой» . www.nextplatform.com . Проверено 9 июля 2019 г.
  13. ^ Бирн, Майкл (24 апреля 2016 г.). «Новый числовой формат для компьютеров может навсегда устранить ошибки аппроксимации» . Порок . Проверено 9 июля 2019 г.
  14. ^ Jump up to: а б Линдстрем, Питер; Ллойд, Скотт; Хиттингер, Джеффри (март 2018 г.). Универсальное кодирование действительных чисел: альтернативы IEEE с плавающей запятой . Конференция по арифметике нового поколения. Искусство. 5. АКМ. дои : 10.1145/3190339.3190344 .
  15. ^ Дэвид Малласен; Альберто А. Дель Баррио; Мануэль Прието-Матиас (11 мая 2023 г.). «Большой-ПЕРСИВАЛЬ: изучение собственного использования 64-битной положительной арифметики в научных вычислениях». arXiv : 2305.06946 [ cs.AR ].
  16. ^ Кулиш, Ульрих В .; Миранкер, Уиллард Л. (март 1986 г.). «Арифметика цифрового компьютера: новый подход». СИАМ Ред. 28 (1). СИАМ : 1–40. дои : 10.1137/1028001 .
  17. ^ С. Чанг, «Доказуемо правильная позиционная арифметика с большим целым числом с фиксированной запятой». АКМ, 2018.
  18. ^ Дж. Чен, З. Аль-Арс и Х. Хофсти, «Единица умножения матриц для позиций в реконфигурируемой логике с использованием (Open) CAPI». АКМ, 2018.
  19. ^ З. Лехочки, А. Сабо и Б. Фаркас, «Высокоуровневые программные реализации .NET Unum Type I и Posit с одновременной реализацией FPGA с использованием Hastlayer». АКМ, 2018.
  20. ^ С. Лангруди, Т. Пандит и Д. Кудитипуди, «Вывод глубокого обучения на встроенных устройствах: фиксированная точка против положительной». В книге «Энергоэффективное машинное обучение и когнитивные вычисления для встраиваемых приложений (EMC), 2018. [Онлайн]. Доступно: https://sites.google.com/view/asplos-emc2/program.
  21. ^ Рохит Чаурасия, Джон Густавсон, Рахул Шреста, Джонатан Нойдорфер, Сангит Намбиар, Каустав Нийоги, Фархад Мерчант, Райнер Лейперс, « Аппаратный генератор параметризованной арифметической арифметики ». ICCD 2018: 334-341.
  22. ^ Бирн, Саймон (29 марта 2016 г.). «Реализация Unums в Julia» . Проверено 30 мая 2016 г.
  23. ^ «Унум-арифметика в Julia: Unums.jl» . Гитхаб . Проверено 30 мая 2016 г.
  24. ^ «Юлия. Реализация Unums: README» . Гитхаб . Проверено 30 мая 2016 г.
  25. ^ «Типы и операции Unum (универсального числа): Unums» . Гитхаб . Проверено 30 мая 2016 г.
  26. ^ "jwmerrill/Pnums.jl" . Гитхаб.com . Проверено 30 января 2017 г.
  27. ^ «GitHub — ityonemo/Unum2: Pivot Unums» . Гитхаб . 29 апреля 2019 г.
  28. ^ Инголе, Дипак; Квасница, Михал; Де Сильва, Химеши; Густафсон, Джон Л. «Уменьшение объема памяти при явном прогнозирующем управлении моделями с использованием универсальных чисел. Представлено на Всемирный конгресс IFAC 2017» . Проверено 15 ноября 2016 г.
  29. ^ Инголе, Дипак; Квасница, Михал; Де Сильва, Химеши; Густафсон, Джон Л. «Прототип MATLAB Unum » Проверено 1 ноября 2016 г.
  30. ^ «GitHub — Stillwater-sc/Universal: универсальная арифметика чисел» . Гитхаб . 16.06.2019.
  31. ^ Jump up to: а б «Серлан Леонг/SoftPosit · GitLab» . ГитЛаб .
  32. ^ «Беркли СофтФлоат» . www.jhauser.us .
  33. ^ Кахан, Уильям М. (15 июля 2016 г.). «Комментарий профессора В. Кахана к книге Джона Л. Густафсона «Конец ошибки — Unum Computing», (2015) CRC Press» (PDF) . Архивировано (PDF) из оригинала 1 августа 2016 г. Проверено 1 августа 2016 г.

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 36f6700f16ae24572768812110508aa6__1721841480
URL1:https://arc.ask3.ru/arc/aa/36/a6/36f6700f16ae24572768812110508aa6.html
Заголовок, (Title) документа по адресу, URL1:
Unum (number format) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)