Tôi biết rằng ATLAS có thể tự tối ưu hóa cho máy được biên dịch và do đó lợi ích tối đa được tìm thấy bằng cách biên dịch từ nguồn. Có bất kỳ lợi ích nào khi biên dịch LAPACK từ nguồn không? Sẽ dễ dàng hơn nhiều nếu chỉ cài đặt gói dựng sẵn.
Tôi biết rằng ATLAS có thể tự tối ưu hóa cho máy được biên dịch và do đó lợi ích tối đa được tìm thấy bằng cách biên dịch từ nguồn. Có bất kỳ lợi ích nào khi biên dịch LAPACK từ nguồn không? Sẽ dễ dàng hơn nhiều nếu chỉ cài đặt gói dựng sẵn.
Câu trả lời:
OpenBlas khá nhanh, vì vậy bạn có thể liên kết nó với LAPACK. Bạn đã thử phiên bản tiền biên dịch LAPACK / BLAS từ nhà cung cấp CPU chưa? Ví dụ AMD ACML (miễn phí) hoặc Intel MKL (miễn phí trên linux cho mục đích phi thương mại và phi học thuật)? Bạn chỉ cần giải nén và chạy tập tin cài đặt.
Theo tôi, lợi thế duy nhất của việc sử dụng ATLAS là khi bạn sử dụng một số CPU khác thường. Nếu không, sử dụng một từ nhà cung cấp CPU. Ngoài ra còn có các phiên bản nVIDIA CUDA và AMD OpenCL thực sự gây được tiếng vang.
EDIT: hãy nhớ rằng bạn luôn có thể xây dựng gói Ubuntu DEB từ nguồn thường dễ hơn nhiều so với biên dịch phần mềm từ nguồn.
libmkl_rt.so
tệp thường được liên kết bằng cách sử dụng:-L/opt/intel/mkl/lib/intel64 -lmkl_rt
Gói kho lưu trữ không an toàn để sử dụng với luồng do cách nó được biên dịch. Tôi đã báo cáo lỗi trên diễn đàn Lapack , nhưng sẽ mất nhiều thời gian để giải pháp hoặc giải pháp nhỏ giọt vào kho lưu trữ. Nếu bạn tự biên dịch nó, hãy chắc chắn để thêm "-frecursive" vào gfortran.
Theo kinh nghiệm của tôi, cách tốt nhất để sử dụng blas / lapack trên các phiên bản gần đây của ubfox là sử dụng openblas đóng gói.
Đối với những gì nó có giá trị, tôi chủ yếu sử dụng blas / lapack thông qua python numpy / scipy và sử dụng openblas tăng tốc một số đại số tuyến tính như 200x so với mặc định. Tôi đã thử sử dụng ATLAS tùy chỉnh, nhưng đó là một nỗi đau rất lớn và không cho nhiều nếu có bất kỳ sự tăng tốc nào so với openblas, nhưng tôi có thể đã làm sai.