Memorias, opciones del compilador y otras yerbas. Clase 3
|
|
- Dolores Ojeda Duarte
- hace 8 años
- Vistas:
Transcripción
1 Memorias, opciones del compilador y otras yerbas Clase 3
2 Memorias en CUDA Grid CUDA ofrece distintas memorias con distintas características. Block (0, 0) Shared Memory Block (1, 0) Shared Memory registros Registers Registers Registers Registers memoria compartida Thread (0, 0) Thread (1, 0) Thread (0, 0) Thread (1, 0) memoria global memoria constante Algunas de ellas están en caché Host Global Memory Constant Memory 2
3 Variables y memoria en CUDA 64 kb por multiprocesador on-chip Shared Memory L1 Cache L1 Texture Cache El acceso a registros es decenas de veces más rápido que el acceso a la memoria global. 2 MB por GPU L2 Cache ~ 10 TB/s ~ 177 GB/s 0,5-6 GB por GPU Global Memory ( local') 3
4 Variables y memoria en CUDA shared int var[n]; Shared L1 Cache int var; Memory Texture constant int var;; L2 Cache device int var;; Global Memory ( local') int var[10]; 4
5 Variables Escalares global void add( int *a, int *b, int *c, int N ) { int tid = threadidx.x + blockdim.x * blockidx.x; } int d; if (tid < N) { c[tid] = a[tid] + b[tid]; } Variable escalar en registro (rápida) Las variables automáticas escalares residen en registros Si los registros no alcanzan, se transfieren a la memoria local (register spilling) Las variables automáticas están cacheadas (L1 o L2) 5
6 Variables vectoriales global void add( int *a, int *b, int *c, int N ) { int tid = threadidx.x + blockdim.x * blockidx.x; } int d[100]; if (tid < N) { c[tid] = a[tid] + b[tid]; } Variable vectorial: memoria global (lenta) Las variables automáticas escalares residen en registros Si los registros no alcanzan, se transfieren a la memoria local (register spilling) Las variables automáticas están cacheadas (L1 o L2) 6
7 Tipos de Variables en CUDA Memoria Alcance Acceso D H Lifetime int var; Registro Thread rápido (1x) R/W NO Thread int var[10]; Local Thread lento (100x) R/W NO Thread shared int var; Shared Block rápido (1x) R/W NO Block device int var; Global Grid lento (100x) R/W R/W Application constant int var; Constant Grid rápido (1x) R W Application
8 Opciones del compilador fisica ~]$ nvcc - Xptxas=- v prom3_shared.cu - o prom3_sh ptxas info : Compiling entry function '_Z12trapz_simplePfS_S_i' for 'sm_10' ptxas info : Used 11 registers, bytes smem, 8 bytes cmem[1] Se evita el mangled name _Z12trapz_simplePfS_S_i rodeando el kernel con extern C {}
9 Opciones del compilador fisica ~]$ nvcc - Xptxas=- v prom3_shared.cu - o prom3_sh ptxas info : Compiling entry function '_Z12trapz_simplePfS_S_i' for 'sm_10' ptxas info : Used 11 registers, bytes smem, 8 bytes cmem[1] Compute Capability
10 Opciones del compilador fisica ~]$ nvcc - Xptxas=- v prom3_shared.cu - o prom3_sh ptxas info : Compiling entry function '_Z12trapz_simplePfS_S_i' for 'sm_10' ptxas info : Used 11 registers, bytes smem, 8 bytes cmem[1] Número de registros por thread Compute Capability
11 Opciones del compilador fisica ~]$ nvcc - Xptxas=- v prom3_shared.cu - o prom3_sh ptxas info : Compiling entry function '_Z12trapz_simplePfS_S_i' for 'sm_10' ptxas info : Used 11 registers, bytes smem, 8 bytes cmem[1] Memoria Compartida Número de registros 32 bytes totales por thread Compute Capability 16 reservados para el sistema
12 Opciones del compilador fisica ~]$ nvcc - Xptxas=- v prom3_shared.cu - o prom3_sh ptxas info : Compiling entry function '_Z12trapz_simplePfS_S_i' for 'sm_10' ptxas info : Used 11 registers, bytes smem, 8 bytes cmem[1] Memoria Compartida Número de registros Memoria constante 32 bytes totales Compute Capability por thread 8 bytes en el banco 1 16 reservados para el sistema
13 Números complejos y otros tipos /*DEVICE_BUILTIN*/ struct float3 { }; float x, y, z; definidos en vector_types.h /*DEVICE_BUILTIN*/ struct builtin_align (16) float4 { otros tipos con int, char, double, etc. }; float x, y, z, w;
14 Números complejos y otros tipos #include <math.h> /* import fabsf, sqrt */ #include "vector_types.h" typedef float2 cufloatcomplex; host device static inline float cucrealf (cufloatcomplex x) { return x.x; } host device static inline float cucimagf (cufloatcomplex x) { return x.y; } definidos en /usr/local/cuda/include/ cucomplex.h
15 Números complejos y otros tipos host device static inline cufloatcomplex make_cufloatcomplex (float r, float i) { cufloatcomplex res; res.x = r; res.y = i; return res; } cufloatcomplex ci, z1, z2; float a=8.0f; float b=3.0f; ci = make_cufloatcomplex(0.0f, 1.0f); z2 = make_cufloatcomplex(a,b); z1 = cuadd(ci,z2);
16 Números complejos y otros tipos r=22445b8c95f4ad2b76062f5e5259b b292 #include<cusp_complex.h> #define C0 (cusp::complex<float>(0.0f,0.0f)) typedef cusp::complex<float> cmplx; global void int2d_tiled( ){ shared cmplx sdata[nquad]; sdata[tid] = C0; Estos headers sobrecargan operadores * + - etc y definen funciones (sin, cos, etc.) }
17 Dudas?
18 Ejercicio Convertir Suma-vectores a complejos.
Arquitecturas y programación de procesadores gráficos. Nicolás Guil Mata Dpto. de Arquitectura de Computadores Universidad de Málaga
Arquitecturas y programación de procesadores gráficos Dpto. de Arquitectura de Computadores Universidad de Málaga Indice Arquitectura de las GPUs Arquitectura unificada Nvidia: GT200 Diagrama de bloques
Más detallesSUMA de Vectores: Hands-on
SUMA de Vectores: Hands-on Clase X http://fisica.cab.cnea.gov.ar/gpgpu/index.php/en/icnpg/clases Algunas preguntas practicas (1) Que pasa si los vectores a sumar son muy grandes? (2) Como saber en que
Más detallesArquitectura de GPUs
Arquitectura de GPUs Carlos Bederián, Nicolás Wolovick FaMAF, Universidad Nacional de Córdoba, Argentina 1 de Agosto de 2012 ECAR12@DC.UBA Revisión 3739, 2012-08-02 Introducción Organización GPU: cálculo
Más detallesComputación en procesadores gráficos
Programación con CUDA José Antonio Martínez García Francisco M. Vázquez López Manuel Ujaldón Martínez Portada Ester Martín Garzón Universidad de Almería Arquitectura de las GPUs Contenidos Modelo de programación
Más detallesLibrería Thrust. Clase 4. http://fisica.cab.cnea.gov.ar/gpgpu/index.php/en/icnpg/clases
Librería Thrust Clase 4 http://fisica.cab.cnea.gov.ar/gpgpu/index.php/en/icnpg/clases Hasta aquí... CUDA C/C++ Control de bajo nivel del mapeo al hardware Desarrollo de algoritmos de alta performance.
Más detallesComputación de Propósito General en Unidades de Procesamiento Gráfico GPGPU
Computación de Propósito General en Unidades de Procesamiento Gráfico () E. Dufrechou, P. Ezzatti, M. Pedemontey J.P. Silva Clases 4 Programación Contenido Modelo de programación Introducción Programación
Más detallesModelo de aplicaciones CUDA
Modelo de aplicaciones CUDA Utilización de GPGPUs: las placas gráficas se utilizan en el contexto de una CPU: host (CPU) + uno o varios device o GPUs Procesadores masivamente paralelos equipados con muchas
Más detallesGPU-Ejemplo CUDA. Carlos García Sánchez
Carlos García Sánchez 1 2 Contenidos Motivación GPU vs. CPU GPU vs. Vectoriales CUDA Sintaxis Ejemplo 2 3 Motivación Computación altas prestaciones: www.top500.org 1º: Titan (300mil AMD-Opteron + 19mil
Más detallesTaller: Introducción a GPU's y Programación CUDA para HPC
Taller: Introducción a GPU's y Programación CUDA para HPC Amilcar Meneses Viveros Departamento de Computación CINVESTAV-IPN / LUFAC Computación Julio 2011 CONTENIDO I.- INTRODUCCION A GPU's Y CUDA 1.1
Más detallesBloque IV. Prácticas de programación en CUDA. David Miraut Marcos García Ricardo Suárez
Bloque IV Prácticas de programación en CUDA David Miraut Marcos García Ricardo Suárez Control de flujo Situaciones no tratadas Claves con tamaños diferentes. Cada Wrap debería acceder a claves del mismo
Más detallesCUDA: MODELO DE PROGRAMACIÓN
CUDA: MODELO DE PROGRAMACIÓN Autor: Andrés Rondán Tema: GPUGP: nvidia CUDA. Introducción En Noviembre de 2006, NVIDIA crea CUDA, una arquitectura de procesamiento paralelo de propósito general, con un
Más detallesPrimeros pasos con CUDA. Clase 1
Primeros pasos con CUDA Clase 1 Ejemplo: suma de vectores Comencemos con un ejemplo sencillo: suma de vectores. Sean A, B y C vectores de dimensión N, la suma se define como: C = A + B donde C i = A i
Más detallesIntroducción a Cómputo Paralelo con CUDA C/C++
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO Facultad de Ingeniería Introducción a Cómputo Paralelo con CUDA C/C++ Laboratorio de Intel y Cómputo de alto desempeño Elaboran: Revisión: Ing. Laura Sandoval Montaño
Más detallesGPGPU Avanzado. Sistemas Complejos en Máquinas Paralelas. Esteban E. Mocskos (emocskos@dc.uba.ar) 5/6/2012
Sistemas Complejos en Máquinas Paralelas GPGPU Avanzado Esteban E. Mocskos (emocskos@dc.uba.ar) Facultad de Ciencias Exactas y Naturales, UBA CONICET 5/6/2012 E. Mocskos (UBA CONICET) GPGPU Avanzado 5/6/2012
Más detallesComputación de Propósito General en Unidades de Procesamiento Gráfico GPGPU
Computación de Propósito General en Unidades de Procesamiento Gráfico () E. Dufrechou, P. Ezzatti M. Pedemonte Práctico Programación con CUDA Práctica 0: Ejecución del ejemplo visto en teórico (suma de
Más detallesLENGUAJE. Tema 1 - Introducción
LENGUAJE Tema 1 - Introducción HISTORIA DEL LENGUAJE C El lenguaje de programación C fue creado por Dennis Ritchie cuando trabajaba en Bell Laboratories de AT&T junto con Ken Thompson en el diseño del
Más detallesCUDA 5.5 y Visual Studio Express 2012 para Escritorio. Primeros pasos.
CUDA 5.5 y Visual Studio Express 2012 para Escritorio. Primeros pasos. La nueva versión de CUDA 5.5 es completamente compatible con la plataforma de desarrollo Visual Studio Express 2012 para escritorio
Más detallesPROGRAMACIÓN AVANZADA DE GPUs PARA APLICACIONES CIENTÍFICAS
Grupo de Ing. Electrónica aplicada a Espacios INteligentes y TRAnsporte Área Audio-Visual PROGRAMACIÓN AVANZADA DE GPUs PARA APLICACIONES CIENTÍFICAS Torrevieja (Alicante) Del 19 al 22 de Julio Álvaro
Más detallesComputación de Propósito General en Unidades de Procesamiento Gráfico GPGPU. Clase 5 Programación Avanzada y Optimización
Computación de Propósito General en Unidades de Procesamiento Gráfico () P. Ezzatti, M. Pedemontey E. Dufrechou Clase 5 Programación Avanzada y Optimización Contenido Memoria compartida Conflicto de bancos
Más detallesEl lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org>
El lenguaje de Programación C Fernando J. Pereda Por qué aprender C? Portable y muy extendido Estándar (C89, C99) El lenguaje de los sistemas Un lenguaje fácil (no, no es broma) Por
Más detallesDescubriendo Kepler. 1. Presentación de la arquitectura. Agradecimientos. Indice de contenidos [46 diapositivas]
Agradecimientos Descubriendo Kepler Manuel Ujaldón Nvidia CUDA Fellow Dpto. Arquitectura de Computadores Universidad de Málaga A los ingenieros de Nvidia, por compartir ideas, material, diagramas, presentaciones,...
Más detallesProgramación de una GPU con CUDA
Programación de una GPU con CUDA Programación de Arquitecturas Multinúcleo Universidad de Murcia. Contenidos Introducción Arquitectura y programación de CUDA Optimización y depuración de código Librerías
Más detallesKepler. 1. Presentación de la arquitectura. Índice de contenidos [25 diapositivas] Kepler, Johannes (1571-1630)
Índice de contenidos [25 diapositivas] Manuel Ujaldón Nvidia CUDA Fellow Dpto. Arquitectura de Computadores Universidad de Málaga 1. Presentación de la arquitectura [3] 2. Los cores y su organización [7]
Más detallesComputación en procesadores gráficos
Programación con CUDA Ejercicio 8 José Antonio Martínez García Francisco M. Vázquez López Manuel Ujaldón Martínez Portada Ester Martín Garzón Universidad de Almería Arquitectura de las GPUs Contenidos
Más detallesProgramando la GPU con CUDA RIO 2014 Río Cuarto (Argentina), 17 y 18 de Febrero, 2014. Agradecimientos. Prerrequisitos para este tutorial
Programando la GPU con CUDA RIO 2014 Río Cuarto (Argentina), 17 y 18 de Febrero, 2014 Manuel Ujaldon Nvidia CUDA Fellow Profesor del Dpto. de Arquitectura de Computadores. Universidad de Málaga (España).
Más detallesPRÁCTICA DE LABORATORIO 3 Tipo Abstrato de Dato
ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 3 Tipo Abstrato de Dato Contenido Introducción...1 Dato...1 Valor...1 Tipo de Dato...2 Tipo Abstracto
Más detallesFrancisco J. Hernández López
Francisco J. Hernández López fcoj23@cimat.mx 2 Procesadores flexibles de procesamiento general Se pueden resolver problemas de diversas áreas: Finanzas, Gráficos, Procesamiento de Imágenes y Video, Algebra
Más detallesIntroduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por
Más detallesCUDA Overview and Programming model
Departamento de Ciencias de la computación Universidad de Chile Modelado en 3D y sus Aplicaciones en Realidad Virtual CC68W CUDA Overview and Programming model Student: Juan Silva Professor: Dr. Wolfram
Más detallesExtracción paralela de valores propios en matrices Toeplitz simétricas usando hardware gráfico
Extracción paralela de valores propios en matrices Toeplitz simétricas usando hardware gráfico Tesis de Máster en Computación Paralela y Distribuida de: Leandro Graciá Gil Dirigida por: Antonio Manuel
Más detallesArquitecturas GPU v. 2013
v. 2013 Stream Processing Similar al concepto de SIMD. Data stream procesado por kernel functions (pipelined) (no control) (local memory, no cache OJO). Data-centric model: adecuado para DSP o GPU (image,
Más detallesKepler. 1. Presentación de la arquitectura. Contenidos de la charla. Kepler, Johannes (1571-1630)
Contenidos de la charla Manuel Ujaldón Nvidia CUDA Fellow Dpto. Arquitectura de Computadores Universidad de Málaga 1. Presentación de la arquitectura [7 diapositivas] 2. La memoria y el transporte de datos
Más detallesContenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE
Contenidos 1. Introducción 2. El operador NEW 3. El operador DELETE 1 Introducción Hasta ahora hemos visto que cada vez que queremos usar una variable debemos reservarle un lugar de la memoria al comenzar
Más detallesINTRODUCCIÓN A LA PROGRAMACIÓN DE GPUS CON CUDA
INTRODUCCIÓN A LA PROGRAMACIÓN DE GPUS CON CUDA Francisco Igual Peña León, 10 de mayo de 2011 PLANIFICACIÓN 1. Miércoles: Conceptos introductorios 1. Breve presentación de conceptos básicos 2. Ejercicios
Más detalles1. Manejo de memoria estática 2. Manejo de memoria dinámica
1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo
Más detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 5 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº 5 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Mi
Más detalles1. Cuestiones. Ejercicios resueltos de C. Diego Rodríguez-Losada 1. //a) #include <stdio.h> main( ) { int x = 0, y = 0; //b) #include <stdio.
1. Cuestiones Enunciado Febrero 04. Ejercicio Tercero. (2 puntos 30 minutos) Resolver los siguientes problemas indicando, en la parte inferior, cual es el resultado de cada programa. En caso de que el
Más detallesVARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora
Más detallesInformática I. Código 2547100 Semestre 2014-2. Para Ingeniería Electrónica e Ingeniería de Telecomunicaciones Profesor: Sebastián Isaza
Informática I Código 2547100 Semestre 2014-2 Para Ingeniería Electrónica e Ingeniería de Telecomunicaciones Profesor: Sebastián Isaza Programming tools Editor de texto (gedit, kate, vim, wordpad, etc):
Más detallesTema ADQUISICIÓN Y TRATAMIENTO DE DATOS. Departamento de Ciencias de la Computación e IA. Subprogramas en C
Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS Departamento de Ciencias de la Computación e IA Subprogramas en C Objetivo Una vez que tengamos un programa que resuelva un problema concreto, ser capaces de usarlo
Más detallesComputación matricial dispersa con GPUs y su aplicación en Tomografía Electrónica
con GPUs y su aplicación en Tomografía Electrónica F. Vázquez, J. A. Martínez, E. M. Garzón, J. J. Fernández Portada Universidad de Almería Contenidos Computación matricial dispersa Introducción a SpMV
Más detallesOPTIMIZACIÓN DE ALGORITMOS PARA PROCESADO DE IMÁGENES CON GPUs
MÁSTER UNIVERSITARIO EN INGENIERÍA INFORMÁTICA UNIVERSIDAD POLITÉCNICA DE MADRID E.T.S. INGENIEROS INFORMÁTICOS OPTIMIZACIÓN DE ALGORITMOS PARA PROCESADO DE IMÁGENES CON GPUs TRABAJO FIN DE MÁSTER AUTOR
Más detallesCuadro 3: Ejecución del algoritmo de reemplazo NFU.
Examen de Sistemas Operativos Avanzados Apellidos, nombre DNI: Grado en Ingeniería Informática 2Computadores 2 Ejercicio 1 Cálculos justificativos: 000- Marcos asignados Cuadro 1: Mapa de memoria principal
Más detallesUn puntero no es más que una variable estática cuyo contenido es una dirección de memoria.
Los punteros en C 1 Introducción Cómo se organiza la memoria asociada a un programa? Como una colección de posiciones de memoria consecutivas. En ellas se almacenan los distintos tipos de datos, que ocupan,
Más detallesGPGPU ( GENERAL PURPOSE COMPUTING ON GRAPHICS PROCESSING UNITS)
26 GPGPU ( GENERAL PURPOSE COMPUTING ON GRAPHICS PROCESSING UNITS) Técnica GPGPU consiste en el uso de las GPU para resolver problemas computacionales de todo tipo aparte de los relacionados con el procesamiento
Más detallesEl lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */
Principios de Programación El lenguaje C 1. Variables locales y globales 1.1. Variables locales Las funciones permiten al programador modularizar un programa. Todas las variables declaradas en las definiciones
Más detallesCompiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015
Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Compiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015 1. Introducción Este documento
Más detallesIntroducción. Por último se presentarán las conclusiones y recomendaciones pertinentes.
Introducción En el presente documento se explicarán las consideraciones realizadas para implementar la convolución bidimensional en la arquitectura CUDA. En general se discutirá la metodología seguida
Más detallesCURSO de C++ Ignacio López
CURSO de C++ Ignacio López Introducción al lenguaje C++ Visión General Objetivos del Curso C++ Conceptos básicos de la programación orientada a objetos (OOP) Visión General I Curso de C++ Introducción
Más detallesLa Plataforma J2SE (Java 7) PROGRAMA HOLA MUNDO
FUNDAMENTOS DE JAVA PARA LA CONCURRENCIA CONTENIDO: La Plataforma J2SE Elementos Básicos de Programación Nociones de Orientación a Objetos E/S y Manejo Básico de Excepciones Otros Conceptos sobre POO:
Más detallesProcesar Oracle en Debian Woody
Guybrush Treepwood Tabla de contenidos 1. Preliminares...3 2. Preparación...3 por Guybrush Treepwood Francisco F. Serrador Historial de revisiones Revisión 1.0 29 de junio de 2003
Más detallesDESARROLLO DE APLICACIONES EN CUDA
DESARROLLO DE APLICACIONES EN CUDA Curso 2014 / 15 Procesadores Gráficos y Aplicaciones en Tiempo Real Alberto Sánchez GMRV 2005-2015 1/30 Contenidos Introducción Debugging Profiling Streams Diseño de
Más detallesUniversidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C
Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C Directivas del procesador Main() { Declaraciones Definiciones proposiciones }
Más detallesProgramación en C para Sistemas Embebidos
SASE 2012 Programación en C para Sistemas Embebidos (con ejemplos basados en MSP430) Mg. Guillermo Friedrich UTN-FRBB Tópicos destacados - Generalidades sobre la arquitectura MSP430 - Paso de parámetros
Más detallesUtilización de la programación paralela en procesadores gráficos para el cálculo científico.
Utilización de la programación paralela en procesadores gráficos para el cálculo científico. EMNO 2013 Rolando E. Rodríguez Fernández Medicina Computacional, Instituto de Nefrología. y Facultad de Física,
Más detallesTema: Arreglos de Objetos en C++.
Programación II. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Arreglos de Objetos en C++. Objetivos Específicos Describir la implementación de arreglos de Objetos.
Más detallesTema: INTÉRPRETE ENSAMPOCO/3
Compiladores. Guía 11 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: INTÉRPRETE ENSAMPOCO/3 Contenido En esta práctica se desarrollará un intérprete de lenguaje ENSAMPOCO/3
Más detallesSin embargo, la realidad es otra: Las memorias grandes son lentas Las memorias rápidas son pequeñas (y caras)
Introducción Memoria Ideal Rápida, grande y barata Sin embargo, la realidad es otra: Las memorias grandes son lentas Las memorias rápidas son pequeñas (y caras) Las tecnologías principales de memoria son
Más detallesDesarrollo avanzado en Android
DesarrolloavanzadoenAndroid MiguelÁngelLozano,BoyánBonev,PabloSuau,JuanManuelSáez {malozano,boyan,pablo,jmsaez}@dccia.ua.es MobileVisionResearchLab Dep.CienciadelaComputacióneInteligenciaArtificial InstitutoUniversitariodeInvestigaciónenInformática
Más detallesProgramando con memoria unificada. Contenidos [15 diapositivas] Aportaciones de la memoria unificada. I. Descripción
Programando con memoria unificada IX Curso de Verano de la UMA Programación de GPUs con CUDA Contenidos [15 diapositivas] Málaga, del 15 al 24 de Julio, 2015 1. Descripción [5] 2. Ejemplos [8] 3. Observaciones
Más detallesIntroducción al Dev-C++
Introducción al Dev-C++ El Entorno de Desarrollo Dev-C++ http://www.bloodshed.net/devcpp.html Incluye todas las operaciones necesarias para crear o modificar un programa. Posee un editor, un compilador
Más detallesSe guardan en archivos con extencion c y los cabezales con extension h
Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767
Más detallesIngeniería Informática. Curso 3º. Sistemas Operativos Examen Final. TEORIA. 4 de Septiembre de 2009
Ingeniería Informática. Curso 3º. Sistemas Operativos Examen Final. TEORIA. 4 de Septiembre de 2009 1. [PROCESOS] a) Considerar el siguiente código: void main() { int j=10; pid_t pid; for (int i=0; i
Más detallesRPC. Llamadas a Procedimientos Remotos (RPC) Paradigmas. Conceptos. Modelo Conceptual
Llamadas a Procedimientos Remotos (RPC) Basado en el libro Internetworking with TCP/IP. Vol III. D. E Comer y D. Stevens Algunas Ilustraciones se tomaron de Practical Unix Programming. K. Robbins y Robbins
Más detallesTema: Sobrecarga de Operadores.
Programación II. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga de Operadores. Objetivos Describir como redefinir (sobrecargar) operadores para que funcionen
Más detallesFUNDAMENTOS DE PROGRAMACIÓN
FUNDAMENTOS DE PROGRAMACIÓN Sabino Miranda Jiménez Universidad Autónoma del Estado de México (UAEM) Apuntadores (1) Un apuntador es una variable que contiene la dirección de una ora variable Generan código
Más detallesTEMA 5: Subprogramas. Programación modular EJERCICIOS DE TRAZAS
TEMA 5: Subprogramas. Programación modular EJERCICIOS DE TRAZAS 1.- Escribir la traza y decir que imprime por pantalla cada uno de los siguientes programas: a.- /* Ejercicio de traza 1 */ int a, b, c;
Más detallesContenidos [62 diapositivas] Málaga, del 15 al 24 de Julio, 2015
Nuevas prestaciones hardware en Kepler IX Curso de verano de la UMA Programación de GPUs con CUDA Contenidos [62 diapositivas] Málaga, del 15 al 24 de Julio, 2015 1. 2. 3. 4. 5. Presentación de la arquitectura
Más detallesEjercicio 1 (2 puntos. Tiempo: 25 minutos)
Fecha de publicación de notas: jueves 18 de Julio. Fecha de revisión: viernes 19 de Julio a las 10:00h. Despacho C-209. Ejercicio 1 (2 puntos. Tiempo: 25 minutos) Se desea desarrollar un programa en C
Más detallesISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA
ARREGLOS EN JAVA I I N T R O D U C C I Ó N En las sesiones anteriores, los datos manejados en los programas han sido datos simples (carácter, entero, reales) En un gran número de problemas es necesario
Más detallesINTRODUCCIÓN A LA PROGRAMACIÓN EN CUDA. Francisco Javier Hernández López
INTRODUCCIÓN A LA PROGRAMACIÓN EN CUDA Francisco Javier Hernández López http://www.cimat.mx/~fcoj23 Guanajuato, Gto. Noviembre de 2012 Introducción a la Programación en CUDA 2 Qué es el Cómputo Paralelo
Más detalles8. Sentencia return y métodos
92 A. García-Beltrán y J.M. Arranz 8. Sentencia return y métodos Objetivos: a) Describir el funcionamiento de la sentencia return b) Interpretar el resultado de una sentencia return en el código fuente
Más detallesPunteros. Definición Un puntero es un dato que contiene una dirección de memoria.
Punteros Definición Un puntero es un dato que contiene una dirección de memoria. NOTA: Existe una dirección especial que se representa por medio de la constante NULL (definida en ) y se emplea
Más detallesRepaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)
Repaso Lenguaje C OBJETOS Variables Constantes Variable: objeto del ambiente cuyo contenido puede cambiar. Constante: objeto cuyo contenido no puede cambiar. Variables: - un nombre que la identifica. Deben
Más detallesEl lenguaje C: Elementos básicos del lenguaje
Facultad de Ciencias Exactas, Ingeniería y Agrimensura Departamento de Sistemas e Informática Escuela de Electrónica Informática II El lenguaje C: Elementos básicos del lenguaje Este material debe utilizarse
Más detallesTEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;
TEMA 5. CONTROL DE FLUJO DEL PROGRAMA 5.1 Sentencias Una sentencia es una expresión seguida de un punto y coma. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; El ; es obligatorio
Más detallesSISTEMAS OPERATIVOS AVANZADOS
SISTEMAS OPERATIVOS AVANZADOS TEMA 3 CLAVE: MIS 204 PROFESOR: M.C. ALEJA DRO GUTIÉRREZ DÍAZ 3. PROCESOS CONCURRENTES 3.1 Conceptos de programación concurrente 3.2 El problema de la sección crítica 3.3
Más detallesMidiendo el tiempo de ejecución de un programa en Windows
Midiendo el tiempo de ejecución de un programa en Windows Mario Medina (mariomedina@udec.cl) 1er. Semestre 2014 1. Introducción Una premisa fundamental del análisis experimental de algoritmos es que es
Más detallesIntroducción al lenguaje C
Introducción al lenguaje C Ampliación de Informática Belarmino Pulido Junquera Índice 1. Presentación del lenguaje C 2. Estructura de un programa en C 3. Tipos de datos escalares 4. Operadores básicos
Más detallesIniciación a la Programación de GPU
Iniciación a la Programación de GPU Domingo Giménez Básicamente a partir del seminario de Juan Fernández Peinador en el curso de Computación Científica en Clusters Algoritmos y Programación Paralela, curso
Más detallesLENGUAJE ANSI C Guía de referencia
Apéndice W2 LENGUAJE ANSI C Guía de referencia C.1. Elementos básicos de un programa El lenguaje C fue desarrollado en Bell laboratories para su uso en investigación y se caracteriza por un gran número
Más detallesTema 5: Diseño modular. Índice. Notas. Programación 2. Curso 2014-2015. Notas. Ejemplo. La herramienta make. 1 Diseño modular.
: Programación 2 Curso 2014-2015 Índice 1 2 3 (1/2) Cuando el programa crece es necesario dividirlo en módulos Cada módulo agrupa una serie de funciones con algo en común El módulo puede reutilizarse en
Más detallesJerarquía de Memoria. Sistema de Memoria. El Cache. Efectividad del Cache. Patrón de Accesos a Memoria Generado por Programas
Sistema de Jerarquía de L L Primaria Secundaria El Efectividad del El mecanismo más utilizado para compensar por la diferencia en velocidades entre el y la memoria primaria (factor a 0 t ípico) Es una
Más detallesFunciones y paso de parámetros
Unidad Didáctica 24 Funciones y paso de parámetros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.0 Índice Consideraciones sobre funciones Estructura de una función
Más detallesProgramación 1 Tema 3. Información, datos, operaciones y expresiones
Programación 1 Tema 3 Información, datos, operaciones y expresiones Índice Datos y tipos de datos Datos primitivos en C++ Expresiones e instrucción de asignación Datos y tipos de datos Problema información
Más detallesSistemas Operativos. Tema 1. Arquitectura Básica de los Computadores
Sistemas Operativos. Tema 1 Arquitectura Básica de los Computadores http://www.ditec.um.es/so Departamento de Ingeniería y Tecnología de Computadores Universidad de Murcia Sistemas Operativos. Tema 1 Arquitectura
Más detallesProgramación Híbrida e Introducción a la Programación de GPUs
Programación Híbrida e Introducción a la Programación de GPUs Fernando Robles Morales Instituto Nacional de Medicina Genómica Enrique Cruz Martínez Universidad Autónoma de la ciudad de México CONTENIDO
Más detallesImpresión por pantalla. 3. Indicar la salida por pantalla (2 puntos-20 minutos)
3. Indicar la salida por pantalla (2 puntos-20 minutos) #include class EUITIelemento; class EUITIpila int num; EUITIelemento *pila[10]; EUITIpila():num(0); bool push(euitielemento *in) if(num>=10)return
Más detalles48 ContactoS 84, (2012)
48 ContactoS 84, 47 55 (2012) Recibido: 31 de enero de 2012. Aceptado: 03 de mayo de 2012. Resumen En los últimos años la tecnología de las unidades de procesamiento de gráficos (GPU-Graphics Processsing
Más detallesParalelización sobre GPU del Algoritmo de Eliminación de Gauss-Jordan para la Solución de Sistemas de Ecuaciones Lineales
Paralelización sobre GPU del Algoritmo de Eliminación de Gauss-Jordan para la Solución de Sistemas de Ecuaciones Lineales Edgar Quispe Ccapacca edgar.edqc@gmail.com Escuela Profesional de Ingeniería de
Más detallesTema 5 Repertorios de instrucciones: Modos de direccionamiento y formato
Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato Bibliografía: William Stallings Organización y Arquitectura de computadores 5ta. Edition. Editorial Pearson Educación.- Objetivos:
Más detallesKepler. Contenidos de la charla. Kepler, Johannes ( ) 1. Presentación de la arquitectura
Kepler RIO 2014 Río Cuarto, 20 de Febrero, 2014 Manuel Ujaldón Martínez Dpto. Arquitectura de Computadores. Univ. Málaga. NVIDIA CUDA Fellow. Contenidos de la charla 1. Presentación de la arquitectura
Más detallesProgramación Estructurada. Sesión 2:El lenguaje de programación C
Programación Estructurada Sesión 2:El lenguaje de programación C Contextualización Una parte importante del lenguaje C son las palabras reservadas, son identificadores con un significado predefinido. Estas
Más detallesTEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN
TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN 4.1 Definiciones y palabras reservadas básicas del C El lenguaje C++ está compuesto por: 32 palabras clave (estándar ANSI), comunes a todos los compiladores de
Más detallesProgramación Orientada a Objetos con Java
Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la
Más detallesEjemplos de optimización para Kepler. 1. Balanceo dinámico de la carga. Contenidos de la charla [18 diapositivas]
Ejemplos de optimización para Kepler Manuel Ujaldón Nvidia CUDA Fellow Dpto. Arquitectura de Computadores Universidad de Málaga Contenidos de la charla [18 diapositivas] 1. Balanceo dinámico de la carga.
Más detallesMEMORIA CACHÉ. Componentes principales de un ordenador
MEMORIA CACHÉ UPCO ICAI Departamento de Electrónica y Automática 1 Componentes principales de un ordenador Procesador Entrada Control Memoria Datapath Salida Elemento a estudiar UPCO ICAI Departamento
Más detallesContenido. Capítulo 1. Introducción a lenguaje C 1
Contenido Capítulo 1. Introducción a lenguaje C 1 Introducción... 2 Qué es un lenguaje de programación?... 2 Tipos de lenguajes de programación... 2 Introducción a lenguaje C... 2 Historia de lenguaje
Más detallesProblemas de Redes de Computadores. Conjunto de problemas 1
Problemas de Redes de Computadores. Ingeniería Técnica en Informática de Gestión Conjunto de problemas 1 Pregunta 1.1: Si configuro mi servidor Web para que no acepte conexiones desde la dirección IP 130.206.1.1,
Más detalles