¿Qué tipo de herramientas de programación y matemáticas tiene que usar en su investigación diaria (y también podría explicar su investigación en resumen)?

Ningún problema complejo tiene una solución fácil, y no creo que sea un experto en ninguno de los temas mencionados a continuación. Resolver cualquier problema como estos es un proceso iterativo, ya sea con una comprensión de las matemáticas, el cálculo o una implementación de cualquiera de ellos. Sin embargo, discutiré lo que sé hasta ahora con mis experiencias: he trabajado en simulaciones teóricas de dinámicas superfluidas con gases cuánticos y, más recientemente, analizando estructuras moleculares de proteínas con cristalografía XFEL.

Trabajando con sistemas cuánticos, he escrito software de simulación utilizando métodos informáticos de GPU. Esto implicaba principalmente C / C ++ / CUDA, y se utilizó para la solución de la ecuación de Schrodinger no lineal (ecuación de Gross-Piteavskii). El código se publica como GPUE. Este código fue escrito principalmente para la supercomputadora OIST Sango usando GPU NVidia K80. El código de la GPU formó la mayor parte de las simulaciones, con un software de análisis adicional escrito en idiomas de niveles mucho más altos como Python, MATLAB y Mathematica. El proceso general de simulación implicó el cálculo de soluciones de una PDE no lineal compleja utilizando métodos pseudoespectrales, determinando las correlaciones orientativas de las estructuras observadas en las simulaciones y calculando resultados analíticos para la interferencia de múltiples ondas a lo largo del tiempo. Si necesita ayuda para dormir por la noche, puede encontrar más información aquí.

Para el trabajo de cristalografía, esto implica el uso de Cori de NERSC (actualmente # 6 en la lista Top500), para examinar los datos del LCLS en SLAC en Stanford. El LCLS es un láser de rayos X, con la longitud del pulso del orden de 10 a 100 de femtosegundos, y esencialmente captura una muestra de proteína para examinarla en un instante en el tiempo. Al analizar los datos resultantes recopilados (que son rayos X dispersos) de muchas de esas muestras de proteínas (del orden de 100k’s), la estructura de la proteína se puede determinar con gran precisión. Esto implica un largo cálculo para determinar los puntos de reflexión de cristal para cada muestra, mapeándolos con estructuras y orientaciones cristalinas conocidas, integrando los resultados, refinándolos y combinando todos los conjuntos de datos en uno para dar un resultado general. El resultado de esto puede decirnos cómo se ve / se comporta la proteína, donde los cálculos determinan el factor de estructura de pretein. A partir del factor de estructura podemos calcular el mapa de densidad de electrones, que son las imágenes bonitas habituales que vemos cuando nos referimos a las estructuras de proteínas.

Para esto, paso mis días optimizando códigos para Cori para asegurar que este proceso sea lo más rápido y lo más automatizado posible. Cada cálculo que puede ser independiente debe serlo, y todos los posibles cuellos de botella de cálculo deben minimizarse. Este es un proceso largo y requerirá mucho más trabajo. Compilar software con los indicadores de arquitectura correctos puede brindar grandes beneficios, como la arquitectura Intel Knights Landing en Cori. Para esto, tener habilitados los conjuntos de instrucciones AVX512 puede proporcionar enormes ganancias de rendimiento; sin embargo, esto requiere tener un compilador moderno compatible. GCC, Intel’s icc y LLVM / Clang son compatibles con estas instrucciones, sin embargo, construir este (o muchos otros) paquete de software con los tres no es una tarea trivial, ya que los cambios en los estándares del compilador y los niveles de soporte varían, especialmente cuando se usa código antiguo. Esto significa rastrear mensajes de depuración y errores / advertencias del compilador para descubrir qué funcionó y qué no funcionó; crear rutinas de prueba y realizar registros ahorrará estrés y tiempo a largo plazo.

Vincular el software con el MKL de Intel también tiene el potencial de ofrecer un rendimiento mejorado, aunque nuevamente, puede ser un desafío cuando se usan rutinas heredadas. MPI + OpenMP son otro conjunto de herramientas y técnicas que permiten que la aplicación se ejecute a gran escala. Las interacciones y la transmisión eficiente y correcta de mensajes pueden ser un desafío, y a menudo requieren el uso de software adicional para ayudar en el análisis. Herramientas como TAU pueden ayudar a encontrar cuellos de botella de comunicación MPI y problemas entre nodos, con Intel VTune funcionando bien para el análisis en el nodo.

Cuando se complete, este proyecto permitirá el análisis de datos casi en tiempo real de las estructuras de proteínas durante las etapas de recolección de datos, en lugar de esperar horas o más. Dado que el tiempo del haz de rayos X es bastante costoso y difícil de conseguir, tener una retroalimentación precisa y rápida permitirá estrategias óptimas de recopilación de datos, permitiendo a los científicos adaptar las estrategias de recopilación de datos para adaptarlas a las muestras.

Soy un teórico de la materia condensada, especializado en líquidos Quantum Spin. Trato de averiguar cómo se comportan muchas partículas que actúan juntas.

Me gustan los aspectos computacionales y analíticos.

Elijo programar en Julia, porque es más fácil de leer y escribir que C ++ y puedo obtener más velocidad y control de bajo nivel que Python.

Mi problema de investigación actual utiliza la descomposición de valores singulares, y llamo a LAPACK o MKL para que lo haga por mí.

Otras rutinas utilizan una gran cantidad de FFT, solucionadores de ecuaciones diferenciales, técnicas de Monte Carlo, matrices grandes y paralelización.

Matemáticamente, usamos mucha teoría de grupo. He estado estudiando topología algebraica para tratar de comprender algunos de los aspectos más rigurosos del campo, pero todavía no estoy del todo allí.

More Interesting

¿Cuáles son algunos de los temas de investigación de pregrado en electrónica de estado sólido?

¿Escribir sobre cómo Internet podría afectar potencialmente a las personas en los países en desarrollo es una mala idea para un trabajo de investigación?

Cómo contactar a profesores universitarios para obtener ayuda con un proyecto de investigación

¿Dónde puedo imprimir un póster en San Diego a bajo precio?

¿Reprobar mis exámenes de calificación de doctorado indica que soy incapaz de realizar una investigación?

¿Cómo puedo proponer un buen tema para una disertación en microfinanzas en relación con los seguros?

¿Cuál ha sido el proyecto de investigación más emocionante en el que has trabajado?

¿Cómo difieren la investigación descriptiva y experimental?

Si a cada estudiante de primer año de MIT CS se le entregó un conjunto de material de lectura que consta de trabajos de investigación atemporales compuestos por profesores del MIT, ¿qué deberían leer?

¿Qué hacen los investigadores / estudiantes de posgrado cuando su campo de investigación no muestra tanta promesa como se pensaba anteriormente?

¿Se valora la investigación empírica en lingüística?

¿Quiénes son algunos de los científicos más prometedores entre los 30 y los 40 años?

Para un estudiante de doctorado, ¿tiene que hacer su disertación relacionada con el laboratorio de investigación en el que está financiado?

¿Cuáles son los puntos clave que le gustaría discutir si estoy haciendo una breve investigación sobre las habilidades de escucha?

Cómo presentar su investigación propuesta a su asesor