2009-08-12 35 views
6

Có bất kỳ công cụ nhỏ nào cho phép tôi truy cập vào dữ liệu được thu thập bởi Bộ đếm CPU Intel (như bộ nhớ cache L1/L2, thất bại dự đoán chi nhánh ... bạn biết có hunderts của chúng trên CPU Core2 hiện đại).Làm thế nào tôi có thể truy cập Bộ đếm CPU Intel

Nó phải hoạt động trên Windows (trong khi có thể sử dụng nó với Solaris, FreeBSD, Linux, MacOSX sẽ tất nhiên là tốt đẹp).

+0

Được rồi trong khi chờ đợi, tôi tìm thấy thư viện PAPI.Nhưng điều này ít nhiều chỉ là một Linux (chỉ hỗ trợ Solaris trên Sparc) và yêu cầu một số bản vá lỗi hạt nhân Linux - vâng tôi biết Linus nói rằng giám sát hiệu suất là một trong hai điểm yếu thực sự. Và tôi đã tìm thấy perfmon2 và thỏ (một dự án đã chết) cũng chỉ là Linux. Không phải một lần truy cập cho cửa sổ cho đến thời điểm này. – Lothar

Trả lời

0

Bạn không viết thư đang tìm kiếm ứng dụng hoặc thư viện.

Đối với Windows có Intel VTune. Nhưng điều này không chính xác là một công cụ nhỏ. Đối với linux tôi đã sử dụng oprofile, mà làm việc mà không có các bản vá lỗi hạt nhân.

+0

Tôi đang tìm một thư viện vì tôi muốn viết một trình hồ sơ thiết bị đo đạc ghi lại các sự kiện INSTRUCTION_RETIRED thay vì các milliseond. Có và có thể một số thứ khác, vì vậy bạn có thể xem nó như một công cụ VTune nhỏ như tôi muốn viết bản thân mình. – Lothar

+0

Tôi không nghĩ có thư viện. Thanh ghi hiệu năng màn hình được truy cập thông qua các lệnh rdmsr và wrmsr. Để bắt đầu, bạn có thể xem "Hướng dẫn dành cho nhà phát triển phần mềm kiến ​​trúc Intel 64 và IA-32" (google cho phiên bản mới nhất) Tập 3B, Chương 18.11ff. Có chính xác những gì bạn cần để truy cập vào Bộ đếm hiệu suất. – hirschhornsalz

0

Trên OS X, Shark cho phép bạn lấy dữ liệu từ PMC. Tôi không chắc chắn những gì có sẵn trên Windows khác với các công cụ của Intel (VTune, như đã đề cập bởi drhirsch).

0

Hãy thử điều này http://icl.cs.utk.edu/papi/ Đó là một thư viện đầy đủ cho phép bạn đọc bất kỳ dữ liệu quầy CPU, hoạt động trên cả Windows và Linux [và hệ điều hành khác]

+0

PAPI không hoạt động trên Windows. –

1

PAPI là một dẫn rất hứa hẹn, tuy nhiên, tôi tin rằng họ đã ngừng hỗ trợ cho Windows (và do đó .NET C#) khá một vài năm trước đây.

Trên cửa sổ mặt trước, Visual Studio 2010 Premium đi kèm với trình khám phá hiệu suất. Nếu bạn chạy bất kỳ dự án hoặc nhị phân nào trong chế độ thiết bị, bạn có thể truy cập vào các sự kiện phần cứng như hướng dẫn đã gỡ bỏ.

Kết quả có thể hơi phức tạp và không phù hợp với các yếu tố bên ngoài, nhưng nó tích hợp với Visual Studio một cách độc đáo và bạn nhận được số lượng chi tiết (avg, maximum, total) trên mỗi phương thức/cấp mô-đun.

Bộ phân tích hiệu suất V-tune của Intel cũng hiển thị những nguyên bản này. Tôi đã không chơi với công cụ này được nêu ra nhưng nó có thể là một API linh hoạt hơn những gì Visual Studio 2010 phơi bày.

+2

Cảm ơn nhưng tôi đang kinh doanh để phát triển và bán bản thân IDE. Vì vậy, điều này rõ ràng là không giúp tôi. – Lothar

4

Chủ đề này có vẻ hơi cũ nhưng nếu bạn vẫn quan tâm, tôi đã viết một số howto gần đây về chủ đề này bằng cách sử dụng không có gì hơn rdmsr và wrmsr trong Linux. Nó chỉ đề cập đến các bộ đếm hiệu suất trên Intel uncore cho Westmere, nhưng quá trình tôi mô tả có thể giúp bạn tìm ra những gì bạn cần nếu bạn chưa có. Tôi chắc chắn Windows có một số chương trình tương đương hoặc gọi hàm đến RDMSR và WRMSR. Vấn đề là bạn cần phải được vòng 0 (chế độ hạt nhân) để đọc MSR. Tôi không có ý tưởng làm thế nào để làm điều đó trong Windows. Tôi sẽ không thể trợ giúp với bất kỳ câu hỏi nào về Windows nhưng có thể trả lời một số câu hỏi liên quan đến MSR nếu bạn có bất kỳ câu hỏi nào. Tôi không có nghĩa là một chuyên gia mặc dù.

0

Chủ đề này trông khá cũ. Tuy nhiên, tất cả các quầy được đề cập ở trên đều có sẵn tại Intel PCM .Những bộ đếm này có thể được sử dụng như một plugin của Microsoft Perfmon hoặc giao diện nhắc lệnh. Intel PCM cung cấp thông tin như tỷ lệ truy cập bộ nhớ cache L2 và L3, bộ nhớ cache bị bỏ lỡ, vv ..

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