cuda
![]() |
![]() |
![]() |
Título del Test:![]() cuda Descripción: test cuda |




Comentarios |
---|
NO HAY REGISTROS |
El kernel SumaVector se usa para procesar un vector de n=200 componentes. Considerando warps de 16 hilos, si se lanza un bloque de 256 hilos, ¿cuál es el % de waps que presentan divergencia? __global__ void SumaVector(float* A, float* B, float* C, int n) { int i = blockDim.x*blockIdx.x + threadIdx.x; if (i<n) C[i] = A[i] + B[i]; } Seleccione una: 78,25%. 12,5%. 6,25%. 4%. El kernel SumaVector se usa para procesar un vector de n=200 componentes. Considerando warps de 32 hilos, si se lanza un bloque de 256 hilos, ¿cuál es el % de waps que presentan divergencia? __global__ void SumaVector(float* A, float* B, float* C, int n) { int i = blockDim.x*blockIdx.x + threadIdx.x; if (i<n) C[i] = A[i] + B[i]; } Seleccione una: 78,125%. 28%. 12,5%. no quiero contestar esta pregunta. 0%. El kernel SumaVector se usa para procesar un vector de n=128 componentes. Considerando warps de 32 hilos, si se lanza un bloque de 256 hilos, ¿cuál es el % de waps que presentan divergencia? __global__ void SumaVector(float* A, float* B, float* C, int n) { int i = blockDim.x*blockIdx.x + threadIdx.x; if (i<n) C[i] = A[i] + B[i]; } Seleccione una: 78,125%. 28%. 12,5%. no quiero contestar esta pregunta. 0%. Para el cálculo de la multiplicación de matrices (m x m), un hilo obtiene una submatriz (n x n). Si se crean bloques de (p x p) hilos, ¿cuántos bloques de hilos se deben crear como mínimo? Seleccione una: (m^2)/((p^2)(n^2)). np/m. (n^2)/((p^2)(m^2)). (m^2)(n^2)/(p^2). Para el cálculo de la multiplicación de matrices (p x p), un hilo obtiene una submatriz (m x m). Si se crean bloques de (n x n) hilos, ¿cuántos bloques de hilos se deben crear como mínimo? Seleccione una: No quiero contestar la pregunta. mt/n. (p^2)/((m^2)(n^2)). (m^2)/((n^2)(p^2)). (m^2)/((n^2)(p^2)). Para sumar dos vectores de 12000 elementos, se consideran bloques de 256 hilos, tal que cada hilo calcula un elemento del vector resultado. ¿Cuál es el número total de hilos creados si se crea el número mínimo de bloques de hilos necesarios?. Para sumar dos vetores de 8000 elementos, se consideran bloques de 1024 threads, tal que cada thread calcula un elemento. ¿Cuál es el número total de threads si se lanza el número mínimo de bloques necesarios? Selecciones una: 8196. 8192. 8200. No quiero contestar la pregunta. 8000. Para realizar la multiplicación de dos matrices A y B de 16384 x 16384 elementos, se realiza la llamada al kernel de la siguiente forma: Multi <<< (Block, Block), (2,2) >>> (A, B, C) Todos los hilos calculan el mismo número de componentes de la matriz resultado C. ¿Cuál debe ser el valor de Block para que cada hilo calcule 4 componentes? Respuesta: En programación con CUDA: Seleccione una: Las sentencias "if-then-else" provocan siempre problemas de divergencia de control. La divergencia de control es un problema exclusivo de las sentencias "if-then-else". Las sentencias condicionales no siempre generan problemas de divergencia de control. Las sentencias "switch" no pueden generar problemas de divergencia de control. Cuál es la llamada correcta a cudaMemcpy() para copiar 1000 bytes desde el vector h_A en el host al vector d_A en el dispositivo? Seleccione una: cudaMemcpy(1000, d_A, h_A, cudaMemcpyHostToDevice). cudaMemcpy(h_A, d_A, 1000, cudaMemcpyHostToDevice). cudaMemcpy(1000, h_A, d_A, cudaMemcpyHostToDevice). cudaMemcpy(d_A, h_A, 1000, cudaMemcpyHostToDevice). Para procesar un vector de 512 componentes, con la siguiente llamada F<<< (6,6,1), (7,6,1) >>> (v) se están creando: Seleccione una: 6 bloques de hilos. 42 hilos por bloque. 182 hilos en total. 36 hilos por bloque. Para procesar un vector de 4096 componentes, con la siguiente llamada F<<<(16,2,2),(8,2)>>>(v) se están creando: Seleccione una: 16 bloques de hilos. 128 hilos por bloque. No quiero contestar esta pregunta. 1024 hilos en total. 64 hilos por bloque. Se tiene una GPU con las siguientes características CUDA: 2048 hilos como máximo por bloque, 8 hilos por warp y 16384 registros por multiprocesador. Se tiene un kernel para realizar una determinada operación sobre los elementos de una matriz, y se realiza la siguiente llamada a dicho kernel: Opt <<< (64,64), (threadx, thready) >>> (A) ¿Cuál de las siguientes definiciones del bloque de hilos (threadx, thready) es incorrecta? Seleccione una: (8,256). (4,288). (8,512). (8,128). Se tiene una GPU con las siguientes características CUDA: 8192 hilos máximo por bloque, 16 hilos por warp y 32768 registros por multiprocesador. Se tiene un kernel para realizar una determinada operación. Después de compilar, sabemos que dicho kernel necesita 8 registros. La llamada a ese kernel crea un único bloque de hilos ¿Cuál de las siguientes definiciones del bloque de hilos no es correcta? Seleccione una: (16,128). (512,2). (1024,8). (64,64). En la suma de dos vectores, un thread calcula dos elementos consecutivos de la suma. Si la variable i es el índice del primer elemento de la pareja, ¿cuál debe ser la expresión para referenciar al primer elemento? Seleccione una: No quiero contestar esta pregunta. i = blockIdx.x * blockDim.x + threadIdx.x + 2. i = blockIdx.x * threadIdx.x * 2. i = blockIdx.x * blockDim.x * 2 + threadIdx.x. i = (blockIdx.x * blockDim.x + threadIdx.x) * 2. En la suma de dos vectores, un thread calcula un grupo de quince elementos consecutivos del vector resultado. Si la variable i es el índice del primer elemento del grupo, ¿cuál debe ser la expresión para referenciar al primer elemento? Seleccione una: blockIdx.x * threadIdx.x * 15. blockIdx.x * blockDim.x + threadIdx.x) * 15. No quiero contestar esta pregunta. blockIdx.x * blockDim.x + threadIdx.x. blockIdx.x * blockDim.x * 15 + threadIdx.x. En la suma de dos vectores, un thread calcula un grupo de diez elementos consecutivos del vector resultado. Si la variable i es el índice del primer elemento del grupo, ¿cuál debe ser la expresión para referenciar al primer elemento? Seleccione una: No quiero contestar la pregunta. blockIdx.x * blockDim.x * 10 + threadIdx.x. blockIdx.x * threadIdx.x * 10. blockIdx.x * blockDim.x + threadIdx.x. (blockIdx.x * blockDim.x + threadIdx.x) * 10. CUDA define: Seleccione una: Sólo un modelo de programación. Sólo un modelo de gestión de memoria. Sólo un modelo de arquitectura. No quiero contestar esta pregunta. Un modelo de arquitectura, de programación y de gestión de memoria. Respecto al sistema de memoria de la arquitectura CUDA: Seleccione una: Registros son on-chip, memoria global es off-chip, memoria compartida es off-chip. Registros son on-chip, memoria de texturas es off-chip, memoria global es on-chip. Registros son on-chip, memoria global es off-chip, memoria compartida es on-chip. No quiero contestar esta pregunta. Registros son on-chip, memoria global es on-chip, memoria compartida es on-chip. ¿Qué fabricante de tarjetas gráficas da soporte para CUDA en sus productos?: Seleccione una: Nvidia. ATI. AMD. PNY. En una ejecución de un programa CUDA con un único kernel: Seleccione una: No quiero contestar esta pregunta. Todos los hilos de un bloque ejecutan las mismas instrucciones. Todos los hilos en un multiprocesador ejecutan las mismas instrucciones. Todos los hilos de un warp ejecutan las mismas instrucciones. Todos los hilos de un bloque no necesariamente ejecutan las mismas instrucciones. Con la instrucción __shared int A[10][10]: Seleccione una: Se reserva memoria para 100 enteros en la memoria de vídeo. No quiero contestar esta pregunta. Cada hilo de un bloque de hilos reserva memoria para 100 enteros en memoria compartida. Se reserva memoria compartida para 100 enteros para cada bloque de hilos. Cada warp reserva memoria para 100 enteros en memoria compartida. Con la instrucción _shared int A[10]: Selecciones una: Se reserva memoria compartida para un vector de 10 enteros para cada bloque de hilos. No quiero contestar esta pregunta. Cada warp reserva memoria para un vector de 10 enteros en memoria compartida. Se reserva memoria para un vector de 10 enteros en la memoria de vídeo. Cada hilo de un bloque de hilos reserva memoria para un vector de 10 enteros en memoria compartida. Para procesar un vector de n componentes (n>=4096), cada hilo se ocupa de 16 componentes. Si se crean bloques de 32 hilos, ¿cuál es el número mínimo de bloques de hilos que se deben crear? Seleccione una: 16n/32. No quiero contestar esta pregunta. n/32. n/32/16. 32n/16. Para procesar un vector de n componentes (n>=4096), cada hilo se ocupa de 8 componentes. Si se crean bloques de 32 hilos, ¿cuál es el número mínimo de bloques de hilos que se deben crear? Seleccione una: 8n/32. No quiero contestar esta pregunta. n/32. 32n/8. n/32/8. Dos threads de un warp: Seleccione una: Ejecutan el mismo kernel sobre un conjunto diferente de datos. Ejecutan el mismo kernel sobre el mismo conjunto de datos. Ejecutan distinto kernel sobre diferentes conjuntos de datos. Ejecutan distinto kernel sobre el mismo conjunto de datos. No quiero contestar esta pregunta. CUDA es más eficaz sobre arquitecturas: Seleccione una: MISD. MIMD. SIMD. SISD. |