2009-10-08 30 views
6
  1. Tôi có một số quan niệm sai lầm về đo thất bại, trên kiến ​​trúc Intel, là một bổ sung FLOP và một phép nhân với nhau? Tôi đọc về điều này ở đâu đó trực tuyến và không có cuộc tranh luận nào có thể từ chối điều này. Tôi biết rằng FLOP có ý nghĩa khác nhau về các loại CPU khác nhau.FLOPS Intel lõi và thử nghiệm nó với C (innerproduct)

  2. Làm cách nào để tính toán FLOPS đỉnh lý thuyết của tôi? Tôi đang sử dụng CPU Intel (R) Core (TM) 2 Duo E7400 @ 2.80GHz. Chính xác mối quan hệ giữa GHz và FLOPS là gì? (ngay cả mục nhập wikipedia trên FLOPS KHÔNG chỉ định cách thực hiện điều này)

  3. Tôi sẽ sử dụng các phương pháp sau đây để đo hiệu suất thực tế của máy tính của tôi (về mặt flops): Sản phẩm bên trong của hai vectơ: của kích thước N, là số lượng flops 2n (n -1) (nếu thêm một hoặc một phép nhân được coi là 1 flop). Nếu không, làm thế nào tôi nên đi về tính toán này?

Tôi biết có cách tốt hơn để làm như vậy, nhưng tôi muốn biết liệu các tính toán được đề xuất của tôi có đúng hay không. Tôi đã đọc ở đâu đó về LINPACK như một điểm chuẩn, nhưng tôi vẫn muốn biết làm thế nào nó được thực hiện.

+0

Nhân và bổ sung thường được gọi là MAC (nhân tích lũy) và là số liệu thường được sử dụng với DSP. – Skizz

Trả lời

2

This article hiển thị một số lý thuyết về số FLOPS cho CPU x86. Nó chỉ hiện lên đến Pentium 4, nhưng có lẽ bạn có thể ngoại suy.

2

A FLOP là viết tắt của Floating Point Operation.

Điều này có nghĩa là giống nhau trong bất kỳ kiến ​​trúc nào hỗ trợ hoạt động điểm nổi và thường được tính là số lượng hoạt động có thể diễn ra trong bất kỳ giây nào (như trong FLOPS; hoạt động điểm nổi trên giây).

here bạn có thể tìm thấy các công cụ để đo FLOPS của máy tính.

9

Đối với câu hỏi thứ 2 của bạn, tính toán FLOPS lý thuyết không quá khó. Nó có thể được chia nhỏ thành khoảng:

(Số lõi) * (Số đơn vị/lõi thực hiện) * (chu kỳ/giây) * (đơn vị hoạt động/chu kỳ thực hiện) * (đơn vị thực thi/đăng ký) hoạt động)

Một Core-2 Duo có 2 lõi và 1 đơn vị thực thi trên mỗi lõi. một thanh ghi SSE rộng 128 bit. một phao có chiều rộng 32 bit, do đó bạn có thể lưu trữ 4 phao nổi trên mỗi thanh ghi. Tôi cho rằng đơn vị thực thi thực hiện 1 hoạt động SSE trên mỗi chu kỳ. Vì vậy, nó nên là:

2 * 1 * 2.8 * 1 * 4 = 22,4 GFLOPS

mà phù hợp: http://www.intel.com/support/processors/sb/cs-023143.htm

Con số này rõ ràng là hoàn toàn lý thuyết hiệu suất trường hợp tốt nhất. Hiệu suất thế giới thực rất có thể sẽ không đến gần với điều này do nhiều lý do khác nhau.Nó có lẽ không có giá trị cố gắng trực tiếp tương quan flops để thời gian chạy ứng dụng thực tế, bạn nên được tốt hơn tắt thử các tính toán được sử dụng bởi applicaton của bạn.

+0

Đó chính xác là những gì tôi cần cảm ơn bạn rất nhiều. BTW bạn đã tìm thấy phương trình đó ở đâu? –

+2

Core2 thực sự có thể tạo một SSE nhân và thêm mỗi chu kỳ, do đó việc tính toán cho FLOPS chính xác đơn là 2 * 1 * 2.8 * 2 * 4 = 44,8 GFLOPS; Tôi tin rằng liên kết Intel đang liệt kê các FLOPS kép (2 * 1 * 2.8 * 2 * 2 = 22.4). –

Các vấn đề liên quan