Tôi là một người mới sử dụng các thói quen LAPACK, vì vậy tôi không biết sâu họ, và tôi muốn sử dụng chúng trong các vòng lặp song song (openmp).Chuỗi chủ đề LAPACK có an toàn không?
Tôi sử dụng Ubuntu 14.04LTS và cài đặt LAPACK bằng trình quản lý gói của mình. Phiên bản cài đặt là:
liblapack3 3.5.0-2ubuntu1 Library of linear algebra routines 3 - shared version
Thư viện BLAS liên quan là:
libblas3 1.2.20110419-7
Vì vậy, câu hỏi đầu tiên của tôi là khá đơn giản: Tôi có thể sử dụng bất kỳ chương trình con hoặc chức năng của LAPACK trong một vòng lặp song song sử dụng OpenMP ? Id est, chúng có an toàn không ?.
Một câu hỏi khác là: Tôi có thể sử dụng bất kỳ chương trình con hoặc hàm nào của LAPACK trong chương trình con thuần túy không ?, id est, trong chương trình con được mã hóa bởi tôi và được định nghĩa là thuần túy.
Nếu câu trả lời cho những câu hỏi này "không phải với tất cả các thủ tục LAPACK nhưng với một số trong số họ", sau đó, tôi có thể làm điều đó với các chương trình con sau ?:
- dgetrs
- dgetrf
- dgetri
- dgecon
Và một câu hỏi cuối cùng: làm thủ tục LAPACK sử dụng tất cả các lõi của tôi ?, id est, là họ đã p song song ?.
Và tôi có thể thấy rằng tôi không thể sử dụng chúng trong hàm _pure_. Tôi nhận được lỗi sau: 'Lỗi: Cuộc gọi chương trình con đến 'dgetrs' tại (1) không phải là PURE' –
Để tham khảo: MKL cung cấp giao diện cho các trình con tinh khiết 95 của Fortran https://software.intel.com/en-us/node/468670 – astrojuanlu