2009-10-08 2 views
6
  1. 인텔 아키텍처에서 플롭을 측정하는 것에 대해 오해가 있습니다. 플롭 하나의 덧셈과 하나의 곱셈입니까? 온라인 어딘가에 대해서 읽었고 이것을 거부 할 논쟁은 없습니다. 나는 FLOP이 다른 종류의 cpu에 다른 의미를 가지고 있음을 안다.FLOPS 인텔 코어 및 C (내 제품)로 테스트하십시오.

  2. 이론적 인 피크 플롯을 어떻게 계산합니까? Intel (R) Core (TM) 2 Duo CPU E7400 @ 2.80GHz를 사용하고 있습니다. GHz와 FLOPS의 관계는 정확히 무엇입니까? (FLOPS에 대한 위키 피 디아의 항목조차도이를 수행하는 방법을 명시하지 않습니다)

  3. 컴퓨터의 실제 성능을 측정하기 위해 다음과 같은 방법을 사용합니다 (두 가지 벡터의 내부 제품 : 두 벡터의 경우). 크기 N의 플립 플롭은 2n (n-1)의 플립 수 (하나의 덧셈 또는 하나의 곱셈이 1 플롭으로 간주되는 경우)입니다. 그렇지 않다면 어떻게 계산해야합니까?

내가 더 좋은 방법이 있다는 것을 알고 있지만 제안 된 계산이 올바른지 알고 싶습니다. LINPACK에 대한 어딘가를 벤치 마크로 읽었지 만 여전히 어떻게 완료되었는지 알고 싶습니다.

+0

곱셈 및 덧셈은 일반적으로 MAC (곱셈 누적)이라고도하며 DSP에서 자주 사용되는 메트릭입니다. – Skizz

답변

2

This article은 x86 CPU의 FLOPS 번호에 대한 몇 가지 이론을 보여줍니다. 현재는 펜티엄 4까지만 가능하지만 아마 추정 할 수 있습니다.

2

FLOP은 부동 소수점 연산을 나타냅니다.

부동 소수점 연산을 지원하는 모든 아키텍처에서 동일한 것을 의미하며 일반적으로 1 초에 발생할 수있는 연산의 수 (FLOPS, 초당 부동 소수점 연산과 같이)로 측정됩니다.

here 컴퓨터의 FLOPS를 측정하는 도구를 찾을 수 있습니다.

9

두 번째 질문에 대한 이론적 인 FLOPS 계산은 너무 어렵지 않습니다.

(코어 수) * (실행 단위/코어 수) * (사이클 수/초) * (실행 단위 연산 /주기) * (레지스터 당 수위/실행 단위 작동)

코어 2 듀오는 코어 당 2 개의 코어와 1 개의 실행 단위를 가지고 있습니다. SSE 레지스터는 128 비트 폭이다. 부동 소수점은 32 비트이므로 레지스터 당 4 개의 부동 소수점을 저장할 수 있습니다. 실행 유닛이 사이클 당 1 SSE 연산을한다고 가정합니다. 그래서되어야합니다 : http://www.intel.com/support/processors/sb/cs-023143.htm

이 숫자는 분명히 순수하게 이론적 인 최상의 경우 성능입니다 : 일치

2 * 1 * 2.8 * 1 * 4 = 22.4 GFLOPS

. 실제 세계 성과는 여러 가지 이유로 거의 비슷할 것입니다.플럽을 실제 앱 런타임에 직접 연관 짓는 것은 가치가 없을 것입니다. 앱에서 사용하는 계산을 시도하는 것이 좋습니다.

+0

그게 바로 제가 고마워해야 할 부분입니다. BTW 그 방정식은 어디에서 찾았습니까? –

+2

Core2는 실제로 SSE 곱하기를 발행하고 각주기를 더할 수 있으므로 단 정밀도 FLOPS에 대한 계산은 2 * 1 * 2.8 * 2 * 4 = 44.8 GFLOPS입니다. 필자는 인텔 링크가 배정 밀도 FLOPS (2 * 1 * 2.8 * 2 * 2 = 22.4)를 나열하고 있다고 생각합니다. –