4 resultados para Algoritmos computacionales
em Cor-Ciencia - Acuerdo de Bibliotecas Universitarias de Córdoba (ABUC), Argentina
Resumo:
En los últimos años se han difundido, en la región productora de granos de la Provincia de Córdoba, la utilización de tecnologías de agricultura de precisión (monitores de rendimiento, GPS, sensores geofísicos) que permiten medir y en consecuencia, manejar diferenciadamente la variabilidad espacial intralote, tanto de los rendimientos como de propiedades del sitio (suelo, terreno, nutrientes). Los mapas de rendimiento y de suelo a escala de lote (intralote) proveen indicadores de riesgos asociados con la producción y constituyen herramientas claves para implementar el manejo sitio-específico en agricultura de precisión. Estos mapas deben ser realizados desde los datos que producen las nuevas maquinarias. La identificación de zonas homogéneas, surge como una necesidad para el manejo de la variabilidad espacial del rendimiento; éstas se interpretan como conjuntos de sitios con una misma combinación de factores limitantes de la producción y por tanto con una misma demanda para maximizar la producción. La delimitación de zonas homogéneas se realiza utilizando los datos georreferenciados de rendimiento y/o de sitio, pero el óptimo uso de la información espacial disponible, demanda nuevos desarrollos estadístico-computacionales. Las dependencias espaciales de los rendimientos y de las propiedades del sitio son actualmente abordadas con modelos geoestadísticos clásicos, con métodos multivariados y con modelos estadísticos contemporáneos como los modelos mixtos de covarianza espacial. Cuando los datos de suelo se obtienen por sitio en varios años, la zonificación podría depender también de la variabilidad temporal de las mediciones. La variabilidad temporal en las propiedades de sitio impacta en las zonificaciones y consecuentemente en las predicciones de rendimientos. Nuestro grupo de investigación en Estadística y Biometría de la Facultad de Ciencias Agropecuarias, Universidad Nacional de Córdoba, ha desarrollado algoritmos computacionales para el análisis de la variabilidad espacial de los rendimientos intralote, contemplando simultáneamente la correlación espacial y la variabilidad temporal. A través del software de desarrollo nacional InfoStat y su interfase con el software R, se han implementado diversas técnicas para el análisis exploratorio de datos georeferenciados y el análisis de la variabilidad espacial así como para la delimitación de zonas homogéneas y funciones para la predicción del rendimiento utilizando variables regionalizadas de sitio como predictoras. InfoStat es utilizado en ámbitos estatales y privados (INTA, Universidades, Semilleros y Empresas de gestión de la producción agrícola). Numerosos grupos de técnicos, docentes y/o investigadores demandan capacitación y asesoramiento en el uso de nuevas aplicaciones y análisis que se pueden realizar con este software. La posibilidad de publicar nueva documentación para apoyar el análisis estadístico de información proveniente de lotes en producción de cultivos de grano es importante para la región central y sur de la Provincia de Córdoba, donde están ya instaladas las capacidades para captura intensiva de datos desde nuevas maquinarias precisas. El objetivo de la presente propuesta es difundir, a través de la edición de un libro, con ejemplos ilustrativos del paso a paso del análisis estadístico para el estudio de variabilidad espacial del rendimiento intralote.
Resumo:
El avance en la potencia de cómputo en nuestros días viene dado por la paralelización del procesamiento, dadas las características que disponen las nuevas arquitecturas de hardware. Utilizar convenientemente este hardware impacta en la aceleración de los algoritmos en ejecución (programas). Sin embargo, convertir de forma adecuada el algoritmo en su forma paralela es complejo, y a su vez, esta forma, es específica para cada tipo de hardware paralelo. En la actualidad los procesadores de uso general más comunes son los multicore, procesadores paralelos, también denominados Symmetric Multi-Processors (SMP). Hoy en día es difícil hallar un procesador para computadoras de escritorio que no tengan algún tipo de paralelismo del caracterizado por los SMP, siendo la tendencia de desarrollo, que cada día nos encontremos con procesadores con mayor numero de cores disponibles. Por otro lado, los dispositivos de procesamiento de video (Graphics Processor Units - GPU), a su vez, han ido desarrollando su potencia de cómputo por medio de disponer de múltiples unidades de procesamiento dentro de su composición electrónica, a tal punto que en la actualidad no es difícil encontrar placas de GPU con capacidad de 200 a 400 hilos de procesamiento paralelo. Estos procesadores son muy veloces y específicos para la tarea que fueron desarrollados, principalmente el procesamiento de video. Sin embargo, como este tipo de procesadores tiene muchos puntos en común con el procesamiento científico, estos dispositivos han ido reorientándose con el nombre de General Processing Graphics Processor Unit (GPGPU). A diferencia de los procesadores SMP señalados anteriormente, las GPGPU no son de propósito general y tienen sus complicaciones para uso general debido al límite en la cantidad de memoria que cada placa puede disponer y al tipo de procesamiento paralelo que debe realizar para poder ser productiva su utilización. Los dispositivos de lógica programable, FPGA, son dispositivos capaces de realizar grandes cantidades de operaciones en paralelo, por lo que pueden ser usados para la implementación de algoritmos específicos, aprovechando el paralelismo que estas ofrecen. Su inconveniente viene derivado de la complejidad para la programación y el testing del algoritmo instanciado en el dispositivo. Ante esta diversidad de procesadores paralelos, el objetivo de nuestro trabajo está enfocado en analizar las características especificas que cada uno de estos tienen, y su impacto en la estructura de los algoritmos para que su utilización pueda obtener rendimientos de procesamiento acordes al número de recursos utilizados y combinarlos de forma tal que su complementación sea benéfica. Específicamente, partiendo desde las características del hardware, determinar las propiedades que el algoritmo paralelo debe tener para poder ser acelerado. Las características de los algoritmos paralelos determinará a su vez cuál de estos nuevos tipos de hardware son los mas adecuados para su instanciación. En particular serán tenidos en cuenta el nivel de dependencia de datos, la necesidad de realizar sincronizaciones durante el procesamiento paralelo, el tamaño de datos a procesar y la complejidad de la programación paralela en cada tipo de hardware.
Resumo:
Objetivos generales: • Desarrollo de un código utilizando programación orientada objeto y Fortran 2003 para simulación de flujos de gases de alta entalpía incluyendo efectos químicos. • Mejora de técnicas numéricas con la finalidad de simular flujos gas dinámicos con alta entalpía y químicamente activos. • Mejora de la comprensión del fenómeno de intermitencia caótica. • Mejorar en la comprensión, implementación y utilización del código openFOAM para la simulación de flujos de interés en la industria aeroespacial. Objetivos específicos: • Poseer la capacidad de simular las ecuaciones de la dinámica de gases tridimensionales, químicamente activas y dependientes del tiempo usando volúmenes finitos mediante códigos propios. • Continuar con el desarrollo de la nueva teoría que permite una descripción más adecuada y precisa del fenómeno de intermitencia como una de las rutas hacia el caos. • Adaptar el código openFoam para la simulación de la dinámica del flujo de gases con elevada entalpía y/o reactivos. • Aplicación de los códigos desarrollados a la simulación de flujos de interés aeronáutico tales como chorros supersónicos, flujos supersónicos alrededor de objetos en vuelo atmosférico y procesos de combustión difusiva. Resultados esperados • Obtención de un código numérico en volúmenes finitos mediante programación orientada a objeto desarrollado en la UNC con la capacidad de simular flujos gas-dinámicos, tridimensionales, viscosos, químicamente activos y dependientes del tiempo. Este código será la base para un programa de multifísica en flujos gaseosos que en un futuro deberá incluir ionización y simulación de flujos magnetohidrodinámicos compresibles. • Desarrollo y/o mejora de técnicas numéricas para la solución de flujos gas-dinámicos químicamente activos. Se continuará con la investigación que usa distintas funciones limitadoras para distintas ondas. • Mejora del conocimiento sobre fenómenos que presentan intermitencia caótica. Se continuará con la teoría que está actualmente en desarrollo por integrantes del grupo en colaboración con investigadores de universidades de España. Principalmente se pondrá énfasis para obtener una formulación más general de la teoría mediante el desarrollo de una técnica de perturbación que permita aproximar cualquier función no lineal que gobierna el proceso de reinyección. • Implementación del código openFOAM para simular flujos supersónicos y procesos de combustión. Se generarán librerías específicas para utilizar este software en aplicaciones de flujos compresibles. • Se espera alcanza una mejor descripción numérica del fenómeno de chorros supersónicos sub-expandidos que impactan sobre paredes sólidas.
Resumo:
El presente proyecto se enmarca en el área de métodos formales para computación; el objetivo de los métodos formales es asegurar, a través de herramientas lógicas y matemáticas, que sistemas computacionales satisfacen ciertas propiedades. El campo de semántica de lenguajes de programación trata justamente de construir modelos matemáticos que den cuenta de las diferentes características de cada lenguaje (estado mutable, mecanismos de paso de parámetros, órdenes de ejecución, etc.); permitiendo razonar de una manera abstracta, en vez de lidiar con las peculiaridades de implementaciones o las vaguezas de descripciones informales. Como las pruebas formales de corrección son demasiado intrincadas, es muy conveniente realizar estos desarrollos teóricos con la ayuda de asistentes de prueba. Este proceso de formalizar y corrobar aspectos semánticos a través de un asistente se denomina mecanización de semántica. Este proyecto – articulado en tres líneas: semántica de teoría de tipos, implementación de un lenguaje con tipos dependientes y semántica de lenguajes imperativos con alto orden - se propone realizar avances en el estudio semántico de lenguajes de programación, mecanizar dichos resultados, e implementar un lenguaje con tipos dependientes con la intención de que se convierta, en un mediano plazo, en un asistente de pruebas. En la línea de semántica de teoría de tipos los objetivos son: (a) extender el método de normalización por evaluación para construcciones no contempladas aun en la literatura, (b) probar la adecuación de la implementación en Haskell de dicho método de normalización, y (c) construir nuevos modelos categóricos de teoría de tipos. El objetivo de la segunda línea es el diseño e implementación de un lenguaje con tipos dependientes con la intención de que el mismo se convierta en un asistente de pruebas. Una novedad de esta implementación es que el algoritmo de chequeo de tipos es correcto y completo respecto al sistema formal, gracias a resultados ya obtenidos; además la implementación en Haskell del algoritmo de normalización (fundamental para el type-checking) también tendrá su prueba de corrección. El foco de la tercera línea está en el estudio de lenguajes de programación que combinan aspectos imperativos (estado mutable) con características de lenguajes funcionales (procedimientos y funciones). Por un lado se avanzará en la mecanización de pruebas de corrección de compiladores para lenguajes Algollike. El segundo aspecto de esta línea será la definición de semánticas operacional y denotacional del lenguaje de programación Lua y la posterior caracterización del mismo a partir de ellas. Para lograr dichos objetivos hemos dividido las tareas en actividades con metas graduales y que constituyen en sí mismas aportes al estado del arte de cada una de las líneas. La importancia académica de este proyecto radica en los avances teóricos que se propone en la línea de semántica de teoría de tipos, en las contribución para la construcción de pruebas mecanizadas de corrección de compiladores, en el aporte que constituye la definición de una semántica formal para el lenguaje Lua, y en el desarrollo de un lenguaje con tipos dependientes cuyos algoritmos más importantes están respaldados por pruebas de corrección. Además, a nivel local, este proyecto permitirá incorporar cuatro integrantes al grupo de “Semántica de la programación”.