2009-10-29 37 views
20

Có ai có lập trình kinh nghiệm cho cả Intel Math Kernel LibraryAMD Math Core Library không? Tôi đang xây dựng một máy tính cá nhân để tính toán thống kê hiệu năng cao và đang tranh luận về các thành phần để mua. Một sự hấp dẫn của thư viện AMD Math Core là nó là miễn phí, nhưng tôi đang ở trong học viện nên MKL không phải là đắt tiền. Nhưng tôi muốn được nghe những suy nghĩ về:Intel MKL so với Thư viện AMD Math Core

  1. API nào cung cấp API tốt hơn?
  2. Cung cấp hiệu suất tốt hơn, tính trung bình, mỗi đô la, bao gồm chi phí cấp phép và phần cứng.
  3. Có phải yếu tố tôi nên cân nhắc không?
+0

Tôi tự hỏi nếu có một mẹo để làm cho MKL hoạt động trên bộ vi xử lý AMD. – Royi

+0

@Drazick Tôi hiểu rằng MKL cũng hoạt động với bộ vi xử lý AMD, với tối ưu hóa và tất cả. – becko

Trả lời

9

Intel MKL và ACML có các API tương tự nhưng MKL có bộ chức năng được hỗ trợ phong phú hơn bao gồm BLAS (và CBLAS)/LAPACK/FFT/Vector và toán học thống kê/Sparse trực tiếp và giải mã lặp/Sparse BLAS, v.v. Intel MKL cũng được tối ưu hóa cho cả bộ xử lý Intel và AMD và có một diễn đàn người dùng hoạt động mà bạn có thể chuyển sang để được trợ giúp hoặc hướng dẫn. Một đánh giá độc lập của hai thư viện được đăng tại đây: (http://www.advancedclustering.com/company-blog/high-performance-linpack-on-xeon-5500-v-opteron-2400.html)

• Căng thẳng Shane, Phân cụm nâng cao, (cũng được thực hiện bởi HPCWire: Thử thách điểm chuẩn: Nehalem Versus Istanbul): “Trong thử nghiệm gần đây và trải nghiệm thế giới thực, chúng tôi đã thấy rằng các trình biên dịch Intel và Thư viện hạt nhân toán học Intel (MKL) thường cung cấp hiệu suất tốt nhất. Thay vì chỉ giải quyết trên bộ công cụ của Intel, chúng tôi đã thử các trình biên dịch khác nhau bao gồm: Intel, trình biên dịch GNU và Nhóm Portland. Chúng tôi cũng đã thử nghiệm nhiều thư viện đại số tuyến tính khác nhau bao gồm: MKL, Thư viện toán học lõi AMD (ACML), và libGOTO từ Đại học Texas. Tất cả các thử nghiệm cho thấy chúng ta có thể đạt được hiệu suất cao nhất khi sử dụng cả Intel Compilers và Intel Math Library - ngay cả trên hệ thống AMD - vì vậy chúng được sử dụng làm cơ sở cho các tiêu chuẩn của chúng tôi. ” Nehalem X5550 2.66GHz ở 74.0GF so với Istanbul 2435 2.6GHz ở 99.4GF; Istanbul chỉ nhanh hơn 34% mặc dù có thêm 50% lõi]

Hy vọng điều này sẽ hữu ích.

2

Tôi đã sử dụng AMCL cho các quy trình BLAS/LAPACK, vì vậy điều này có thể sẽ không trả lời câu hỏi của bạn, nhưng tôi hy vọng câu hỏi này hữu ích cho ai đó. So sánh chúng với vanilla BLAS/LAPACK, hiệu suất của chúng là một yếu tố 2-3 tốt hơn trong trường hợp sử dụng cụ thể của tôi. Tôi đã sử dụng nó cho các ma trận phức tạp không đối xứng dày đặc, cho cả giải toán tuyến tính và tính toán hệ thống eigensystem. Bạn nên biết rằng các khai báo hàm là không giống hệt với các thói quen vani. Điều này đòi hỏi một số lượng đáng kể các macro tiền xử lý để cho phép tôi tự do chuyển đổi giữa hai macro. Đặc biệt tất cả các thói quen LAPACK trong AMCL không yêu cầu các mảng công việc. Đây là một tiện ích lớn nếu AMCL là thư viện duy nhất bạn sẽ sử dụng.

3

Thực tế, có hai phiên bản của các thói quen LAPACK trong ACML. Những cái không có dấu gạch dưới (_) là các thường trình C-phiên bản, như Victor đã nói, không yêu cầu mảng không gian làm việc và bạn chỉ có thể truyền giá trị thay vì tham chiếu cho các tham số. Những người có gạch dưới tuy nhiên chỉ là thói quen vanilla Fortran. Làm một "dumpbin/xuất khẩu" trên libacml_dll.dll và bạn sẽ thấy.

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