Có bất kỳ lợi ích nào khi biên dịch LAPACK từ nguồn so với cài đặt gói dựng sẵn từ Ubuntu không?


13

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ó thể đáng để thử kỹ thuật này để xem tại sao thời gian lại được sử dụng. Tôi đã tìm thấy, nếu tôi làm việc nhiều với ma trận không lớn, các thói quen của thư viện dành hơn một nửa thời gian để phân loại cờ ký tự đầu vào của họ và phân loại đầu vào khác, vì vậy bạn có thể tăng tốc rất nhiều bằng cách tăng cường thư viện với một vài thói quen mã hóa được lựa chọn tốt.
Mike Dunlavey

Câu trả lời:


9

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.


Tôi nghĩ rằng tôi sẽ đi với đề xuất của bạn và cài đặt MKL. Cũng cảm ơn về mẹo xây dựng các gói DEB, tôi không biết điều đó là có thể.
OSE

2
Hãy nhớ rằng bạn cần cấu hình ld (trình liên kết thư viện động để có thể tìm thấy các lib đó). BLAS và LAPACK từ Intel MKL có trong libmkl_rt.sotệp thường được liên kết bằng cách sử dụng:-L/opt/intel/mkl/lib/intel64 -lmkl_rt
Misery

2
Mọi người nên chỉ ra rằng giấy phép phi thương mại của Intel ngày càng bị hạn chế hơn với mỗi bản phát hành, đến mức bây giờ họ rất rõ ràng về việc sử dụng học thuật không được bảo hiểm ngay khi bạn nhận được tiền cho nghiên cứu của mình.
Christian Clason

Yest đó là điều đáng nói. Tuy nhiên, người ta có thể kiểm tra nó miễn phí:] Và nếu nó chứng minh được sự hữu ích, thì đó không phải là thứ đắt nhất trên thế giới.
Khốn khổ

7

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.


6

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.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.