Lựa chọn bộ giải tuyến tính cho tính toán GPGPU (OpenCL)


10

Tôi đã phát triển một giải pháp hoạt động của Phương pháp phần tử hữu hạn để giải quyết các vấn đề truyền nhiệt bằng cách sử dụng GPU và OpenCL bằng phương pháp Conjugate Gradient. Nhược điểm chính của phương pháp này là nhu cầu cao về bộ nhớ. Hơn nữa, trong trường hợp bộ nhớ card đồ họa thường rất hạn chế. Tôi thấy hai lựa chọn:

  1. Tạo tên miền phụ và trao đổi các phần của lưới với bộ nhớ máy chủ
  2. Sử dụng phương pháp nhiều mặt

Tôi phải tính đến kiến ​​trúc cụ thể. Trao đổi có thể rất tốn kém. Phương pháp CG rất phổ biến trong bối cảnh tính toán GPGPU nhưng tôi không thể tìm thấy bất kỳ so sánh nào giữa phương pháp CG và đa phương thức (trong trường hợp GPGPU). Phương pháp nhiều mặt có thể nhanh hơn CG không? Đây là một câu hỏi chung, trên thực tế, nó vẫn phụ thuộc vào việc thực hiện.


2
Bạn có thực hiện lắp ráp toàn cầu các ma trận trong mã FEM của bạn không? hoặc bạn sử dụng triển khai ma trận miễn phí? (tức là không có sự hình thành rõ ràng của ma trận)
Allan P. Engsig-Karup

3
Bạn đang sử dụng điều kiện tiên quyết nào và tên miền như thế nào? Một máy tính để bàn mười năm tuổi sử dụng thuật toán tốt sẽ đánh bại một cụm GPU bằng thuật toán crappy.
Jed Brown

Bạn đang sử dụng hình lục giác hoặc lưới đơn giản? Nếu bộ nhớ là một vấn đề và bạn đang sử dụng các phần tử hex với các hàm cơ sở sản phẩm tenor, bạn có thể lưu bộ nhớ trong một số trường hợp bằng cách chỉ lưu các toán tử 1D và sử dụng triển khai không có ma trận (như Allan đã đề cập).
Jesse Chan

Câu trả lời:


2

Tôi là người dẫn đầu dự án trên LibGeoDecomp , vì vậy tôi nghĩ rằng tôi có thể hòa nhập.

Có, bạn có thể triển khai FEM với LibGeoDecomp. Chúng tôi hiện đang làm việc trên một thùng chứa dữ liệu được cải thiện cho chính xác trường hợp sử dụng này. Nhưng để công bằng: hoàn thành công việc đó vẫn còn nhiều tháng nữa và cho đến lúc đó hiệu suất sẽ không được tối ưu. Vui lòng liên hệ với tôi qua e-mail nếu bạn vẫn muốn dùng thử LibGeoDecomp.

Một lựa chọn khác là Fenics , có bộ giải tối ưu hóa tốt cho các vấn đề bất thường. Nhưng AFAIK bạn không được viết bộ giải của riêng bạn trong trường hợp đó.


1

Tôi không biết liệu nó có giúp bạn không. Tại đây, bạn sẽ tìm thấy một liên kết đến libgeodecomp , một công cụ sử dụng các kỹ thuật phân rã miềnthể tùy chỉnh (từ trang web). Nó có thể được sử dụng với GPU theo như tôi biết. Nếu nó giúp bạn, hãy bỏ phiếu cho tôi ;-)

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.