Tôi đang cố gắng sử dụng CUSP làm bộ giải mã tuyến tính bên ngoài cho Mathematica để sử dụng sức mạnh của GPU. Đây là CUSP Project webpage. Tôi yêu cầu một số gợi ý làm thế nào chúng ta có thể tích hợp CUSP với Mathematica. Tôi chắc rằng nhiều bạn ở đây sẽ quan tâm để thảo luận về điều này. Tôi nghĩ rằng viết một ma trận đầu vào và sau đó cho nó vào chương trình CUSP không phải là con đường để đi. Sử dụng Mathematica LibrarayFunctionLoad
sẽ là cách tốt hơn để phân phối ma trận đầu vào cho bộ giải dựa trên GPU khi đang di chuyển. Điều gì sẽ là cách để cung cấp ma trận và ma trận bên tay phải trực tiếp từ Mathematica?Khả năng hàm thư viện của Mathematica
Dưới đây là một số đoạn mã CUSP.
#include <cusp/hyb_matrix.h>
#include <cusp/io/matrix_market.h>
#include <cusp/krylov/cg.h>
int main(void)
{
// create an empty sparse matrix structure (HYB format)
cusp::hyb_matrix<int, float, cusp::device_memory> A;
// load a matrix stored in MatrixMarket format
cusp::io::read_matrix_market_file(A, "5pt_10x10.mtx");
// allocate storage for solution (x) and right hand side (b)
cusp::array1d<float, cusp::device_memory> x(A.num_rows, 0);
cusp::array1d<float, cusp::device_memory> b(A.num_rows, 1);
// solve the linear system A * x = b with the Conjugate Gradient method
cusp::krylov::cg(A, x, b);
return 0;
}
Câu hỏi này cho chúng ta khả năng thảo luận về khả năng biên dịch của Mathematica 8. Cũng có thể gọi chủ đề giao diện mathlink của MMA. Tôi hy vọng mọi người ở đây thấy vấn đề này xứng đáng và đủ thú vị để suy ngẫm.
BR
Hãy nhớ rằng định dạng StackOverflow không phù hợp cho các cuộc thảo luận. Nó không phải là một diễn đàn. Cố gắng giữ nguyên định dạng Hỏi & Đáp càng nhiều càng tốt. –
@belisarius Tôi có quan điểm của bạn. Hãy cho tôi một chút thời gian sẽ đưa ra một câu hỏi cụ thể. Nhưng câu hỏi là làm thế nào để tấn công vấn đề này. Cảm ơn vì đã nhắc nhở.. – PlatoManiac