소개

계산에 어떤 정밀도 형식을 사용할지 이해하는 것은 중요하지만 때로는 균형 잡기처럼 어렵게 느껴질 수 있습니다. 배정밀도 컴퓨팅의 정확도는 단정밀도 컴퓨팅의 성능 값과 경쟁하는 것으로 보입니다. 둘 다 정확성을 보장하고 수치 값의 한계를 밀어붙이지만, 각 기술은 그 목적과 운영 비용이 다릅니다.

여기서는 각 형식을 하나씩 자세히 살펴보면서 서로 어떻게 다른지, 그리고 다양한 수준의 정밀도를 혼합하여 어떻게 정확성을 잃지 않고 효율성을 유지하는 데 도움이 되는지 자세히 살펴보겠습니다.

컴퓨터 공학 분야에서 정밀도의 역할

단정밀도 컴퓨팅과 배정밀도 컴퓨팅의 차이를 이해하려면 컴퓨터 공학에서 정밀도의 역할을 이해하는 것이 중요합니다. 무리수(예: 파이)를 사용하여 소수점 아래 두 자리만 포함(3.14)하여 계산을 수행한다고 상상해 보겠습니다. 하지만, 소수점 아래 10자리(3.1415926535)를 포함하여 계산을 수행하면 보다 정확한 결과를 얻을 수 있습니다.

컴퓨터의 경우 이러한 수준의 정확도를 정밀도라고 하며 소수 자릿수가 아닌 이진수(비트)로 정밀도가 측정됩니다. 비트를 많이 사용할수록 정밀도가 높아집니다.

Man on computer in a dim room with a city view.

IEEE 표준 부동 소수점 숫자 표현

컴퓨터에서 이진수로 큰 숫자를 나타낼 때 계산에 큰 편차가 없도록 하려면 일정한 표준이 필요합니다. 따라서 IEEE(Institute of Electrical and Electronics Engineers)는 부동 소수점 산술에 대한 IEEE 표준(IEEE 754)을 개발했습니다. 

IEEE 754에는 세 가지 구성 요소가 있습니다.

  1. 밑수 - 0은 양수를, 1은 음수를 나타냅니다. 
  2. 편향 지수 - 지수는 양의 지수와 음의 지수를 모두 나타내는 데 사용됩니다. 따라서 저장된 지수를 얻으려면 실제 지수에 편향을 추가해야 합니다. 
  3. 가수(mantissa)- significand라고도 하며, 숫자의 정밀도 비트를 나타냅니다.

이러한 구성 요소를 사용하여 IEEE 754는 단정밀도 형식과 배정밀도 형식의 두 가지 방법으로 부동 소수점 숫자를 나타냅니다. 부동 소수점 숫자를 표현하는 방법은 더욱 많지만 IEEE 754는 일반적으로 가장 효율적으로 숫자 값을 표현했기 때문에 가장 널리 사용되고 있습니다. 

Blue abstract data dots

IEEE 표준 부동 소수점 숫자 표현

컴퓨터에서 이진수로 큰 숫자를 나타낼 때 계산에 큰 편차가 없도록 하려면 일정한 표준이 필요합니다. 따라서 IEEE(Institute of Electrical and Electronics Engineers)는 부동 소수점 산술에 대한 IEEE 표준(IEEE 754)을 개발했습니다. 

IEEE 754에는 세 가지 구성 요소가 있습니다.

  1. 밑수 - 0은 양수를, 1은 음수를 나타냅니다. 
  2. 편향 지수 - 지수는 양의 지수와 음의 지수를 모두 나타내는 데 사용됩니다. 따라서 저장된 지수를 얻으려면 실제 지수에 편향을 추가해야 합니다. 
  3. 가수(mantissa)- significand라고도 하며, 숫자의 정밀도 비트를 나타냅니다.

이러한 구성 요소를 사용하여 IEEE 754는 단정밀도 형식과 배정밀도 형식의 두 가지 방법으로 부동 소수점 숫자를 나타냅니다. 부동 소수점 숫자를 표현하는 방법은 더욱 많지만 IEEE 754는 일반적으로 가장 효율적으로 숫자 값을 표현했기 때문에 가장 널리 사용되고 있습니다. 

단정밀도 부동 소수점 형식이란 무엇입니까?

단정밀도 부동 소수점 형식은 32비트의 컴퓨터 메모리를 사용하며 다양한 숫자 값을 나타낼 수 있습니다. 종종 FP32라고도 하는 이 형식은 약간의 근사치로 인해 문제가 생기지 않는 계산에 가장 적합합니다.

배정밀도 부동 소수점 형식이란 무엇입니까?

반면에 배정밀도 부동 소수점 형식은 컴퓨터 메모리의 64비트를 차지하며 단정밀도 형식보다 훨씬 정확합니다. 이 형식을 FP64라고 하며 더 큰 범위나 보다 정확한 계산이 필요한 값을 나타내는 데 사용됩니다.

배정밀도를 사용하면 정확도가 높아지지만 더 많은 계산 리소스, 메모리 저장소, 데이터 전송이 필요합니다. 이 형식에 사용되는 비용은 모든 계산에 적합하지는 않습니다.

단정밀도와 배정밀도의 차이점

단정밀도 컴퓨팅과 배정밀도 컴퓨팅을 구분하는 가장 간단한 방법은 부동 소수점 숫자를 나타내는 비트 수를 확인하는 것입니다. 단정밀도의 경우 부동 소수점 숫자를 나타내는 데 32비트가 사용됩니다. 배정밀도의 경우 부동 소수점 숫자를 나타내는 데 64비트가 사용됩니다. 

오일러수(e)를 예로 들어 보겠습니다. e의 처음 50자리 소수점은 다음과 같습니다. 2.7182818284590452353602874713526624977572470936999.

다음은 오일러수를 단정밀도로 변환한 이진수입니다.  
01000000001011011111100001010100

다음은 오일러수를 배정밀도로 변환한 이진수입니다. 
010000000000010110111111 0000101010001011000101000101011101101001

첫 번째 숫자는 밑수를 나타냅니다. 다음 숫자 집합(단정밀도의 경우 8자리, 배정밀도의 경우 11자리)은 편향 지수를 나타냅니다. 마지막 숫자 집합(단정밀도의 경우 23자리, 배정밀도의 경우 52자리)은 가수를 나타냅니다.

비교 차트: 단정밀도 대 배정밀도

 

단정밀도

배정밀도

개요

32비트의 메모리를 사용하여 숫자 값을 나타내며, 비트 중 하나는 가수를 나타냄

64비트의 메모리를 사용하여 숫자 값을 나타내며, 비트 중 하나는 가수를 나타냄

 

편향 지수

 

지수에 8비트 사용

 

지수에 11비트 사용

 

가수

 

가수에 23비트를 사용(분수 부분을 나타내기 위함)

 

가수에 53비트를 사용(분수 부분을 나타내기 위함)

 

실제 적용 사례

높은 수준의 정밀도 없이 더 광범위한 표현을 필요로 하는 게임이나 프로그램에 주로 사용

높은 수준의 정밀도가 필요한 과학적 계산 및 복잡한 프로그램에 주로 사용

다중 정밀도 컴퓨팅과 혼합 정밀도 컴퓨팅 비교

다중 정밀도로 간주되는 단정밀도 및 배정밀도 컴퓨팅 외에도 혼합 정밀도 컴퓨팅이 있습니다.

트랜스프리시전(transprecision)이라고도 불리는 혼합 정밀도 컴퓨팅은 일반적으로 머신러닝 분야에서 사용됩니다. 이 방식에서는 빠른 행렬 계산을 위해 반정밀도(16비트) 값으로 시작하여 계산을 수행합니다. 그런 다음 숫자가 계산되면 기계에 의해 더 높은 정밀도로 저장됩니다. 

혼합 정밀도 컴퓨팅의 장점은 배정밀도 컴퓨팅과 같은 수준의 전력, 런타임, 메모리를 사용하지 않고도 배정밀도 컴퓨팅에서 실행되는 것과 유사한 정확도로 누적된 응답을 제공한다는 것입니다.

Blue abstract computer chip layout

다양한 수준의 정밀도를 혼합하는 이점

계산을 실행하는 것이 모든 상황에 적합한 방법은 아니므로 워크로드에 따라 다른 정밀도를 필요로 합니다. 컴퓨터 공학자들은 가용 자원, 예산, 저장 공간, 기타 변수에 따라 다양한 계산 형식이 필요합니다. 

예를 들어 배정밀도는 정확도가 매우 높으므로 일부 빅 데이터 연구나 기상 모델링에 가장 적합할 수 있습니다. 그러나 이러한 계산에는 필요한 스토리지와 리소스가 크므로 항상 배정밀도를 사용할 수는 없습니다. 개발자는 필요에 따라 다양한 정밀도 수준을 혼합하여 효율성과 계산 비용을 최적화할 수 있습니다. 

컴퓨팅 효율성 최적화

물론 컴퓨팅에서는 정확성이 필수적이지만 다양한 정밀도 수준을 사용할 때 어떤 이점을 얻을 수 있는지 이해하는 것이 중요합니다. 위와 같은 정확한 계산을 수행하지 않고도 운영 효율성을 보장하려면 다양한 부동 소수점 형식을 지원하는 유연한 기능이 필요합니다.

AMD Vivado™ Design Suite

AMD의 DSP용 AMD Vivado™ ML 및 System Generator는 모두 다중 정밀도 또는 혼합 정밀도 등 다양한 부동 소수점 정밀도를 지원하는 강력한 도구를 제공합니다. 또한 업계 최고의 이 도구 제품군은 설계를 가속화하고 생산성을 높이며 리소스를 효율적으로 사용하는 데 필요한 사용자 정의 정밀도를 유연하게 제공합니다. AMD Vivado가 어떻게 컴퓨팅 효율성을 높일 수 있는지 자세히 알아보세요.

연결상태를 유지하세요

뉴스레터에 등록하여 최신 데이터 센터 소식을 받아보거나 AMD 영업 담당자와 상담하십시오.