Estoy tratando de usar CUSP como un solucionador lineal externo para que Mathematica use la potencia de la GPU. Aquí está el CUSP Project webpage. Estoy pidiendo sugerencias sobre cómo podemos integrar CUSP con Mathematica. Estoy seguro de que muchos de ustedes estarán interesados en discutir esto. Creo que escribir una matriz de entrada y luego alimentarlo al programa CUSP no es el camino a seguir. Usar el LibrarayFunctionLoad
de Mathematica será una mejor manera de canalizar la matriz de entrada al solucionador basado en GPU sobre la marcha. ¿Cuál será la forma de suministrar la matriz y la matriz del lado derecho directamente desde Mathematica?Capacidades de función de biblioteca de Mathematica
Aquí hay algunos fragmentos de código 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;
}
Esta pregunta nos da la posibilidad de discutir las capacidades de recopilación de Mathematica 8. También es posible invocar el tema de la interfaz de MathLink de MMA. Espero que la gente aquí encuentre este problema digno y lo suficientemente interesante como para reflexionar.
BR
Tenga en cuenta que el formato de StackOverflow no es muy adecuado para las discusiones. No es un foro Trate de mantenerse en el formato de preguntas y respuestas tanto como sea posible. –
@belisarius Tengo tu punto. Dame algo de tiempo, enmarca una pregunta concreta. Pero la pregunta era cómo atacar este problema. Gracias por recordar.. – PlatoManiac