Unum(숫자 형식)

Unum (number format)

Unums(범용수[1])는 존 L. 구스타프손(John L. Gustafson)이 제안한 부동소와 유사한 형식과 산술의 계열이다.[2]그것들은 유비쿼터스 IEEE 754 부동 소수점 표준의 대안으로 설계되었으며, 최신 버전(일명 포스[3])은 IEEE 754의 특정 기능에 의존하지 않는 프로그램의 드롭인 대체품으로 사용될 수 있다.

제1종 유니움

현재 공식적으로 Type I unum으로 알려진 첫 번째 버전의 unums는 그의 저서 "EEE-754 부동 소수점 형식의 상위 집합으로 오류의 종말"에서 소개되었다.[2]Type I unum 형식의 두 가지 정의 특징은 다음과 같다.

  • 의미와 지수 모두를 위한 가변 폭 스토리지 형식
  • unum이 정확한 숫자(u = 0)에 해당하는지 또는 연속적인 정확한 unum 사이의 간격(u = 1)을 결정하는 u-bit.이런 식으로, unums는 전체 확장된 실수 라인[-tenue,+tency]을 커버한다.

구스타프손은 이 포맷으로 연산을 수행하기 위해, 결과 간격에 정확한 해결책이 포함되어 있다는 보증을 제공하면서, 자신이 우바운드라고 부르는 한 쌍의 unums와 함께 interval accounting interval accounting with a performation.

William M. KahanJohn L. GustafsonArith23 회의에서 토론했다.[4][5][6][7]

제2종 유니움

타입 II Unums는 IEEE-754 호환성을 깬 Unums의 전체 재설계로서 2016년 말에[8] 도입되었다.

타입 III Unum (Posit & Valid)

구스타프손은 2017년 2월 고정 부동소수 유사값의 포지션과 구간 산술 유효제로 구성된 타입 III unums를 공식 도입했다.[3]

포싯

Posits는[3][9][10] 하드웨어 친화적인 버전의 Unum으로, 가변 크기 때문에 원래 타입 I unum에서 직면했던 어려움이 해결되었다.부유물과 비교할 때 비슷한 크기의 포지션은 더 큰 동적 범위와 정확도를 위한 더 많은 분수 비트를 제공한다.Lawrence Livermore National Laboratory[11] Lindstrom, Lloyd 및 Hitker는 독립적인 연구에서 성능이 우수한 부동층이 정확하다는 것을 확인했다.[dubious ]포지트는 대부분의 연산이 발생하는 1에 가까운 범위에서 특히 우수한 정확도를 가진다.이것은 사용하는 비트의 수를 최소화하기 위해 딥러닝의 현재 추세에 매우 매력적으로 만든다.그것은 (정확성을 위해 더 적은 수의 비트를 사용하기 때문에) 네트워크와 메모리 대역폭, 전력 요구량을 줄이고 엑사스케일에 한 걸음 더 가까이 다가옴으로써 모든 애플리케이션이 속도를 높일 수 있도록 잠재적으로 돕는다.

포지션에는 가변 크기 인덱스와 맨티사 비트 필드가 있으며, 분할은 "regime" 표시기로 지정된다.구스타프슨은 비트를 적게 차지하면서 표준 부동소수보다 더 높은 정밀도를 제공한다고 주장한다.[12][13]

포짓은 IEEE 754 플로트와 다른 포맷을 가지고 있다.그것들은 부호, 정권, 지수, 분수(의미·만티사라고도 한다)의 네 부분으로 구성된다.n비트 포짓의 경우, 체제는 길이가 2 - (n - 1)일 수 있다.정권의 형식은 같은 부호 비트의 반복이며 다른 부호 비트에 의해 종료되는 형식이다.

예 1:

예 1 예 2
000000000000001 1110

예제 1은 다른 신호 비트(비트 1)에 의해 종료된 14개의 동일한 신호 비트(비트 0)를 가진 체제를 보여준다.같은 시그널 비트가 14개여서 정권의 런 길이는 14개다.

예제 2는 다른 신호 비트(비트 0)에 의해 종료된 3개의 동일한 신호 비트(비트 1)를 가진 체제를 보여준다.같은 신호 비트가 3개 있기 때문에 정권의 런 길이는 3개다.

부호, 지수 및 분수 비트는 IEEE 754와 매우 유사하지만, 포지션은 부호와 계통 비트로만 구성된 포지션을 남기면서 지수 및 분수 비트의 하나 또는 둘 모두를 생략할 수 있다.사례 3은 16비트 포지션에 대해 가능한 가장 긴 시스템 런 길이를 보여주며, 여기서 정권은 종료 비트, 지수 비트 및 분수 비트가 포지션 크기의 길이를 초과한다.예제 4는 하나의 지수 비트(비트 값 = 1)와 12분수 비트(비트 값 = 1000000001)를 가진 16비트 포지션에 대해 가능한 최단 런 길이 1을 보여준다.

예제 3: 시스템 런 길이 = 15 예제 4: 시스템 런 길이 = 1
0111111111111111 0101100000000001

권장 포지션 크기 및 해당 지수 비트 및 Quire 크기:

포지트 크기(비트) 지수 비트 수 Quire 크기(비트)
8 0 32
16 1 128
32 2 512
64 3 2048

참고: 32비트 포지션은 거의 모든 종류의 애플리케이션을[citation needed] 해결하기에 충분할 것으로 예상된다.

퀴어

퀴어는 포지션의 가장 유용한 특징 중 하나이다.도트 제품을 축적하기 위해 "인피니트에 가까운" 비트 수를 포지션에 부여할 특별한 데이터 유형이다.울리히 쿨리쉬윌러드 미란커의 작품을 바탕으로 한다.[14]

유효

Gustafson은 아직 완전한 유효성 사양을 발표하지 않았지만, 그것들은 일정한 범위 내에서 결과가 나오는 타입 III Unum 모드로 설명된다.[3]

구현

지역사회에서 몇 가지 소프트웨어와 하드웨어 구현이 있다.[11][15][16][17][18]매개변수화된 최초의 산술 하드웨어 발전기가 2018년에 제안되었다.[19]

줄리아에서는 Unum 구현이 탐구되어 왔다.[20][21][22][23][24][25]그리고 MATLAB.[26][27]임의의 수의 지수 비트와 결합된 포지트 크기를 지원하는 C++ 버전도[28] 제공된다.Berkeley SoftFloat에 기반을 둔 NGA 연구팀이 제공하는 [29]C, SoftPosit의 빠른 구현은 이용 가능한 소프트웨어 구현에 가장 최근에 추가된 것이다.

프로젝트

저자

유형 정밀도 퀴어

지지?

속도 테스트 메모들
GP-GPU

비비드스파크

세계 최초 FPGA GP-GPU 32 ~3.2Tops 철저하다.알려진 벌레는 없다. 레이서 GP-GPU는 512개의 코어를 보유하고 있으며, 비비드스파크에는 세계 최초의 토종 포싯 C, C++, 포트란 컴파일러인 비비드콤필러가 있다.비비드콤필러는 CUDA, OpenCL, OpenGL, Python/PyTorch, GROMACS, OpenFOam, LINPACK 등 다양한 프로그래밍 모델을 지원한다.https://www.youtube.com/watch?v=VS6bOWElCBY&ab_channel=VividSparks에서 GP-GPU를 직접 구현할 수 있다.
소프트포짓

A*STAR

버클리 소프트플로트 기반 C 라이브러리

SoftPosit의 SWIG를 사용하여 연산자 Python 래퍼를 재정의하는 C++ 래퍼

8, 16, 32 출판 및 완료. x86 코어(브로드웰)에 ~60 ~ 110Mpops/s 8: 배기;

16: FMA를 제외한 배기, quire 32: 배기 테스트가 여전히 진행 중임.알려진 벌레는 없다.

오픈 소스 라이센스.현재 포지션을 위한 가장 빠르고 포괄적인 C 라이브러리.IEEE 플로트와 포장의 플러그인 비교를 위해 설계되었다.
posit4.nb

A*STAR

매스매티카 노트북 전부 < 80 kpps/s 낮은 정밀도를 위한 철저한 조사.알려진 벌레는 없다. 오픈 소스(MIT 라이센스)원래 정의 및 프로토타입.IEEE 플로트와 포지션을 비교하기 위한 가장 완벽한 환경.선형 솔버를 포함한 많은 사용 예
실증적

A*STAR

자바스크립트 위젯 소수점을 6, 8, 16, 32로 변환하고 es 1-4로 표 2–17을 생성한다. 해당 없음 해당 없음; 대화형 위젯 완전히 테스트됨 테이블 생성기 및 변환
유니버설

스틸워터 슈퍼컴퓨팅, 주식회사

C++ 템플릿 라이브러리

C 라이브러리 파이썬 래퍼 골랑 라이브러리

임의 정밀 포지션 플로트가 유효함(p)

Unum type 1 (p) Unum type 2 (p)

프로그래밍 가능한 용량을 갖춘 임의의 Quire 구성 1GPOPS 포지션[4,0]

130MPOPS posit<8,0> 130MPOPS posit<16,1> 115MPPS posit<32,2> 105MPOPS posit<64,3> 50MPOPS posit<128,4> 1MPOPS posit<25,5> 800KPOPS posit.

임의 포지션에 대한 전체 유효성 검사 제품군

대규모 포지션 구성을 위한 랜섬.nbits+1이 올바르다는 것을 증명하기 위해 유도를 사용하며 알려진 버그 없음

오픈 소스.MIT 면허

fully integrated with C/C++ types and automatic conversions Supports full C++ math library (native and conversion to/from IEEE) Runtime integrations: MTL4/MTL5, Eigen, Trilinos, HPR-BLAS Application integrations: G+SMO, FDBB, FEniCS, ODEintV2, TVM.ai Hardware Accelerator integration (Xilinx, Intel, Achronix)

스피드고

충신예

파이톤 라이브러리 전부 아니요. ~20 Mpops/s 광범위함, 알려진 버그 없음 오픈 소스(MIT 라이센스)
소프트포싯랙트

데이비드 티엔

라켓용 SoftPosit 바인딩 전부 알 수 없음 알 수 없음
sfpy

빌 조른

Python용 SoftPosit 바인딩 전부 ~20-45 Mpops/s 4.9GHz Skylake 코어 알 수 없음
양산화질소

디에고 코엘류

옥타브 구현 전부 아니요. 알 수 없음 제한된 테스트, 알려진 버그 없음 GNU GPL
지그모이드 번호

아이작 요네모토

줄리아 도서관 전부 <32, 모두 ES 알 수 없음 알려진 버그(포스)가 없다.

분할 버그(유효성)

줄리아의 템플화된 수학 표준 라이브러리를 활용하고, 매트릭스와 텐서 연산, 복잡한 숫자, FFT, DiffEQ를 기본적으로 할 수 있다.유효성 지원
패스트 지그모이드

아이작 요네모토

줄리아와 C/C++ 라이브러리 8, 16, 32, 전 ES 아니요. 알 수 없음 32비트 곱셈의 알려진 버그 충격 연구에서 LLNL에 의해 사용됨
소프트포짓jl

밀란 클뢰워

줄리아 도서관 소프트 포지션 기준;

8비트(es=0..2) 16비트(es=0..2) 24비트(es=1..2) 32비트 (es=2)

와 유사하다.

A*STAR "SoftPosit"(세레인 렁)

예:

Posit (8,0), Posit (16,1), Posit (32,2) 다른 형식은 완전한 기능이 결여되어 있다.

오픈 소스.GitHub에 대한 이슈 및 제안사항.

이 프로젝트는 아이작 요네모토의 지그모이드 네버러스와 FastSigmoid가 현재 유지되고 있지 않기 때문에 개발되었다.

줄리아에서 기본 선형 대수 함수 지원(매트릭스 곱하기, 매트릭스 해결, 엘겐 분해 등)

피시그모이드

켄 메르카도

파이톤 라이브러리 전부 < 20 Mpops/s 알 수 없음 오픈 소스(MIT 라이센스)사용하기 쉬운 인터페이스.신경망 예시.포괄적인 기능 지원.
cppPosit

에마누엘 러팔디

C++ 라이브러리 4 ~ 64(es 값); "템플릿 버전은 2 ~ 63비트" 아니요. 알 수 없음 몇 가지 기본적인 테스트 포지션으로 작업하는 4가지 수준의 작업.NaN 유형 특별 지원(비표준)
bfp:유동점 너머

클레망 게린

C++ 라이브러리 아무거나 아니요. 알 수 없음 버그가 발견됨, 수정 상태를 알 수 없음 지원 + – × × √ 역수, 부정, 비교
베릴로그.jl

아이작 요네모토

줄리아와 베릴로그 8, 16, 32, ES=0 아니요. 알 수 없음 알려진 버그가 없는 8비트 버그에 대해 포괄적으로 테스트 딥 러닝 애플리케이션용 추가, 빼기 및 곱하기 전용.개념 증명 매트릭스 승수가 작성되었지만, 정확도가 비사양적이다.
롬비크 산술학

롬비크 테크놀로지스

하드웨어 생성을 위해 Hastlayer와 함께 C# 8, 16, 32.

(64비트 진행 중)

10 Mpops/s

자세한 내용을 보려면 여기를 클릭하십시오.

부분적 Microsoft 요구 사항.Net API
딥플로트제프 존슨, 페이스북 시스템베릴로그 임의(모수화된 SystemVerilog) 해당 없음

(FPGA/ASIC 설계용 RTL)

한정된 실증 규격을 엄격히 준수하지 않는다.

+,-,/* 지원. 로그 포지션과 일반, "선형" 포지션 라이센스: 현재 CC-BY-NC 4.0

토쿄 테크 FPGA 16, 32, 연장 가능 아니요. "2GHz", Mpops/s로 변환되지 않음 부분적, 알려진 반올림 버그 아직 공개되지 않음
PACoGen: Posit Arthmetic Core Generator마니쉬 쿠마르 자이스왈 Posit 산술용 Verilog HDL 어떤 정밀도.

단어 크기(N)와 지수 크기(ES)의 모든 조합을 생성할 수 있음

아니요. 설계 속도는 기본 하드웨어 플랫폼(ASIC/FPGA)을 기반으로 함 8비트 포시에 대한 철저한 테스트.

다양한 ES 조합으로 최대 32비트 포지션에 대해 수백만 개의 무작위 테스트 수행

반올림에서 가장 가까운 반올림 방식을 지원한다.
비나이 작세나, 연구 기술 센터, 로버트 보쉬, 인도(RTC-IN) 및 파하드 머천트, RWTH 아헨 대학교 VLSI, FPGA용 베릴로그 생성기 전부 아니요. 동일한 비트 크기의 플로트와 유사 N=8

- ES=2 N=7,8,9,10,11,12 ES=1 N=16에 대한 선택적(20000*65536) 조합

상업용 제품에 사용된다.우리가 아는 한.

***RISC-V**에서 처음으로 포지션 통합

Posit 사용 RISC-V 코어

(Sugandha Tiwari, Neel Gala, Chester Rebeciro, V.Kamakoti, IIT MADRAS)

BSV(Bluespec System Verilog) 구현 (es=2) 및 (es=3)가 포함된 32비트 포지션 아니요. 해당 없음 (es=2)에 대해 SoftPosit에 대해 검증하고 (es=2) 및 (es=3)에 대해 여러 가지 용도를 사용하여 테스트했다.알려진 벌레는 없다. 최초의 완전한 포셋 지원 RISC-V 코어.(es=2)와 (es=3) 사이의 동적 전환을 지원한다.

자세한 내용은 여기를 참조하십시오.

퍼시벌

데이비드 말라센

Quire 기능이 있는 오픈 소스 Posit RISC-V 코어 512비트 quire로 포지트<32,2> 설계 속도는 기본 하드웨어 플랫폼(ASIC/FPGA)을 기반으로 함 각 포지션 지침의 기능 테스트. quire 퓨전 연산을 포함한 모든 포지션 지침을 실행할 수 있는 CVA6 기반의 애플리케이션 레벨 포지션 가능 RISC-V 코어.퍼시벌(PERCIVAL)은 하드웨어에 완전한 포지션 ISA와 쿼리를 통합한 최초의 작품이다.그것은 표준 부동 소수점 명령뿐만 아니라 포지트 명령의 기본 실행을 동시에 허용한다.
실밥을 풀다

REX 컴퓨팅

"Neo" VLIW 프로세서의 FPGA 버전(예치 숫자 장치 포함) 32 아니요. ~1.2 Gpops/s 광범위함, 알려진 버그 없음 분할 또는 제곱근 없음.플로트를 포스킷으로 대체하는 최초의 전체 프로세서 설계.
PNU: 포지트 숫자 단위

서예공대

FPGA, 첫 번째 작업 위치 하드웨어 32 청구됨, 아직 테스트되지 않음 ~0.5Mpops/s 광범위한 테스트, 완전한 테스트가 아님.알려진 벌레는 없다. 단일 작동 가속기 접근방식. 부유물용으로 작성된 C 코드를 직접 실행할 수 있다.+ – × 시험, ÷ 클레임
IBM-TAC

천젠유

특정 목적 FPGA 32 16-64 Gops/s 하나의 알려진 사례만 테스트됨 Quire를 사용하여 128-by-128 매트릭스 매트릭스 곱하기(SGEMM)
딥 펙시브

라울 무릴로

Python 라이브러리(소프트웨어) 8, 16, 32 알 수 없음 알 수 없음 포지션을 사용하는 DNN 프레임워크
고싯

야프 아츠

순수 바둑 라이브러리 16/1 32/2(ES<32용 일반 32/ES 포함)[필요하다] 아니요. 80 div32/2 및 유사한 선형 함수에 대한 걸레/s.잘린 곳은 훨씬 높고, 엑스포는 훨씬 낮다. 16/1과 32/2 동안 반복이 많은 c 소프트 포지에 솜털을 뿌린다.명시적으로 테스트한 에지 케이스가 발견됨. (MIT 라이센스)ES가 일정한 구현 코드는 생성된다.발전기는 크기 이하의 모든 크기 {8,16,32} 및 ES에 대해 생성할 수 있어야 한다.단, 기본적으로 도서관에 포함되지 않은 것들은 테스트, 솜털 또는 지원되지 않는다.자유롭게 제너레이터를 사용하여 생성, 버그 보고, 패치 공급 등을 수행하십시오.32/ES의 일부 작업에서는 ES를 혼합하고 일치시킬 수 있다.그러나 이것은 테스트되지 않았다.

소프트포짓

SoftPosit은[29] 버클리 소프트플로트를 기반으로 한 포지션의 소프트웨어 구현이다.[30]이를 통해 포장과 플로트의 소프트웨어 비교를 비교할 수 있다.현재 지원

  • 추가하다
  • 빼다
  • 곱하기
  • 나누다
  • 퓨즈-멀티플라이-add
  • 퓨전 도트 제품(Quire 포함)
  • 제곱근
  • 포짓수를 서명되지 않은 정수로 변환
  • 서명되지 않은 정수와 서명되지 않은 정수를 posit로 변환
  • 포지션을 다른 포지션 크기로 변환
  • 더 작음, 같음, 더 작음 비교
  • 가장 가까운 정수에 반올림

도우미 기능

  • 이중으로 전환하다
  • 포지션을 2배로 환산하다
  • 서명되지 않은 정수를 포지션에 주조하다.

지수 비트가 1개인 16비트 포지션과 지수 비트가 0인 8비트 포지션의 경우.32비트 포지션 및 플렉시블 유형(2-32비트, 지수 비트 2개)에 대한 지원은 정확성 검증을 보류하고 있다.현재 x86_64 시스템을 지원한다.GNU gcc(SUSE Linux) 4.8.5 Apple LLVM 버전 9.1.0(clang-902.0.39.2)에 대해 테스트했다.

예:

posit8_t와 함께 추가

#include "소프트포즈.h"  인트로 본래의 (인트로 argc, 마를 뜨다 *아그브[]){      posit8_t pa, pB, pZ;     pa = 캐스트P8(0xF2);     pB = 캐스트P8(0x23);      pZ = p8_add(pa, pB);      //답안을 이중으로 변환하여 확인하려면     곱절로 하다 dZ = convertP8ToDouble(pZ);     활자화하다("dZ: %.15f\n", dZ);      //이진 결과로 인쇄하려면(경고: 비휴대용 코드)     uint8_t uiZ = 카스투이8(pZ);     printBinary((uint64_t*)&uiZ, 8);      돌아오다 0; } 

quire16_t와 퓨전 도트 제품

//두 배에서 두 배로 변환 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;  //QUI를 0으로 설정 QZ = Q16_clr(QZ);  //라운딩이 없는 제품 QZ = Q16_fdp_add(QZ, pa, pB); QZ = Q16_fdp_add(QZ, pc, pd);  //다시 포지션으로 전환 posit16_t pZ = Q16_to_p16(QZ);  //정답을 확인하려면 곱절로 하다 dZ = convertP16ToDouble(pZ); 

비평

IEEE 754-1985의 주요 설계자인 William M. Kahan은 다음과 같은 근거에 따라 타입 I unums를 비판한다(일부는 타입 II 및 타입 III 표준에서 다루어진다).[6][31]

  • 물리학 문제를 해결하기 위해 미적분학을 사용하는 unums sidestep에 대한 설명.
  • 유니엄은 시간과 전력 소비 면에서 비쌀 수 있다.
  • unum 공간의 각 계산은 구조의 비트 길이를 변화시킬 가능성이 있다.이를 위해서는 대용량 저장소의 가변 길이 레코드를 처리하는 문제와 유사하게 고정 크기 공간에 포장을 풀거나, 언um 작업 중에 데이터 할당, 할당 해제 및 가비지 수집이 필요하다.
  • Unums는 정숙함과 신호 NaN(Not-a-Number)의 두 가지 종류의 숫자 예외만 제공한다.
  • Unum 계산은 대수학적으로 올바르지만 수치적으로 불안정한 알고리즘의 선택으로부터 지나치게 느슨한 한계를 전달할 수 있다.
  • 정밀도가 낮은 문제에 대한 짧은 정밀 부동소수점 대비 unum의 비용과 편익은 명확하지 않다.
  • 미분방정식을 풀고 unums로 통합을 평가하는 것은 정답을 보장하지만 보통 효과가 있는 방법만큼 빠르지 않을 수 있다.

참고 항목

참조

  1. ^ Tichy, Walter F. (April 2016). "The End of (Numeric) Error: An interview with John L. Gustafson". Ubiquity – Information Everywhere. Association for Computing Machinery (ACM). 2016 (April): 1–14. doi:10.1145/2913029. Archived from the original on 2016-07-10. Retrieved 2016-07-10. JG: The word "unum" is short for "universal number," the same way the word "bit" is short for "binary digit."
  2. ^ a b Gustafson, John L. (2016-02-04) [2015-02-05]. The End of Error: Unum Computing. Chapman & Hall / CRC Computational Science. Vol. 24 (2nd corrected printing, 1st ed.). CRC Press. ISBN 978-1-4822-3986-7. Retrieved 2016-05-30. [1] [2]
  3. ^ a b c d Gustafson, John Leroy; Yonemoto, Isaac (2017). "Beating Floating Point at its Own Game: Posit Arithmetic". Supercomputing Frontiers and Innovations. Publishing Center of South Ural State University, Chelyabinsk, Russia. 4 (2). doi:10.14529/jsfi170206. Archived from the original on 2017-11-04. Retrieved 2017-11-04.
  4. ^ "Program: Special Session: The Great Debate: John Gustafson and William Kahan". Arith23: 23rd IEEE Symposium on Computer Arithmetic. Silicon Valley, USA. 2016-07-12. Archived from the original on 2016-05-30. Retrieved 2016-05-30.
  5. ^ Gustafson, John L.; Kahan, William M. (2016-07-12). The Great Debate @ARITH23: John Gustafson and William Kahan (1:34:41) (video). Retrieved 2016-07-20.
  6. ^ a b Kahan, William M. (2016-07-16) [2016-07-12]. "A Critique of John L. Gustafson's THE END of ERROR — Unum Computation and his A Radical Approach to Computation with Real Numbers" (PDF). Santa Clara, CA, USA: IEEE Symposium on Computer Arithmetic, ARITH 23. Archived (PDF) from the original on 2016-07-25. Retrieved 2016-07-25. [3]
  7. ^ Gustafson, John L. (2016-07-12). ""The Great Debate": Unum arithmetic position paper" (PDF). Santa Clara, CA, USA: IEEE Symposium on Computer Arithmetic, ARITH 23. Retrieved 2016-07-20. [4]
  8. ^ Tichy, Walter F. (September 2016). "Unums 2.0: An Interview with John L. Gustafson". Ubiquity.ACM.org. Retrieved 2017-01-30. I started out calling them "unums 2.0," which seemed to be as good a name for the concept as any, but it is really not a "latest release" so much as it is an alternative.
  9. ^ 존 L. 구스타프슨과 나.요네모토. (2017년 2월) 비욘드 플로팅 포인트: 차세대 컴퓨터 산술.[온라인.사용 가능: https://www.youtube.com/watch?v=aP0Y1uAA-2Y
  10. ^ Gustafson, John Leroy (2017-10-10). "Posit Arithmetic" (PDF). Archived (PDF) from the original on 2017-11-05. Retrieved 2017-11-04.
  11. ^ a b P. 린드스트롬, S. 로이드, J.Hitker, "Reals의 유니버설 코딩: IEEE 부동소수의 대안"차세대 산술 콘퍼런스에서.ACM, 2018.
  12. ^ Feldman, Michael (2019-07-08). "New Approach Could Sink Floating Point Computation". www.nextplatform.com. Retrieved 2019-07-09.
  13. ^ Byrne, Michael (2016-04-24). "A New Number Format for Computers Could Nuke Approximation Errors for Good". Vice. Retrieved 2019-07-09.
  14. ^ Kulisch, Ulrich W.; Miranker, Willard L. (March 1986). "The Arithmetic of the Digital Computer: A New Approach". SIAM Rev. SIAM. 28 (1): 1–40. doi:10.1137/1028001.
  15. ^ S. Chung, "정수 포인트 큰 정수로 포짓 산술 수정 가능" ACM, 2018
  16. ^ J. Chen, Z.알-아스, 그리고 H.호프스티, "A Matrix-Multiply Unit for Posits in Registable Logic Use (Open)CAPI." ACM, 2018년
  17. ^ Z. Lehoczky, A. Szabo, B.파카스, "고위급.헤스트레이어를 이용한 동시 FPGA 구현을 통한 Unum Type I과 Posit의 NET 소프트웨어 구현." ACM, 2018.
  18. ^ S. 랭루디, T. 판디트, D.Kudithipudi, "Embedded Devices에 대한 심층 학습 추론:고정 포인트 대 포지트".EMC(Energy Efficiency Machine Learning and Cognition Computing for Embedded Applications)에서 2018. [온라인]사용 가능: https://sites.google.com/view/asplos-emc2/program
  19. ^ Rohit Chaurasiya, John Gustafson, Rahul Shrestha, Jonathan Neudorfer, Sangeet Nambiar, Kaustav Niyogi, Farhad Merginer, Rainer Leupers, "Parameted Posit산 하드웨어 발전기".ICCD 2018: 334-341.
  20. ^ Byrne, Simon (2016-03-29). "Implementing Unums in Julia". Retrieved 2016-05-30.
  21. ^ "Unum arithmetic in Julia: Unums.jl". Retrieved 2016-05-30.
  22. ^ "Julia Implementation of Unums: README". Retrieved 2016-05-30.
  23. ^ "Unum (Universal Number) types and operations: Unums". Retrieved 2016-05-30.
  24. ^ "jwmerrill/Pnums.jl". Github.com. Retrieved 2017-01-30.
  25. ^ "GitHub - ityonemo/Unum2: Pivot Unums". 2019-04-29.
  26. ^ Ingole, Deepak; Kvasnica, Michal; De Silva, Himeshi; Gustafson, John L. "Reducing Memory Footprints in Explicit Model Predictive Control using Universal Numbers. Submitted to the IFAC World Congress 2017". Retrieved 2016-11-15.
  27. ^ Ingole, Deepak; Kvasnica, Michal; De Silva, Himeshi; Gustafson, John L. "MATLAB Prototype of unum (munum)". Retrieved 2016-11-15.
  28. ^ "GitHub - stillwater-sc/Universal: Universal Number Arithmetic". 2019-06-16.
  29. ^ a b "Cerlane Leong / SoftPosit".
  30. ^ "Berkeley SoftFloat".
  31. ^ Kahan, William M. (2016-07-15). "Prof. W. Kahan's Commentary on "THE END of ERROR — Unum Computing" by John L. Gustafson, (2015) CRC Press" (PDF). Archived (PDF) from the original on 2016-08-01. Retrieved 2016-08-01.

추가 읽기

외부 링크