esolução de matrizes com C (dentro da CUD
omo parte de um problema maior, preciso resolver pequenos sistemas lineares (ou seja, NxN, onde N ~ 10), para que as bibliotecas cuda relevantes não façam sentido em termos de velocidad
Infelizmente, algo que também não está claro é como resolver esses sistemas sem usar grandes armas como GSL, EIGEN etc.
lguém pode me apontar na direção de um solucionador de matriz densa (Ax = B) na reta
Para os interessados, a estrutura básica do gerador para esta seção de código é:
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]
Infelizmente, eu tenho aproximadamente zero conhecimento de matemática superior, então qualquer conselho seria apreciad
UPDATE: Estou trabalhando nisso e tenho uma solução quase que funciona, mas não está funcionando. Qualquer pessoa à espreita é bem-vinda para conferir o que eu tenho até agora pastebin.
Estou usando Decomposição Crout com Pivotamento, que parece ser a abordagem mais geral. A idéia para este teste é que cada thread faça o mesmo trabalho. Chato eu sei, mas o plano é que a variável matrixcount seja aumentada, dados reais sejam inseridos e cada thread resolva as pequenas matrizes individualment
Obrigado a todos que estão verificando iss
ATUALIZAÇÃO PÓS-RESPOSTA: Finalizei o código de resolução de matrizes para operação de CPU e GPU, confira minha gravação preguiçosaAqu