Dự đoán thời gian chạy cho đại số tuyến tính dày đặc


9

Tôi muốn dự đoán thời gian chạy cho các phép toán đại số tuyến tính dày đặc trên một kiến ​​trúc cụ thể bằng một thư viện cụ thể. Tôi muốn tìm hiểu một mô hình gần đúng chức năng

Fop::kích thước đầu vào thời gian chạy

cho các hoạt động như nhân ma trận, thêm phần tử, giải tam giác, v.v ....

Tôi nghi ngờ rằng các thời gian chạy này hầu hết có thể dự đoán được do tính thường xuyên của các hoạt động một khi bạn vượt quá kích thước vấn đề phù hợp thoải mái trong bộ đệm.

Câu hỏi:

  1. Là giả định này thực tế? Là chức năng thời gian chạy có khả năng gần như xác định?
  2. Tôi có thể giả sử rằng hàm này sẽ là đa thức trong kích thước của các đầu vào không? (ví dụ: Tôi hy vọng ma trận dày đặc nhân để nhìn cái gì đó như cho A n k × B k malpha một số hệ số vô hướng)αn×k×mAnk×Bkmα
  3. Có công việc từ trước về điều này ở đâu đó không?
  4. Kế hoạch hiện tại của tôi là thực hiện hồi quy bình phương tối thiểu với bộ chỉnh lưu . Bất cứ một đề nghị nào khác?L1

Chỉnh sửa: Để rõ ràng Tôi đang tìm kiếm thời gian chạy, không phải FLOP hoặc bất kỳ số liệu hiệu suất phổ biến nào khác. Tôi sẵn sàng giới hạn bản thân trong một kiến ​​trúc cụ thể.

Câu trả lời:


10

Gần đây tôi đã làm việc về chính xác chủ đề này. Bạn có thể muốn xem bài báo của chúng tôi: http://arxiv.org/abs/1209.2364 .

Tại sao bạn quan tâm đến dự đoán thời gian chạy của các thói quen đại số tuyến tính? Bạn có ý định sử dụng mô hình cho một mục đích nhất định?


Cảm ơn các liên kết. Tôi sẽ xem qua một chút. Tôi quan tâm đến điều này vì tôi nghi ngờ chính lý do của bạn. Lựa chọn thuật toán tự động và lập lịch cho các biểu thức ma trận. Rất nhiều vấn đề không thể khác có thể xảy ra trong lĩnh vực rất thường xuyên và có thể dự đoán được này.
MRocklin

6

Có rất nhiều công việc từ trước. Hầu hết các nhà phát triển thư viện đại số tuyến tính công bố kết quả hiệu suất về mặt hiệu suất dấu phẩy động có thể được chuyển đổi thành thời gian chạy.

Googling cho "hiệu suất DGEMM" chẳng hạn, mang lại kết quả như sau: http://math-atlas.sourceforge.net/timing/3_5_10/index.html .

Nói chung, bạn có thể mong đợi các câu trả lời là không trơn tru. Sẽ có các bước nhảy hoặc tăng đột biến trong vùng lân cận của các kích thước sự cố nhất định (liên quan đến kích thước bộ đệm). Bạn cũng nên mong đợi các cao nguyên về tỷ lệ, và do đó, các vùng tuyến tính cho một loạt các kích cỡ vấn đề. Tôi không mong đợi sự phù hợp đa thức sẽ rất hữu ích.

Với một nỗ lực đo điểm chuẩn trên diện rộng, có thể dễ dàng lập bảng kết quả và nội suy khi cần thiết. Mục tiêu của bạn là gì?


1
DGEMMn3

Chuyển đổi flops sang thời gian chạy, theo kinh nghiệm của tôi, là khó khăn. Tôi thực sự chỉ quan tâm đến thời gian chạy trong trường hợp của tôi. Tôi đang thử nghiệm tính khả thi của lập kế hoạch tĩnh.
MRocklin

Theo kinh nghiệm của tôi gai / cao nguyên chỉ xảy ra đối với kích thước vấn đề nhỏ. Một khi bạn thoát ra khỏi bộ nhớ cache, mọi thứ khá trơn tru. Tôi đồng ý rằng việc thêm vào các chức năng từng phần có thể sẽ cải thiện sự phù hợp.
MRocklin
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.