¿Cuáles son algunas formas interesantes de usar tecnologías no convencionales en la programación?

Hay bastantes paquetes de álgebra lineal y solucionadores de ODE / PDE que requieren una gran experiencia para desarrollarse en un entorno de alto rendimiento. Es decir, si tengo acceso a algunas computadoras conectadas en red o a una GPU, puedo aprovechar eso en mi código numérico para ejecutarlo más rápido, pero es realmente difícil de hacer. Métodos simples como varias descomposiciones o incluso multiplicación de matrices pueden ser los temas de tesis doctorales completas.

Más específicamente, es un paquete llamado PETSc, que le permite escribir un solucionador de alto rendimiento ODE o PDE (es decir, una ecuación diferencial ordinaria y parcial) en muy poco tiempo, suponiendo que ya sepa cómo escribir código numérico pero no Conocer la programación paralela. Hay un paquete derivado llamado SLEPc, que principalmente realiza valores propios y otras descomposiciones similares en forma de memoria distribuida. Ambas tienen extensiones de Python, lo que significa que ahora me he ocupado de la sobrecarga del desarrollador de escribir algo en C / C ++ oscuro y loco, así como de la sobrecarga del desarrollador para aprender a escribir código paralelo, que casi seguramente no será tan fácil. bueno como alguien que ha estado trabajando en ello durante años y años. Además, no es más lento que usar la versión C directa.

O simplemente podría pensar en los paquetes de álgebra lineal optimizados que solo funcionan en máquinas individuales. LAPACK y BLAS se usan universalmente, y con ATLAS se pueden ajustar específicamente para aprovechar la arquitectura de su procesador, el tamaño de la caché y otras cosas. Y la maldita cosa es más vieja que yo. Hay una gran ventaja en tener estas bibliotecas. Tanto software se basa en álgebra lineal numérica que es absurdo. Casi toda la informática científica lo hace. Gráficos también. No puedo pensar en más ejemplos, pero están allí (siéntase libre de agregar algunos).

More Interesting

¿Cómo funciona la implementación DOS de Solar Designer de 'mkdir -p'?

¿Alguien puede escribir un algoritmo no determinista (pseudocódigo) para encontrar la suma de los primeros n números naturales?

¿Qué significa esta notación de satisfacción de proposiciones compuestas para resolver un rompecabezas de Sudoku dado en matemáticas discretas?

¿Puedo ingresar una máquina Turing en otra máquina Turing? Si es así, ¿cómo? Y si no, ¿por qué?

¿Qué cantidad de cosas de matemáticas que caen en matemáticas discretas necesitas?

Para los montones máximos, ¿por qué el orden de build_maxheap () [math] n \ log (n), [/ math] cuando solo tiene que recorrer n / 2 elementos?

Si hubiera un algoritmo de tiempo polinómico para algo como 3SAT, ¿qué tan probable es que sea algo elegante y / o simple?

Una fábrica produce bombillas defectuosas con cierta probabilidad, p. Se sabe que p es pequeño: alrededor del 1%, pero se desconoce el valor exacto. ¿Cuál es el tamaño de muestra que tomaría para estimar el valor de p?

¿Cómo calculo la probabilidad de que alguien compre mi spray de calvicie?

Muchos resultados matemáticos se prueban con computadoras. Si un estudiante escribió un código como prueba en un examen sobre una prueba tradicional, ¿debería ser aceptado?

Cómo entender el concepto de que 'si p entonces q' es equivalente a 'no p o q' Eg; 'Si muero, entonces me voy' es equivalente a 'Vivo o me voy'

¿Podré enseñarme el currículo de la Academia Phillips Exeter?

¿Cómo se puede resolver este problema?

¿Qué hace que Donald Knuth sea tan especial?

¿Dónde se usan los números primos? ¿Por qué nos enseñan a escribir un programa para encontrar números primos?