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. Kahan과 John L. Gustafson은 Arith23 회의에서 토론했다.[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로 통합을 평가하는 것은 정답을 보장하지만 보통 효과가 있는 방법만큼 빠르지 않을 수 있다.
참고 항목
참조
- ^ 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."
- ^ 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]
- ^ 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.
- ^ "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.
- ^ 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.
- ^ 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]
- ^ 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]
- ^ 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.
- ^ 존 L. 구스타프슨과 나.요네모토. (2017년 2월) 비욘드 플로팅 포인트: 차세대 컴퓨터 산술.[온라인.사용 가능: https://www.youtube.com/watch?v=aP0Y1uAA-2Y
- ^ Gustafson, John Leroy (2017-10-10). "Posit Arithmetic" (PDF). Archived (PDF) from the original on 2017-11-05. Retrieved 2017-11-04.
- ^ a b P. 린드스트롬, S. 로이드, J.Hitker, "Reals의 유니버설 코딩: IEEE 부동소수의 대안"차세대 산술 콘퍼런스에서.ACM, 2018.
- ^ Feldman, Michael (2019-07-08). "New Approach Could Sink Floating Point Computation". www.nextplatform.com. Retrieved 2019-07-09.
- ^ Byrne, Michael (2016-04-24). "A New Number Format for Computers Could Nuke Approximation Errors for Good". Vice. Retrieved 2019-07-09.
- ^ 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.
- ^ S. Chung, "정수 포인트 큰 정수로 포짓 산술 수정 가능" ACM, 2018
- ^ J. Chen, Z.알-아스, 그리고 H.호프스티, "A Matrix-Multiply Unit for Posits in Registable Logic Use (Open)CAPI." ACM, 2018년
- ^ Z. Lehoczky, A. Szabo, B.파카스, "고위급.헤스트레이어를 이용한 동시 FPGA 구현을 통한 Unum Type I과 Posit의 NET 소프트웨어 구현." ACM, 2018.
- ^ 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
- ^ Rohit Chaurasiya, John Gustafson, Rahul Shrestha, Jonathan Neudorfer, Sangeet Nambiar, Kaustav Niyogi, Farhad Merginer, Rainer Leupers, "Parameted Posit산 하드웨어 발전기".ICCD 2018: 334-341.
- ^ Byrne, Simon (2016-03-29). "Implementing Unums in Julia". Retrieved 2016-05-30.
- ^ "Unum arithmetic in Julia: Unums.jl". Retrieved 2016-05-30.
- ^ "Julia Implementation of Unums: README". Retrieved 2016-05-30.
- ^ "Unum (Universal Number) types and operations: Unums". Retrieved 2016-05-30.
- ^ "jwmerrill/Pnums.jl". Github.com. Retrieved 2017-01-30.
- ^ "GitHub - ityonemo/Unum2: Pivot Unums". 2019-04-29.
- ^ 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.
- ^ Ingole, Deepak; Kvasnica, Michal; De Silva, Himeshi; Gustafson, John L. "MATLAB Prototype of unum (munum)". Retrieved 2016-11-15.
- ^ "GitHub - stillwater-sc/Universal: Universal Number Arithmetic". 2019-06-16.
- ^ a b "Cerlane Leong / SoftPosit".
- ^ "Berkeley SoftFloat".
- ^ 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.
추가 읽기
- Gustafson, John L. (March 2013). "Right-Sizing Precision: Unleashed Computing: The need to right-size precision to save energy, bandwidth, storage, and electrical power" (PDF). Archived (PDF) from the original on 2016-06-06. Retrieved 2016-06-06.
- Brueckner, Rich (2015-03-02). "Slidecast: John Gustafson Explains Energy Efficient Unum Computing". The Rich Report. Inside HPC. Archived from the original on 2016-07-10. Retrieved 2016-06-10.
- Gustafson, John L. (2015). "The end of numerical error" (PDF). Archived (PDF) from the original on 2016-06-06. Retrieved 2016-06-06.
- Gustafson, John L. (2016-06-03) [2016-02-22]. "A Radical Approach to Computation with Real Numbers – Unums version 2.0" (PPT). Archived from the original on 2016-07-10. Retrieved 2016-07-10. (NB. PDF는 메모 없이 제공됨: [5] [6])
- Gustafson, John L. (2016-06-06). "An Energy-Efficient and massively parallel approach to valid numerics" (PPT). OCRAR Seminar. Archived from the original on 2016-07-10. Retrieved 2016-07-10. [7] [8]
- Gustafson, John L. (2016). "A Radical Approach to Computation with Real Numbers" (PDF). SuperFri.org. Archived (PDF) from the original on 2016-07-10. Retrieved 2016-07-10.
- Kulisch, Ulrich W. (2015). "Up-to-date Interval Arithmetic from closed intervals to connected sets of real numbers" (PDF) (preprint). Institut für Angewandte und Numerische Mathematik – Karlsruhe Institute of Technology (KIT), Germany. ID 15/02. Archived (PDF) from the original on 2016-07-12. Retrieved 2016-07-12.
- Risse, Thomas (2016-03-10). "Unum – an expedient extension of IEEE 754" (PDF) (presentation). London South Bank University (LSBU), UK: Institute of Informatics & Automation (IIA), Faculty EEE & CS, Bremen University of Applied Sciences, Germany. Archived (PDF) from the original on 2016-07-12. Retrieved 2016-07-12.
- Kahan, William M. (2016-07-15). "Prof. W. Kahan's Comments on SORN Arithmetic" (PDF). Archived (PDF) from the original on 2016-08-01. Retrieved 2016-08-01.
- Hunhold, Laslo (2016-11-08). The Unum Number Format: Mathematical Foundations, Implementation and Comparison to IEEE 754 Floating-Point Numbers (PDF) (Bachelor thesis). Universität zu Köln, Mathematisches Institut. arXiv:1701.00722v1. Archived (PDF) from the original on 2017-01-07. Retrieved 2016-10-23.
- Sterbenz, Pat H. (1974-05-01). Floating-Point Computation. Prentice-Hall Series in Automatic Computation (1st ed.). Englewood Cliffs, New Jersey, USA: Prentice Hall. ISBN 0-13-322495-3.
- Cave, Skip (2016-08-17). "J Programming Language Implementation of 3-bit, 4-bit, 8-bit and 16-bit Precision Unums". Retrieved 2017-05-03. (Roger Stokes의 다운로드 링크: http://www.learningj.com/unumslab.zip)
- Ingole, Deepak (2017-09-28). Embedded Implementation of Explicit Model Predictive Control (PhD Thesis). Slovak University of Technology in Bratislava, Slovakia.
외부 링크
- "Conference for Next Generation Arithmetic (CoNGA)". 2017. Archived from the original on 2017-11-04. Retrieved 2017-11-04.
- "SoftPosit". 2018. Retrieved 2018-06-13.
- "Community Source Code Contribution". 2018. Retrieved 2018-06-13.
- "Anatomy of a posit number". 2018-04-11. Retrieved 2019-08-09.