Flops는 floating point operations per second의 준말로 flops, flop/s라는 표현으로도 사용된다. 이는 1초동안 컴퓨터가 수행할 수 있는 부동 소수점 연산의 횟수이다. 컴퓨터의 performance를 나타내는 지표로 floating point 계산이 필요한 연산 능력을 측정하는데 유용하다. Flops와는 또 다른 개념으로 instructions per second가 있는데 이는 구분되는 개념이다.
먼저, Floating point는 부동 소숫점으로 실수를 나타낼 수 있는 표현 방식이다. Floting point 연산은 매우 크거나 작은 실수 연산에 필요하다. Floting point는 32-bit 포맷을 single precision이라 정의하고, 64-bit 포맷을 double precision이라 정의한다. 그리고 Floating point (부동 소숫점) 표현 방식은 Fixed point (고정 소숫점) 표현 방식보다 매우 크거나 작은 실수를 표현할 수 있는 장점이 있다.
FLOPS와 MIPS는 컴퓨터의 수치적인 연산 성능을 측정하는 지표이다. (MIPS는 정수 연산 성능을 측정하는 지표.)
보통 Flops를 사용하는 경우는 float32 vs float64 자료형을 선택하는 경우이다. 그런데 이는 빌드 환경 (32bit / 64bit)에 따라 결과가 달라질 수 있고, 칩 제조사 별로 특정 자료형의 부동 소숫점 연산에 최적화하는 경우가 있어 딱 정답이 없는 것으로 보인다. 타겟 환경에서 직접 테스트해보는 것 말고는 답이 없는듯..?
'개념공부 > 기타' 카테고리의 다른 글
OSQP Solver 빌드하기 (0) | 2023.12.22 |
---|---|
QP Solver (0) | 2023.11.29 |
[OpenGL] GLUT (0) | 2023.09.11 |
[MATLAB] mex 파일이란 (0) | 2023.06.27 |
[Git 스터디 3] Git 시작하기 (0) | 2023.05.23 |