Parcial Flashcards

1
Q

Paralelismo

A

Dos tareas que se ejecutan independientes una de la otra. No hay comunicación ni conocimiento una de la otra.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

GPU

A

Poco poder por core, son muchos
Generan mucho calor
Memoria en muchos bloques que se conecta a segmentos del core, sin RAM (en código)
Nacen para visualización 3d
Eran fijos y sin poder actualizarse
Codificar datos en imágenes que se traducían a números

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Lo que surge como forma de programar la GPU

A

Shaders

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

CUDA

A

Lenguaje unificado para programar en la GPU creado por Nvidia

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Gráficos

A

Parte de la ciencia de computación utilizada para generar y manipular imágenes. No sólo para generación en tiempo real.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Modelado

A

Abstracción y representación de opbjetos en coordenadas 3D. Da sentido a los puntos en el espacio

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Diferencia entre engine y sistema de renderizado

A

El engine es tiempo real, el sistema de renderizado no

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Lóbulo occipital

A

Se encarga del procesamiento de las imágenes que se reciben en el sistema visual

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Donde se proyecta la imagen que vemos finalmente

A

Retina

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

LLeva la imagen de la retina al lóbulo occipital

A

Nervio óptico

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Cristalino

A

Se deforma para enfocar en objetos más cercanos o más lejanos al observador

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Espectro visible

A

de 400 a 700 nM (violeta a rojo)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Conos

A

No ven en baja intensidad de luz, HD y colores
Hay menos conos que bastones, pero son más grandes y se concentran cerca del centro

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Bastones

A

Baja luz, sin colores y si hay demasiado brillo, no funcionan

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Función

A

Mapeo de datos recibiendo un valor de entrada y uno de salida

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Norma de un vector

A

Magnitud de un vector, si es 1, es un vector unitario

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Producto punto

A

Qué tan perpendiculares son dos vectores entre sí. Si es perpendicular, da 0

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Bases ortogonales

A

Tres vectores que sirven como sistema de referencia (ejes)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Línea

A

Vector que va desde un punto y en una dirección, haciéndolo crecer o decrecer y hacer negativo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Plano

A

Dos puntos y una normal que indica hacia qué lado apunta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Sistema coordenado euclidiano

A

El sistema de ejes (x, y, z)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Producto cruz

A

multiplicación entre dos vectores que da un resultado diferente dependiendo del orden (índice por medio da pulgar)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Rotaciones de Euler

A

Naturales para el humano, se gira en cada eje. La computadora prefiere quaterniones

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Candado de Gimbal

A

Cuando se pierde un grado de libertad al rotar un eje y se pierde uno dentro de otro

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Matriz ortogonal
Matriz cuaya inversa es igual a su transpuesta
26
Marco de referencia
El origen con respecto al cual se ve o mide algo en el espacio
27
Coordenadas homogéneas
Cuarta dimensión en las operaciones, se aumenta una dimensión para hacer operaciones en conjunto y posteriormente regresar al espacio original, que es una proyección de lo que se realiza.
28
Transformaciones ortogonales
Todos los ejes son perpendiculares entre sí, se preservan ángulos.
29
Operaciones ortonormales
Preservan ángulos y distancias. Ejemplo: rotaciones
30
Perspectiva
Los objetos se hacen pequeños al añejarse del observador
31
Pipeline base
Coordenadas del mundo-> coordenadas de la cámara-> coordenadas del plano de proyección-> coordenadas del dispositivo
32
Pipeline extra
Aplicación (preprocesamiento)-> geometría-> rasterizado
33
Versión alternativa del pipeline
Model y view Transform-> vertex shading-> Projection-> clipping-> Screen Mapping
34
Clipping space
Espacio siempre visible por la cámara. Frustrum. Todas las operaciones de visualización son sólo dentro de este espacio, las físicas se realizan sean visibles o no
35
Plano de proyección
Espacio no real frente a la cámara sobre el cual trazamos lo visto por la cámara dentro del frustrum.
36
Formas de modelar
Polígonos Parches bi-cúbicos Splines Cuerpos sólidos Técnicas de subdivisión Representaciones implícitas
37
Polígono
Se genera al hacer relaciones entre vértices y aristas
38
Scan conversion
Va línea a línea escanenando y decidiendo qué pixeles hay que rellenar como superficie dentro del triángulo
39
Representaciones implícitas
Representar un objeto sin definir triángulos, sino que por medio de una ecuación, la primitiva es la misma figura
40
Z-buffer
Guarda qué pixeles se dibujan por encima de otros para no sobreescribir pixeles que no son visibles
41
Iluminación
Altamente complejo de modelar, ayuda a comprender el volumen de un objeto. Se tienen que aproximar y simplificar.
42
Scattering
Cuando la luz entra, se dispersa, modifica y refleja dependiendo del material
43
Aproximaciones de la luz
Eliminar dispersión Eliminar reflexiones complejas Modelar luces como puntos Sólo usar el espacio RGB
44
Aproximado de sombras
Usar la distancia con respecto al origen de la luz Tomar en cuenta que decrece la luz Aproximar linealmente
45
Modelo de iluminación
Especular, difuso y ambiente
46
Luz especular
La luz que es reflejada directamente al observador
47
Luz difusa
Luz que de una fuente se dispersa por la superficie del objeto
48
Luz ambiental
Lus producida por el entorno (dispersión de otos objetos)
49
Phong
Mode lde iluminación con ambiente, difusa y especular. Ambiente da color (valor de luz por color del objeto), difusa da volumen (producto punto entre normal y rayo de luz) y especular da reflejo y brillo. No es realista, pero es fácil de implementar
50
Lambert
Modelo de iluminación sólo con luz difusa, no depende de la perspectiva y todo se ve suavizado
51
Half-lambert:
Modelo de iluminación con diffuse wrap, quitando valores de oscuridad para que no haya negro absoluto y nunca tener objetos no visibles y se puedan ver desde cualquier lugar
52
Banded-lightning
Modelo de iluminación en escalones
53
Mineart-lightning
Moon shader, bueno para objetos muy reflejantes
54
Primera generación de GPU
<1987 Wireframe, fragmentos sobreescritos y sin iluminación, sombreado ni z-buffer
55
Segunda generación de GPU
1987-1992 Imágenes de sólidos sombreados Imluminación y sombras, Rastering con profundidad y mezcla de colores
56
Tercera generación de GPU
1992-2000 Imágenes con texturas Mapeo de texturas y fragmentos con antialiasing
57
Cuarta generación de GPU
2000> Posibilidad de programar la GPU en región de vértices o fragmentos Implementa la línea de ensamblado gráfico
58
Quinta generación de GPU
Procesamieinto en paralelo con CUDA como herramienta para programar la GPU sin necesitar de shaders
59
Antialiasing
Evitar que los bordes sean salteados. Renderiza varias veces los bordes y luego promedia los resultados
60
Texturas procedurales:
Generadas por algoritmos y no por una imagen
61
Framebuffer simple
Hardware gráfico que calcula vértices y color de los pixeles
62
NVIDIA
Empresa especializada en GPUs que nace en 1993, lanzando en 1999 los primeros productos (GeForce 256 (NV19))
63
Texel
definición de las texturas que se usan para rellenar un triángulo con respecto a la textura
64
GPU al procesar
Acceso restringido a la memoria, sólo accede y liberta antes y después de cálculos, nunca durante No tiene acceso al disco
65
GPU programable
Las GPUs mejoran x2 con cada generación, las CPU sólo x1.5
66
Acelerar aplicaciones de CUDA
Librerías Directivas OpenACC Lenguajes de programación
67
Visual profiler
Encojntrar cuellos de botella
68
GPU Direct
Conectar dos GPUs y trabajan como una
69
Thrust
Librería de CUDA para manejo de datos con ordenamiento, sumas y multiplicaciones de matrices
70
Kernel
Encapsulamiento de código que se ejecuta dentro de cada núclo de GPU en cada ciclo asignado. Cada thread toma un copia del kernel para ejecutarlo de manera paralela se declaran con __global__
71
Cores
Organizados en exponentes de 2 Generan un thread con un copia del kernel cada vez que se le llame al core
72
Thread
Ejecución del kernel en la GPU, cada uno con su ciclo de vida, instrucciones, etc. Hasta que se ejecuten todos, mueren los threads, aunque ya hayan terminado de ejecutarse ellos.
73
Host vs Device
Host son las variables que se crean y existen en la CPU, Device son las variables que existen y se ejecutan en la GPU
74
<<>>
bloques, threads Se pueden usar dim3(x,y) que dan dimensiones de los bloques y los threads, cuántos bloques por dimensón de cuántos threads en cada dirección
75
Varibles que utilizar en CUDA
Sólo primitivos, que son valores básicos y evitar arreglos (int, float, char, uint, uchar, long)
76
Mínimo de threads en cada bloque para poder optimizar en CUDA
Mínimo 128 threads en cada bloque (siempre mantener valores exponentes de 2)
77
CudaSetDevice
establece la GPU en que se va a ejecutar (índice 0 si sólo hay una)
78
cudaMalloc:
reserva memoria en device para recibir los datos con los que se van a ejecutar las operaciones
79
cudaMemcpy:
copia la memoria de un origen a un destino y la direccipon en que se realiza (host a device, device a host, etc)
80
addKernel:
crea un kernel con la cantidad de bloques y de thrads por bloque
81
threadIdx.x:
Da el índice del thread que se está ejecutando en una dimensión
82
cudaGetLastError
Obtener el último error en GPU (porque no tiene depurador) Para saber si hubo errores al ajecutar, nos enteramos al final
83
cudaDeviceSynchronize:
espera al final de la ejecución del kernel y regresa errores de resulññtados, no de ejecucion
84
cudaFree:
Libera la memoria del device después de terminar las operacioens