Skip to main content
QUICK REVIEW

[논문 리뷰] Universal Numbers Library: design and implementation of a high-performance reproducible number systems library

E. Theodore L. Omtzigt, Peter Gottschling|arXiv (Cornell University)|2020. 12. 20.
Numerical Methods and Algorithms참고 문헌 8인용 수 8
한 줄 요약

유니버설 넘버스 라이브러리(Universal Numbers Library)는 임의 정밀도 정수, 소수, 고정소수점, 부동소수점, 그리고 새로운 형태의 틈새 부동소수점 형식(포지티브, 밸리드)을 지원하는 고성능이며 재현 가능한 수 체계 라이브러리를 제공한다. 이는 다양한 하드웨어(x86, ARM, POWER)에서 효율적이고 이식 가능하며 결정적인 계산을 가능하게 하며, 과학 계산 및 실시간 응용 분야에서 고성능 선형 대수 런타임에 통합된 바가 있다.

ABSTRACT

With the proliferation of embedded systems requiring intelligent behavior, custom number systems to optimize performance per Watt of the entire system become essential components for successful commercial products. We present the Universal Number Library, a high-performance number systems library that includes arbitrary integer, decimal, fixed-point, floating-point, and introduces two tapered floating-point types, posit and valid, that support reproducible arithmetic computation in arbitrary concurrency environments. We discuss the design of the Universal library as a run-time for application development, and as a platform for application-driven hardware validation. The library implementation is described, and examples are provided to show educational examples to elucidate the number system properties, and how specialization is used to yield very high-performance emulation on existing x86, ARM, and POWER processors. We will highlight the integration of the library in larger application environments in computational science and engineering to enable multi-precision and adaptive precision algorithms to improve performance and efficiency of large scale and real-time applications. We will demonstrate the integration of the Universal library into a high-performance reproducible linear algebra run-time. We will conclude with the roadmap of additional functionality of the library as we are targeting new application domains, such as Software Defined Radio, instrumentation, sensor fusion, and model-predictive control.

연구 동기 및 목표

  • 지능적인 행동을 갖춘 임의의 정밀도 수 체계에 대한 에너지 효율적인 맞춤형 솔루션의 증가하는 수요를 충족시키기 위해.
  • 신뢰할 수 있는 과학 계산 및 실시간 컴퓨팅에 필수적인 다양한 동시성 환경에서 재현 가능한 산술 연산을 보장하기 위해.
  • 다양한 수 체계를 포함한 포괄적인 런타임 라이브러리를 제공하여 이식 가능하고 고성능을 확보하기 위해.
  • 응용 프로그램 기반 하드웨어 검증 플랫폼으로서 기능하여 하드웨어-소프트웨어 공동 설계를 촉진하기 위해.
  • 적응형 및 다중 정밀도 산술을 통해 대규모 및 실시간 응용 프로그램의 기능을 확장하기 위해.

제안 방법

  • 임의 정밀도 정수, 고정소수점, 부동소수점, 그리고 두 가지 틈새 형식인 포지티브와 밸리드를 포함한 다양한 수 체계를 추상화하는 C++ 기반 소프트웨어 라이브러리 설계.
  • x86, ARM, POWER 프로세서를 대상으로 특수 최적화된 커널을 구현하여 소프트웨어 에뮬레이션에서도 고성능 달성.
  • 재현 가능한 산술 의미 체계를 통해 다양한 실행 환경에서 비트 수준 동일한 결과를 보장하여 결정적인 계산을 확보.
  • 고성능 선형 대수 런타임에 라이브러리를 통합하여 과학 계산 워크로드에서의 확장성과 효율성 입증.
  • 응용 프로그램 기반 하드웨어 검증을 가능하게 하기 위해 라이브러리를 런타임 추상화 계층으로 활용.
  • 다양한 수 체계의 특성과 상호 보완적 특성(정밀도, 범위, 성능)을 명확히 보여주는 예제를 제공하여 교육적 활용 지원.

실험 결과

연구 질문

  • RQ1다양한 수 체계를 효율적으로 지원하면서도 이질적인 프로세서 아키텍처에서 고성능을 유지할 수 있는 통합 소프트웨어 라이브러리의 설계는 어떻게 이루어질 수 있는가?
  • RQ2틈새 부동소수점 형식(포지티브 및 밸리드)은 과학 계산 및 실시간 응용 분야에서 정밀도 향상과 에너지 효율성 향상에 얼마나 기여할 수 있는가?
  • RQ3소프트웨어 전용 구현을 통해 임의의 동시성 환경에서도 재현 가능한 산술 연산을 효과적으로 달성할 수 있는가?
  • RQ4라이브러리가 커스터마이즈된 수 체계 하드웨어 가속기의 검증 플랫폼으로서 기능함으로써 하드웨어-소프트웨어 공동 설계는 어떻게 지원될 수 있는가?
  • RQ5적응형 및 다중 정밀도 산술을 통합함으로써 대규모 과학 계산에서 성능과 정밀도 향상은 어느 정도 달성될 수 있는가?

주요 결과

  • 유니버설 넘버스 라이브러리는 x86, ARM, POWER 아키텍처를 대상으로 특수 최적화된 커널을 통해 고성능을 달성한다.
  • 다양한 실행 스레드 및 플랫폼 간에 비트 수준 동일한 결과를 보장하여 과학 계산 및 실시간 컴퓨팅에 필수적인 재현 가능한 결과를 제공한다.
  • 틈새 부동소수점 형식(포지티브 및 밸리드)은 임베디드 및 실시간 시스템에서 정밀도 향상과 에너지 효율성 향상에 강력한 잠재력을 보여준다.
  • 고성능 선형 대수 런타임과의 통합을 통해 라이브러리의 확장성과 대규모 계산 워크로드에서의 효과성을 입증한다.
  • 라이브러리가 커스터마이즈된 수 체계 가속기의 초기 설계 및 검증을 가능하게 하는 응용 프로그램 기반 하드웨어 검증 플랫폼으로 성공적으로 기능한다.
  • 라이브러리에 포함된 교육용 예제는 다양한 수 체계 간의 정밀도, 범위, 성능 간의 상호 보완적 특성을 효과적으로 설명한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.