Matrix resolviendo con C (dentro de CUDA)

omo parte de un problema mayor, necesito resolver pequeños sistemas lineales (es decir, NxN, donde N ~ 10), por lo que usar las bibliotecas de Cuda relevantes no tiene ningún sentido en términos de velocidad.

esafortunadamente, algo que tampoco está claro es cómo resolver estos sistemas sin tener que recurrir a las grandes armas como GSL, EIGEN, etc.

¿Alguien puede señalarme en la dirección de un solucionador de matriz denso (Ax = B) en línea recta C?

Para aquellos interesados, la estructura básica del generador para esta sección de código es:

ndarray=some.generator(N,N)
for v in range N:
    B[v]=_F(v)*constant
    for x in range N:
        A[v,x]=-_F(v)*ndarray[x,v]

amentablemente, tengo aproximadamente cero conocimientos de matemáticas superiores, por lo que cualquier consejo sería apreciado.

UPDATE: He estado trabajando en esto y tengo una solución casi que se ejecuta pero no funciona. Cualquiera que esté al acecho puede ver lo que tengo hasta ahora en pastebin.

Estoy usando Crout Decomposition with Pivoting, que parece ser el enfoque más general. La idea para esta prueba es que cada hilo hace el mismo trabajo. Aburrido, lo sé, pero el plan es que la variable matrixcount se incrementa, se ingresan datos reales y cada subproceso resuelve las matrices pequeñas individualmente.

Gracias por todos los que han estado revisando esto.

ACTUALIZACIÓN POSTERIOR A LA RESPUESTA: Terminé el código de resolución de matriz para la operación de CPU y GPU, consulte mi escritura diferiaqu

Respuestas a la pregunta(1)

Su respuesta a la pregunta