Tôi đang cố tối ưu hóa một ứng dụng trong mô hình 3D thời gian thực. Phần tính toán của ứng dụng chạy gần như hoàn toàn trên GPU trong CUDA. Ứng dụng này yêu cầu giải pháp của một hệ thống tuyến tính xác định kép đối xứng chính xác kép nhỏ (6x6) Ax = b 500+ lần mỗi giây. Hiện tại, việc này đang được thực hiện với thư viện Linear Algebra dựa trên CPU hiệu quả bằng cách sử dụng Cholesky nhưng cần phải sao chép dữ liệu từ CPU - GPU và quay lại GPU hàng trăm lần mỗi giây và chi phí hạt nhân khởi chạy mỗi lần, v.v.Giải quyết xác định nhỏ đối xứng tích cực Ax = b trên GPU chỉ
Cách thế nào tôi có thể tính toán giải pháp cho hệ thống tuyến tính trên GPU mà không cần phải lấy dữ liệu lên CPU? Tôi đã đọc một chút về thư viện MAGMA nhưng dường như nó sử dụng các thuật toán lai thay vì các thuật toán chỉ của GPU. Tôi đã chuẩn bị thực tế rằng giải pháp của một hệ thống tuyến tính riêng lẻ trên GPU sẽ chậm hơn rất nhiều so với thư viện dựa trên CPU hiện tại nhưng tôi muốn xem liệu giải pháp đó có thể được bù đắp bằng cách xóa hay không. giao tiếp dữ liệu giữa máy chủ và thiết bị và chi phí của hạt nhân khởi chạy hàng trăm lần mỗi giây. Nếu không có GPU chỉ LAPACK giống như thay thế ra có làm thế nào tôi sẽ đi về việc thực hiện một cái gì đó để giải quyết trường hợp 6x6 cụ thể này trên GPU chỉ? Nó có thể được thực hiện mà không cần đầu tư thời gian lớn với các thư viện GPU BLAS chẳng hạn?
Hệ thống tuyến tính 6x6 quá nhỏ, bạn có thể tự viết các phương trình bên trong mã CUDA ... Rõ ràng đối với một hệ thống nhỏ như vậy sẽ rất khó để có được bất kỳ lợi ích nào từ bản chất song song của CUDA, nhưng loại bỏ giao tiếp GPU-CPU sẽ mang lại lợi ích to lớn. Nó sẽ có thể, rằng bạn song song theo một cách khác? Giải quyết hệ thống trên một lõi GPU và sau đó sử dụng nhiều lõi đạt được hơn 500 giải pháp/s. Đó sẽ là tốt nhất, trừ khi bạn cần kết quả từ hệ thống trước đó để bắt đầu làm việc trên hệ thống tiếp theo. – Eiver
@Eiver là tiền. bạn có thể làm những 500 song song hoặc là họ phụ thuộc vào nhau? cho 6x6 cách tiếp cận này http://en.wikipedia.org/wiki/Cholesky_decomposition#Block_variant trông có thể mã hóa bằng tay ... –