Showing results for Primera Vector
GitHub Repo
https://github.com/SebastianDl97/AppVectores2.0
SebastianDl97/AppVectores2.0
corrección de la primera practica
GitHub Repo
https://github.com/C4GH/RN-SIC
C4GH/RN-SIC
Primeras ideas de carga de vectores y embedding.
GitHub Repo
https://github.com/JorgeLJimenez/TareaProductoVectorialFisica
JorgeLJimenez/TareaProductoVectorialFisica
Primera Tarea de Programación
GitHub Repo
https://github.com/melkaiah/Programming_Assignment_2
melkaiah/Programming_Assignment_2
Introducción Esta segunda asignación de programación será necesario que para escribir una función R que es capaz de almacenar en caché los cálculos pueden requerir mucho tiempo. Por ejemplo, tomando la media de un vector numérico es típicamente una operación rápida. Sin embargo, para un vector muy largo, puede tomar mucho tiempo para calcular la media, especialmente si tiene que ser calculada repetidamente (por ejemplo, en un bucle). Si el contenido de un vector no están cambiando, puede tener sentido para almacenar en caché el valor de la media para que cuando lo necesitamos más, se puede consultar en la memoria caché en lugar de recalcula. En esta asignación Programación usted aprovechar las reglas de ámbito de la lengua R y la forma en que se pueden manipular para preservar el estado interior de un objeto R. Ejemplo: Almacenamiento en caché de la media de un vector En este ejemplo se introduce el << - operador que se puede utilizar para asignar un valor a un objeto en un ambiente que es diferente del entorno actual. A continuación se presentan dos funciones que se utilizan para crear un objeto especial que almacena un vector numérico y almacena en caché su media. La primera función, makeVector crea un "vector" especial, que es en realidad una lista que contiene una función para establecer el valor del vector obtener el valor del vector establecer el valor de la media obtener el valor de la media makeVector <- función (x = numérico ()) { m <- NULL set <- función (y) { x << - y m << - NULL } get <- función () x setmean <- función (media) m << - media getmean <- función () m lista (juego = set, get = get, setmean = setmean, getmean = getmean) } La siguiente función calcula la media de la "vector" especial creado con la función anterior. Sin embargo, primero se comprueba si la media ya ha sido calculado. Si es así, obtener s la media de la caché y se salta el cálculo. De lo contrario, se calcula la media de los datos y define el valor de la media en la memoria caché a través de la setmean función. cachemean <- función (x, ...) { m <- x $ getmean () if (! is.null (m)) { mensaje ("la obtención de datos en caché") retorno (m) } datos <- x $ get () m <- media (datos, ...) x $ setmean (m) m } Asignación: El almacenamiento en caché de la inversa de una matriz Inversión de la matriz es por lo general un cálculo costoso y puede haber algún beneficio para el almacenamiento en caché de la inversa de una matriz en lugar de computar varias veces (también hay alternativas a la matriz de inversión que no vamos a discutir aquí). Tu tarea es escribir un par de funciones que caché La inversa de una matriz. Escriba las siguientes funciones: makeCacheMatrix : Esta función crea un objeto especial "matriz" que se puede almacenar en caché su inversa. cacheSolve : Esta función calcula la inversa de la "matriz" especial devuelto por makeCacheMatrix anteriormente. Si la inversa ya se ha calculado (y la matriz no ha cambiado), entonces cacheSolve debe recuperar la inversa de la caché. Calcular la inversa de una matriz cuadrada se puede hacer con la resolver función en R. Por ejemplo, si X es una matriz invertible cuadrado, entonces resolver (X) devuelve su inversa. Para esta tarea, se supone que la matriz suministrado es siempre invertible. Para completar esta tarea, debe hacer lo siguiente: Tenedor del repositorio GitHub que contiene los archivos de código auxiliar R en https://github.com/rdpeng/ProgrammingAssignment2 para crear una copia bajo su propia cuenta. Clonar el repositorio GitHub bifurcada a su ordenador para que pueda editar los archivos de forma local en su propia máquina. Edite el archivo R contenida en el repositorio git y coloque su solución en ese archivo (por favor, no cambie el nombre del archivo). Comprometerse su archivo R completado en su repositorio git y empujar a su rama git al repositorio GitHub bajo su cuenta. Presentar a Coursera la URL de su repositorio GitHub que contiene el código R completado para la tarea. Grading Esta asignación se calificará a través de la evaluación por pares.
GitHub Repo
https://github.com/Astaroth1507/Proyecto-Final-Fisica-I
Astaroth1507/Proyecto-Final-Fisica-I
Proyecto final de Física, conversiones, suma de vectores y primera y tercera ley de newton
GitHub Repo
https://github.com/DanielGuzmanV/Practico-Vectores
DanielGuzmanV/Practico-Vectores
Primera y segunda parte del practico
GitHub Repo
https://github.com/omarbr-1226/VECTORES-Y-MATRICES
omarbr-1226/VECTORES-Y-MATRICES
M primera implemenctacion de vectores y matrices
GitHub Repo
https://github.com/anabeldilab/GPU-Programming-Cuda
anabeldilab/GPU-Programming-Cuda
La tarea final es realizar un histograma de un vector V de un número elevado N de elementos enteros aleatorios. El histograma consiste en un vector H que tiene M elementos que representan "cajas". En cada caja se cuenta el número de veces que ha aparecido un elemento del vector V con el valor adecuado para asignarlo a esa caja (normalmente cada caja representa un rango o intervalo de valores). En nuestro caso, para simplificar la asignación del elemento de V a su caja correspondiente del histograma, vamos a realizar la operación ValorElementoV Modulo M, que directamente nos da el índice de la caja del histograma al que pertenecerá ese elemento y que deberemos incrementar. Se sugiere como N un valor del orden de millones de elementos y como M, 8 cajas. Como implementación base (que podremos mejorar en tiempo o no) se pide crear tantos hilos como elementos de V para que cada uno se encargue de ir al elemento que le corresponda en V e incremente la caja que corresponda en el vector histograma H (posiblemente de forma atómica). Como segunda implementación, dividiremos la operación en dos fases. En la primera, en lugar de trabajar sobre un único histograma global, repartiremos el cálculo realizando un cierto número de histogramas (que llamaremos "locales"), cada uno calculado sobre una parte del vector de datos. La idea es reducir el número de hilos escribiendo sobre la misma posición del histograma, ya que dicha operación debe ser atómica y se serializan dichos accesos. La segunda fase realizará la suma de los histogramas locales en un único histograma global final. Se debe intentar llevar a cabo de la forma más paralela posible, utilizando el método de reducción. Es importante medir adecuadamente el tiempo que conlleva el trabajo realizado por el/los kernels (pueden ser varios). La inicialización del histograma también debe ser incluido en el tiempo medido (en un kernel separado o no, en función del algoritmo). Es importante promediar el tiempo obtenido en varias repeticiones (descartando la primera, que suele ser mayor). Reflejar en las cifras de los tiempos finales solamente las cifras decimales que creamos que son estables y que nos permitan dar conclusiones sobre las pruebas que hagamos y las diferencias que observemos. Es relevante también discutir el tipo de memoria que podemos utilizar en cada momento y posiblemente realizar pruebas con diferentes posibilidades, comprobando si se obtienen ventajas o no en los tiempos. El objetivo final es discutir las diferencias en las implementaciones o pruebas que hagamos, intentando explicar (en la medida de los posible) el porqué de su rendimiento, y qué restricciones imponemos sobre su funcionamiento (número de elementos que usamos, número de histogramas locales, etc.). Es posible (no obligatorio) hacer pruebas "de barrido" seleccionando variar un parámetro del algoritmo y graficar los tiempos obtenidos. Se valorará la generalidad del algoritmo y su correcto funcionamiento, las pruebas realizadas y su relevancia en el razonamiento. Todo ello se reflejará en un informe y se entregarán además los ficheros con el código que se considere relevante (resultado final, pruebas, implementaciones diferentes, etc.) en un fichero comprimido. Requisitos Como mínimo, se espera que se realicen dos implementaciones y que se midan tiempos en ambos casos. Si al realizar la segunda implementación no se llega a realizar una implementación de la reducción o se hace alguna variación del método, siempre que se discutan los límites y características de lo realizado, el proyecto será válido. Opcionalmente, se valorará también el haber explorado partes del API de CUDA que por su novedad o complejidad no se han visto en clase como el "Unified Memory Programming" (fácil, simplifica la programación), "Cuda Dynamic Parallelism" (más dificil, permite invocar kernels desde otros kernels) o los "Cooperative Groups" (más difícil, permite sincronizar nº de hilos inferior o superior al nº de hilos del bloque) si con su aplicación se consigue simplificar o mejorar en algún sentido el código del problema.
GitHub Repo
https://github.com/DavinsonLopez/Estructura_Primera_Practica
DavinsonLopez/Estructura_Primera_Practica
Primer ejercicio practico: vectores
GitHub Repo
https://github.com/JuanPalacios123/Laboratorio-Virtual-de-Vectores-lgebra-y-Geometr-a-Anal-tica