Cientificosaficionados.com

Los foros de los científicos aficionados de la red.
Fecha actual Dom Jun 07, 2020 4:39 am

Todos los horarios son UTC [ DST ]




Nuevo tema Responder al tema  [ 15 mensajes ]  Ir a página Anterior  1, 2
Autor Mensaje
NotaPublicado: Sab Ene 18, 2020 11:55 pm 
Desconectado
Avatar de Usuario

Registrado: Lun Feb 20, 2006 1:12 pm
Mensajes: 3167
Ubicación: Madrid
País: Madrid
Ciudad: Alcobendas
Ese problema lo tuve con un simulador electrostático, hay una manera de invertir matrices que reduce el tiempo un 40%, pero no más pues los resultados de un kernel los tiene que hacer otro y no funciona. En mi caso invertía hasta 10mil x 10mil, el problema de invertir matrices grandes (que se lo digan a Ansys) es que a veces un término es "casi 0" y no sabes si considerarlo 0 o no, combinado además de si hay líneas que son proporcionales a las otras el determinante es 0 y no se puede invertir.
Notra: no usar floats, para no encontrarse overflows y suma de elementos inferiores al número de dígitos (en parte relacionado a lo que dice Baldo)

Yo al menos no logro que vaya más rápido, claro que yo uso diagonalizar...

Citar:
a menos que disponga de una GPU con 10.000 núcleos es imposible que se ejecuten 10.000 kernel1 simultáneamente


Sí, empleando una tarjeta gráfica, pero es muy muy difícil y no creo merezca la pena

_________________
Los ensayos empiezan a ser interesantes a partir del millón de amperios
https://pulsotron.com/progress


Arriba
 Perfil  
 
NotaPublicado: Dom Ene 19, 2020 12:16 pm 
Desconectado
Avatar de Usuario

Registrado: Dom Abr 30, 2006 2:07 pm
Mensajes: 2138
País: España
Ciudad: Sabadell
¡No me jodas fusión! el primer requisito para que 10.000 núcleos funcionen simultáneamente es que existan.

No entiendo a qué os referís exactamente con los métodos de invertir o diagonalizar, pero sospecho que no son más que variantes del mismo algoritmo de Gauss.

Estoy absolutamente convencido de que es posible un algoritmo que crezca con la segunda potencia del rango, pero la intuición y el rigor matemático no se llevan muy bien.


Arriba
 Perfil  
 
NotaPublicado: Dom Ene 19, 2020 5:21 pm 
Desconectado
Avatar de Usuario

Registrado: Dom Abr 30, 2006 2:07 pm
Mensajes: 2138
País: España
Ciudad: Sabadell
Bueno, se me ha ido un poco la mano, absolutamente convencido solo estoy de que sí es posible una solución en tiempo proporcional a rango*rango*rango/núcleos. Que es precisamente el planteamiento inicial de mi consulta.

fusion, seguro que esto te interesa: “Estos problemas se obtienen cuando el elemento pivotal es cercano a cero en vez de ser exactamente igual, por lo que si la magnitud del elemento pivotal es pequeño comparado con los otros elementos, entonces se introducen errores de redondeo. Por lo tanto, antes de normalizar cada renglón, es ventajoso determinar el coeficiente mayor disponible. Entonces se pueden intercambiar los renglones de tal forma que el elemento mayor sea el pivotal. A este método se le conoce con el nombre de pivoteo parcial.”

Supongo que el algoritmo de “pivoteo parcial” también se podrá paralelizar


Arriba
 Perfil  
 
NotaPublicado: Mar Ene 21, 2020 4:01 pm 
Desconectado
Avatar de Usuario

Registrado: Lun Feb 20, 2006 1:12 pm
Mensajes: 3167
Ubicación: Madrid
País: Madrid
Ciudad: Alcobendas
Citar:
¡No me jodas fusión! el primer requisito para que 10.000 núcleos funcionen simultáneamente es que existan.


La gráfica que usé tenía 3500 kernels y me costó 350 euros (hace 4 años), en el ordenador cabían dos, pero seguro los hay que se puedan meter más.
Eso sí, si usas double en vez de float tienes la mitad de núcleos
No se me ocurrió elegir el elemento pivotal mayor ¿o será mejor el medio?, en cualquier caso me parece una gran idea :)

_________________
Los ensayos empiezan a ser interesantes a partir del millón de amperios
https://pulsotron.com/progress


Arriba
 Perfil  
 
NotaPublicado: Mié Ene 29, 2020 1:12 pm 
Desconectado
Avatar de Usuario

Registrado: Dom Abr 30, 2006 2:07 pm
Mensajes: 2138
País: España
Ciudad: Sabadell
Con el algoritmo G-J, calcular la inversa y luego las soluciones tarda ocho veces más que calcular directamente las soluciones. Que lo sepáis.


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 15 mensajes ]  Ir a página Anterior  1, 2

Todos los horarios son UTC [ DST ]


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro

Buscar:
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com