Supercarga con aceleración de GPU: El uso de la dinámica de vuelo de Quadrotor
La aceleración por hardware permite que el software se ejecute más rápido. ¿Más rápido que qué? Pues más rápido que algún benchmark. Técnicamente, la aceleración por hardware puede conseguirse simplemente actualizando la CPU en el sistema por una versión más nueva/rápida. Pero esto no es realmente a lo que nos referimos cuando hablamos de aceleración por hardware. En cambio, a lo que nos referimos es escribir software que aproveche explícitamente las características específicas del hardware para acelerar la ejecución del software. Los procesadores modernos son predominantemente multinúcleo. La disponibilidad de múltiples núcleos de ejecución significa que se espera que los desarrolladores de software escriban sus algoritmos de tal manera que el rendimiento de la ejecución se maximice paralelizando el trabajo en tantos núcleos como sea posible, en lugar de confiar en el potente rendimiento de un único hilo del procesador.
Desde CoreAVI cuentan una CPU multinúcleo y escriben su software para aprovechar cada uno de los núcleos que la CPU ofrece. Desde el punto de vista de la aceleración, se puede hacer todavía más. La CPU está ejecutando el valioso algoritmo de software, pero también está ejecutando todo lo demás en el sistema, incluyendo el sistema operativo. Una verdadera medida de la aceleración sería trasladar todo lo posible de la CPU a un hardware dedicado. Esta fue la intuición que dio origen a la industria informática actual. La explosión de la investigación en aprendizaje automático (ML, siglas en inglés) e inteligencia artificial (IA) que vemos ahora no se debe a teorías informáticas fundamentalmente nuevas. De hecho, la mayor parte de las matemáticas implicadas en estos algoritmos tienen décadas de antigüedad. Lo verdaderamente revolucionario en IA y el ML hoy en día es la constatación de que podemos acelerar el enorme número de cálculos implicados -que antes se consideraban intratables desde el punto de vista computacional- utilizando unidades de procesamiento gráfico (GPU). Las GPU ofrecen grandes conjuntos de núcleos de cálculo. Siempre que escribamos nuestros algoritmos de forma que puedan aprovechar los núcleos de la GPU para realizar nuestros cálculos, podemos descargar gran parte de nuestros algoritmos en la GPU y dejar la CPU libre para seguir ejecutando el sistema. Esto es verdadera aceleración.
Ahora que ya sabemos cómo es la aceleración, al menos a un alto nivel, la siguiente pregunta obvia es: ¿por qué es importante?¿Es la aceleración por hardware algo interesante que hay que tener o es esencial? La respuesta depende, por supuesto, del caso de uso. Si podemos permitirnos esperar a los resultados de nuestros cálculos, entonces la aceleración puede no ser tan necesaria. Pero hay muchos casos de uso en los que la velocidad de ejecución es tan importante que una ejecución lenta significa que el sistema es inutilizable. Estos ejemplos suelen encontrarse en sistemas que deben responder a cambios del entorno en tiempo real.
El propósito de este documento es analizar los cálculos que intervienen en el modelado de la dinámica de vuelo de un Quadrotor, discutir qué partes de los cálculos son candidatas para la aceleración en la GPU y demostrar la importancia del determinismo para el tiempo de ejecución de estos cálculos.
Si quieres conocer en mayor profundidad este caso, entra aquí y lee el artículo completo.
Gráfica/RTOS DO-178C integrada de rápido crecimiento
DDC-I y CoreAVI proporcionan una plataforma gráfica/RTOS DO-178C integrada para el mercado de aviónica multinúcleo de rápido crecimiento. Se acelera así el desarrollo y la implementación de aplicaciones de aviónica críticas para la seguridad de próxima generación que utilizan SoC Intel y NXP de alto rendimiento equipados con GPU.
DDC-I, un proveedor líder de software y servicios profesionales para aplicaciones críticas para la misión y la seguridad, se ha asociado con CoreAVI para proporcionar una plataforma de gráficos/RTOS de aviónica integrada dirigida a aplicaciones de alta SoC multinúcleo de alto rendimiento equipados con unidades de procesamiento gráfico (GPU) integradas, incluido el NXP i.MX 8 y el Intel Core i7 de 11ª generación.
Al combinar DO-178C de DDC-I, Deos™ RTOS, compatible con FACE y con la cartera de controladores de cómputo y gráficos VkCore®SC, basados en Vulkan de CoreAVI, la plataforma acelera en gran medida el desarrollo, la certificación y la implementación de aplicaciones de aviónica con uso intensivo de cómputo y gráficos que requieren fusión de datos, sentir/detectar, visión sintética, gráficos y otras funciones de control avanzadas.
Deos, certificado por primera vez para DO-178 DAL A en 1998, proporciona una base de seguridad conforme a FACE™ y perfiles extendidos de seguridad, a la vez que presenta una respuesta en tiempo real. Estas capacidades permiten a Deos escalar bien en la gama de aplicaciones de aviónica, desde FADEC (Control de motor digital de autoridad total) y controles de vuelo, hasta pantallas complejas de alto rendimiento y computadoras de misión.
Deos SafeMC™ proporciona tecnología multinúcleo avanzada que permite a los desarrolladores aprovechar al máximo las capacidades gráficas y de cómputo de alto rendimiento de los procesadores multinúcleo como Core i7 e i.MX8 sin comprometer la respuesta de tareas críticas para la seguridad y el tiempo de ejecución garantizado.
Con esta agrupación se crea una combinación idónea para dar paso a una aparatología innovadora para la misión y la seguridad.
Para más información puedes visitar el siguiente enlace.
Las soluciones gráficas integradas de CoreAVI: qué son y para qué sirven
CoreAVI tiene un sólido historial en el suministro de soluciones gráficas integradas críticas para la seguridad de última generación. Dentro de su amplia gama de soluciones hoy vamos a hablar de Vulkan Core SC. ¿Quieres saber qué es y para qué se utiliza?
VkCore SC es la base de todas las soluciones gráficas modernas, ya que es un controlador de cómputo y gráficos basado en Vulkan. Pero vamos a indagar más en ella.
Vulkan SC es una API de cómputo y gráficos críticos para la seguridad de próxima generación presentada por el grupo Khronos. Por su parte, Vulkan es una API de estándares abiertos revolucionaria y de alta eficiencia que proporciona un acceso de GPU amplio, flexible y de bajo nivel a las GPU modernas. Dicho de otra manera, su uso proporciona una funcionalidad mejorada con mayor rendimiento y flexibilidad. Vulkan no solo reduce la carga de trabajo de la CPU, sino que también proporciona capacidades de subprocesos múltiples y traslada la administración de algunas funciones a la capa de aplicación, lo que permite un mayor control con menos gastos generales para proporcionar ganancias de rendimiento.
Desde CoreAVI han empleado esta solución en muchos proyectos, sin embargo, podemos destacar dos casos de éxito que avalan los beneficios de su uso:
- CABINA HMI SEGURA.
- PANTALLAS EN VEHÍCULOS
¿Te gustaría conocer en qué ha ayudado CoreAVI a estos casos? Lo puedes consultar en este enlace.
Monitor de seguridad de la GPU TrueCore ™
El supervisor de seguridad del procesador la GPU TrueCore™ está diseñado para monitorizar la integridad de la GPU. Para ello emplea un sistema patentado que aporta un conjunto de Test-integrados (Build-in-Tests).
Estos aportan una cobertura de test de la función de renderizado de graficos. A través del uso de varios tests, cada uno con un patrón de prueba único que ha sido verificado por la CPU, las aplicaciones suministradas con flexibilidad a la ahora de optimizar las realización de test y resultados filtrando aquellos que no se corresponden con un sistema basado en FPGA.
La arquitectura de monitorización del software soporta plataformas multicore y hypervisor, asegurando la integridad del procesador de datos a través de múltiples particiones independientes y sistemas operativos.
El TrueCore ™ puede ser implementado tanto en sistemas gráficos como de computación.
Para mayor información visita la página web de CoreAVI.
¿Qué tiene de especial un vector? Nos lo cuentan desde CoreAvi
¿Sabes que el álgebra, y los vectores en particular, son el combustible que necesitan todos los algoritmos de Inteligencia Artificial? Así es. Los vectores y las matrices son el corazón del procesamiento de datos de la Inteligencia Artificial hoy día.
Pero, ¿qué tiene de especial un vector? Para entenderlo primero debes saber qué es un vector.
¿Qué es un vector?
Cuando pensamos en procesamiento de datos, nos referimos a la habilidad de tomar información y modificarla. En algunos casos necesitamos transformarla de forma que podamos extraer conocimiento de ella; en otros casos la podemos coger para modificarla, o para extraer información sobre su estructura. En otras ocasiones, los datos son no visuales.
En cualquier caso, los datos son un conjunto de unidades de información compuesto por una lista de características que describen ese conjunto. En el caso de la imagen, por ejemplo, son los píxeles. En el caso de un paciente médico, son los atributos que lo describen (sexo, edad, historial…). Si entendemos cada conjunto de datos como una colección de características, entenderemos lo que es un vector.
Convertir los conjuntos de datos en vectores es muy útil porque encapsula una lista de características de forma que es más fácil relacionar cada grupo por separado; y porque la interpretación de vectores geométrica ayuda a revelar información sobre cómo los conjuntos se relacionan entre ellos en una ficha técnica.
¿Qué tiene de especial un vector?
En este sentido, lo que hace especial a los vectores es que, cuando los interpretamos geométricamente, aquellos vectores que apuntan en una misma dirección tienen propiedades similares.
Por ejemplo, cuando interpretamos imágenes de coches y peatones como vectores en un espacio multidimensional, aunque no podamos visualizar las direcciones a las cuales el vector apunta, sí que podemos calcularlas para después comparar los vectores que pertenecen a imágenes de coches con los que corresponden a imágenes de peatones. Los vectores de coches apuntarán en una misma dirección, y los de los peatones, en otra.
Así pues, crear un algoritmo que pueda aprender automáticamente las diferencias entre los coches y los peatones supondrá manipular esos vectores matemáticamente para entender la dirección en la que apuntan y encontrar así la línea que divide el espacio donde los coches y los peatones se separan. Una vez encontrado ese hiperplano, el algoritmo puede clasificar una imagen totalmente nueva porque sabe en qué lado del vector está: el de los coches o el de los peatones.
Por eso los algoritmos de Inteligencia Artificial terminan por llevar a cabo un número muy copioso de operaciones con vectores. Por lo tanto no es una sorpresa que el otro tipo de dato estructurado comúnmente empleado en Inteligencia Artificial sea la matriz: una matriz es una colección de vectores apilados unos sobre otros.
De hecho, en algunos casos es útil combinar varios vectores como una matriz para poder procesar un set de vectores al mismo tiempo.
Puedes ampliar información sobre los vectores en este documento preparado por CoreAvi.
Así es el paquete de certificación CertCoreTM 254 de CoreAVI
El paquete de certificación CertCore254 es el subconjunto de los datos del ciclo de vida DO-254 para el Hardware Electrónico Aéreo (AEH) que una autoridad de certificación espera que vaya incluido con la certificación. El resto de los datos del ciclo de vida están disponibles para examen en CoreAVI.
En cuanto a los datos para elementos CBA y PLD, pueden ser entregados como un set único de datos de ciclo de vida o como un set separado de datos de ciclo de vida para cada CBA y PLD. Adicionalmente, para cada ítem de datos, el nivel de sistema SOIs que soporta el ítem, están identificados. Por otra parte, el software residente tiene un CertCore178 de datos de ciclo de vida separado que soporta DO-168C nivel A.
CoreAVI también provee una opción de certificación de defensa para soporte directo en el lugar desde CoreAVI para defender las pruebas de certificación internamente y con las autoridades de certificación. Además CoreAVI emplea tecnología electrónica para una retención potente de los datos, permanente, siguiendo las guías de FAA-IIR-01-01A 23/04, y FAA Orden 8000-79. Las grabaciones del desarrollo AEH son permanentes y no serán destruidas.
Para mayor información consulta el brief del producto.
Certificación de seguridad CoreAVI: evidencias de su éxito
CoreAVI ofrece a sus clientes soluciones de seguridad crítica como, por ejemplo, los packs de seguridad extensivos que incluyen un set de garantías que un desarrollador puede utilizar durante el diseño de sistemas y sus fases de certificación. Estos packs sirven para abordar los requerimientos de múltiples estándares de seguridad de la industria y reducen significativamente los tiempos del proyecto mientras aumentan la confianza en el éxito de la certificación. Algunos de estos packs son:
-
Evidencias de Certificación de software aviónico y paquete de datos DO-178C/ED-12C
-
Evidencias de Certificación de hardware aviónico DO-254/ED-80 y paquete de datos para módulos COTS-D y GPUs y SoCs soportados
-
Certificación y Pack de Seguridad Automovilístico ISO 26262
-
Certificación y Pack de Seguridad Industrial IEC 61508
Además, CoreAVI puede acomodarse a otros estándares de seguridad crítica según los requerimientos del cliente. Para descargarse la ficha técnica de estas certificaciones y obtener más información, acude a la página web de CoreAVI.
CertCore ™ 178 DO-178C / ED-12C: ¿Para qué sirve esta certificación?
CoreAVI lleva muchos años ofreciendo a sus clientes soluciones de seguridad crítica de primer nivel. Los soportes para las certificaciones de seguridad de sus Aplicaciones de Seguridad Crítica en Plataformas incluyen paquetes de datos para certificaciones aviónicas DO-254/ED-80 y DO-178C/ED-12C a DAL A, así como Paquetes de Seguridad y certificaciones para ISO 26262 y aplicaciones IEC 61508.
Además, la compañía trabaja con DERs aviónicos y autoridades de asistencia independientes acreditadas para proveer asistencia de seguridad crítica.
Para conocer los ítems que ofrece CoreAVI en el kit de certificación CertCore ™ DO-178C/ED-12C (en cuanto a planes de software, estándares de diseño de software, diseño de software de datos, datos de validación y certificación y datos finales) visita su página web, donde encontrarás un cuadro explicativo detallado.
¿Cómo se presenta el futuro de la seguridad en la cabina digital?
En la industria automotriz y la de vehículos con cabina, las pantallas multifunción han reemplazado a los indicadores y manómetros del pasado. Los SoCs de alto rendimiento están siendo empleados no solo para transmitir información básica a los drivers sino también para conseguir visión aumentada y mejorar la vigilancia situacional en humano-máquina-interfaz, lo cual permite al driver interpretar visualmente grandes cantidades de información. En la aviónica, las GPUs y los softwares usados en estos sistemas de automoción de alta fiabilidad y seguridad crítica adoptarán sistemas electrónicos cualificados para la seguridad. Estos sistemas encajarán con su propósito, pues estarán diseñados para cumplir con los estándares de seguridad funcional, permitir computación determinística, y los softwares estarán escritos de acuerdo con la guía MISRA-C para la seguridad crítica en software de acuerdo con estándares como el ISO 26262.
-
Flujos de trabajo: Una moda en la automoción es consolidar múltiples funciones de cabina en un dominio de control de cabina (CDC) en la cual discurren flujos de seguridad y de no-seguridad, mezclados de forma crítica. A menudo los flujos de trabajo de computación determinística no deben compartir recursos con otros flujos, y es muy importante tenerlo en cuenta para la seguridad determinística en flujos HMI. En este sentido el Arm Mali-G78AE, ya permite separar el GPU en 1, 2 o 4 GPUs y alojarlas en diferentes flujos de trabajo.
-
Arquitectura HMI segura: Los casos de uso de los gráficos certificados con ISO 26262 ASIL B son muchos en los diseños existentes. La integración del contenido de seguridad con contenido de no-seguridad en un cluster es común. En los actuales sistemas el renderizado puede llevarse a cabo en hardware y software ASIL QM, y el mecanismo de seguridad está en el monitor de seguridad ASIL B. Lo normal es dedicar el hardware a la muestra en pantalla de control que genera CRC. El CRC se compara con el CRC de referencia, y si coinciden, el sistema QM está funcionando correctamente, así como el contenido de seguridad. Sin embargo, cuando estos criterios no se cumplen, esta aproximación no escala bien. Por eso los diseños tendrán que soportar aplicaciones de seguridad que funcionen en cores de seguridad de aplicaciones cualificadas.
-
Desarrollo de Aplicaciones HMI seguras: Las aplicaciones en aviónica se aprovechan de la aceleración de la GPU que permite el API OpenGL® Safety Critical. En el futuro la suite de Seguridad Funcional para Mali-G78AE soportará OpenGL SC 1.0.1, 2.0 y el Vulkan SC 1.0. Los diseñadores HMI aprovecharán las herramientas HMI que soportan los flujos de trabajo, permitiendo el etiquetado de ciertos datos y superficies para el renderizado de dominios de seguridad y no-seguridad. El ecosistema de los partners de herramientas HMI facilitará la transición de los flujos de trabajo desde ASIL QM HMIEs a HMIs de Seguridad.
-
Alianzas fuertes: Cuando más autónomos se vuelven los sistemas de automoción, y cuanto más generalizada se vuelve el machine learning, más común serán las alianzas en el mundo de la automoción.
Puedes descubrir más información en el siguiente enlace.
CoreAVI anuncia la disponibilidad de la FPGA certificable DO-254 y el Diseño para Conversión de Vídeo 3U VPX IP
CoreAVI ha anunciado la disponibilidad de un nuevo hardware de Conversión de Vídeo para permitir el procesamiento de vídeo con latencia baja y la fusión de gráficos para aplicaciones de misión crítica.
El nuevo Módulo de Conversión de Vídeo VIM3006 es el resultado de una colaboración entre los proveedores HENDSOLDT y CoreAVI. El diseño basado en FPGA que se puede obtener con la licencia de CoreAVI tiene todos los datos necesarios para el apoyo técnico, la fabricación y reparación. El módulo está también disponible con un paquete de datos que apoyan la certificación RTCA DO-254/EUROCAE ED-80 conforme a A(M)C 20-152A así como FPGA, y con un driver de procesamiento de vídeo con un paquete de datos para apoyar la certificación RTCA DO-178C/EUROCAE ED-12C.
El Módulo de Conversión de Vídeo VIM3006 3U VPX es compatible con las GPU XMC2 de CoreAVI, como por ejemplo la GPMX002, para permitir una baja latencia en la captura del vídeo para el procesamiento y la superposición, y el procesamiento de vídeo con mezcla y renderizado de gráficos. Esto le otorga un sensor de vídeo integrado y una solución de gráficos independiente de una GPU específica, permitiendo el uso de diferentes GPUs según las necesidades. Está diseñado para adaptarse con la interfaz de captura de vídeo VkCore® SC para permitir la latencia baja del procesamiento de vídeo para aplicaciones como la visión combinada, el seguimiento terrestre… El módulo soporta dos canales input de vídeo independientes, capturando los dos inputs SPMTE292 HD-SDI o ARINC 818-2.
Adicionalmente, cuatro salidas independientes convierten los canales de hasta cuatro TMDS (DVI) desde una GPU en formato XMC 2.0 hasta las salidas SMPTE292 HD-SDI o ARINC 818-2. La FPGA IP puede ser personalizada para acoplarse a varios form factor factores de forma y está disponible como un módulo rugerizado y refriegerado por conducción adherido al estándar VITA 41/42/65 (OpenVPX™), construido para misiones en entornos muy severos.