Patent AR-074703-A1 (AR)
Title: Disposicion para procesamiento de datos a partir del fraccionamiento de la informacion y procedimiento de procesado de dichos datos
Inventor: GRAU ROLANDO ABEL
Filed: 2010-01-14
Abstract: Cuenta con una disposición que comprende al menos una plataforma (1) vinculada a una interfase de programación de aplicaciones (6) que depende del lenguaje de programación elegido o compilada en un lenguaje exportado desde una librería dinámica (7) o desde un objeto compartido, de manera que posibilita el acceso total de diferentes aplicaciones de software a procesadores de núcleos múltiples (2), de gráficos (3) y vectoriales integrándolos con un código preexistente. La plataforma (1) se vincula a módulos front end (4) integrados por un grupo de objetos y métodos dependientes del lenguaje de programación y módulos back end (5) que dependen del hardware que controlan y acceden a un dispositivo de hardware específico. La interfase de programación de aplicaciones (6) accede a los recursos de cómputo a través de un multidispositivo (8) creador de múltiples NsArrays que crean los vectores necesarios para el procesamiento, conformando cada uno de dichos NsArrays una base sobre la cual se realiza la programación paralela en la plataforma (1) de manera que los datos a procesar son automáticamente distribuidos entre los diferentes dispositivos de cómputo manejados por el que construyó ese NsArray en particular. Dicha plataforma (1) realiza operaciones comunes y complejas condicionadas por las dimensiones de cada uno de dichos NsArrays pasados a los operadores así como por los tipos contenidos en ellos, de forma que para aplicar ciertas operaciones en un subconjunto de elementos de un NsArray dado, podrán utilizarse diferentes técnicas. Dicha interfase de programación de aplicaciones (6) permite aprovechar el poder de al menos uno de los módulos dependientes de los recursos de hardware (5) implementando funciones específicas que trabajan con objetos NsArray invocando la función de llamado "CbInstersect" y el código del módulo dependiente de los recursos de hardware (5) correspondiente. Los módulos dependientes de los recursos de hardware (5) facilitan la escritura del código, resultando la importación de éste en al menos uno de tales módulos seleccionados entre NsGetCoIumnPtr, NsGetDeviceRowCount y NsGetColumnCount. El presente comprende asimismo un procedimiento integrado con una etapa de selección (9) del lenguaje a emplear; una etapa de codificación (10) de un código con funciones de la librería dinámica (7) y una etapa de compilación (11) y ejecución del código escrito en la etapa anterior. Comprende asimismo una etapa de nueva selección (12) seleccionando el back end (5) en función de la tarea a realizar; una etapa de detección (13) de la plataforma (1) y análisis del hardware detectando los procesadores y agrupándolos en procesadores de núcleos múltiples (2), de gráficos (3) y vectoriales e integración de los mismos mediante el código elaborado en la etapa de codificación (10) y una etapa de unificación (14) y creación de un patrón de diseno. El procedimiento se integra con una etapa de inicialización (15) de los procesadores detectados; una etapa de carga (16) de la memoria RAM que es orientada en función de los procesadores detectados y una etapa de nueva carga (17) donde se procede a la carga de NsArray que, en una etapa de asignación (18), distribuirá la información entre los procesadores de núcleos múltiples (2) o bien entre los procesadores gráficos (3) detectados. Asimismo comprende una etapa de cálculo y cómputo (19) donde la información distribuída entre los procesadores (2 ó 3) detectados es analizada y computada por los mismos para obtener un resultado que, en la etapa de descarga (20) es descargado para su utilización y una etapa de desconexión (21) de los procesadores (2 ó 3).