ILUS(l,t)

Las factorizaciones incompletas han sido de gran utilidad en la ultima década, para solucionar grandes sistemas lineales, los cuales están generados  usualmente por el método de elementos finitos. Esta técnica busca mejorar el condicionamiento numérico de las matrices asociadas al sistema lineal Ax=b, mejorar el condicionamiento permite una mejor aproximacion de la matriz original A. Para mas detalles ver ILUS(l,t)

Posted in General | Leave a comment

OpenCl

OpenCl es un lenguaje que nos permite aprovechar todos los recursos disponibles en el host, para la ejecución de un   programa en paralelo. Algunas características se podrán observar en las siguientes diapositivas.OpenCL

Posted in General | Leave a comment

Conteo del tamano de todos los subarboles de un arbol.

En el documento adjunto se presenta una implementación sobre el calculo del tamano de todos los subárboles de un árbol.   La implementacion esta realizada en C++ y en la paralelización se ha utilizado OpenMp.Trabajo

 

Posted in General | Leave a comment

Algoritmos Distribuidos Fudamentales

En esta sección se dan a conocer diferentes modelos de sincronización.

1. Modelo sincronizado.

2. Modelo no sincronizado.

3. Modelo Parcialmente sincronizado.

Con este paradigma todos los parámetros relacionado con la computación distribuida  son desconocidos. Como lo son, el numero de nodos, el tipo de conección, el lider,  los procesos son no determinados y el orden de los mensajes son desconocidos.

Para conocer el lider en un anillo. Este puede ser buscado por dos algoritmos (LCR) y (HS), el LCR tiene una mayor complejidad en comparación con (HS).

 

Posted in General | Leave a comment

MPI

Este es un nuevo paradigma en la programación, aquí los procesadores contienen su propia memoria donde realizan los procesos y cálculos pertinentes, con este nuevo paradigma se utilizan con cluster, el cual esta conformado por un líder y un conjunto de nodos.

Con este paradigma se inicializa suponiendo que nada es conocido, con esto se hace referencia.

que no se sabe el numero de procesadores, el tipo de coneccion, los procesadores no son determinados, el tiempo de envio de mensajes es indeterminado entre otras cosas.

hoy vere como implementare este paradigma regido por el modelo paso de mensajes.

Posted in General | Leave a comment

Openmp

Ya se ha terminado el ciclo de Opemmp , la nuestra clase, mas adelante se estará retomando este paradigma realizando un híbrido entre OpenMp y MPI, he aprendido mucho, hacer de este paradigma de memoria compartida “shared Memory”. OpemMp no es un nuevo lenguaje ni mucho menos un sofware de programacion, OpemMp es un conjunto de comando que permite realizar una interfaces entre los diferentes lenguajes de programación C,C++,Fortran, que permite paralelizar el código.

OpemMp costas de DIRECTIVAS, CONSTRUCTORES, CLAUSULAS. las cuales permite realizar un programa parallelo, hay que tener en cuenta que no todo código secuencial puede ser paralelizado por lo menos en su 100%,  de manera que al momento de idear un código en paralelo podría no ser muy útil pensarlo de manera secuencial, por ejemplo, si se desea leer un txt, de manera paralela, es posible que este no sea leido en el orden que usted desee, dado que miesntras el Hilo 0 lee el primer carácter es posible que el hilo 6 lea el segundo carácter, y es posible que usted necesite cierto orden, es posible pensar que con la clausura ORDERED se arregla el inconveniente pero esto no lo es todo.

 

Posted in General | Leave a comment

Programacion Usando OpenMP

OpenMP es una aplicación del modelo Shared-Memory de la interfaces, cuya caracteristica es facilitar el esfuerzo de la shared-Memory parallel computing.

OpenMP: es no es un lenguaje nuevo de programación. Mas bien esta es una notación que puede ser agregada a un programa secuencial en Fortran, C, C++, para describir como el trabajo es repartido entre los hilos que se irán a ejecutar sobre diferentes procesadores o núcleos.

Directive: Permite el usuario decirle al compilador cual instrucciones sera ejecutado en paralelo y como sera distribuida entre los hilos que correrán el código.

Structured Block: Una secuencia de sentencias ejecutable con una sola entrada en la parte superior y una individual salida en la parte inferior en los programas y una sentencia ejecutable en C/C++.

Costruct: Es una manera mas facil de obtener diferentes hilos para cargar con diferentes tipos de trabajo. Dado que nos permite identificar muchas regiones de códigos diferentes.

Region: Es una extencion dinámica de un constructor.

 

Posted in General | Leave a comment

Algortimos Fundamentales en Paralelo

En esta sección se abarcaron algunos conceptos fundamentales como lo fueron hilos, medidas de un programa como la eficiencia, redundancia, utilización, velocidad, entre otros, se estuvieron observando y analizando los diferentes modelos de programación que abarca PRAM, como por ejemplo EREW y CRCW. Y se vio un análisis de los algoritmos fundamentales en paralalelo como lo es.

1. Calculo de semigrupos.

2. Calculo en paralelo de Prefijos.

3. Ranking de lista.

4. Multiplicacion de matrices.

Posted in General | Leave a comment

Inicio de Clases

Mi primera clase fue el 16 de Enero, en el cual me reencontré con el Dr. Schütz despues de casi un a~o y con una gran persona como lo es marcos compa~ero de clase, el cual fue un excelente curso. Ahora estoy ansioso por aprender mucho de esta interesante materia. El dia del curso se vio conceptos básicos como.

1.  Performance.

2. Modelos de Programación.

3.PRAM.

4.Programación en paralelo y Distribuida.

 

Posted in General | Leave a comment