Bibliotecas Flashcards
(5 cards)
1
Q
Para qué?
A
- Problemas muy repetidos, es interesante hacer soluciones estándares (Scan, reduce, etc)
- Programación CUDA es compleja, requiere gran curva de aprendizaje
- Implementaciones relativamente eficientes y genéricas que puedan ser usadas por programadores con poca experiencia
2
Q
Building blocks
A
Funciones sobre vectores o conjuntos
* Copy
* Foreach
* Transform
* Reduce
* Scan
* Sort
* Merge
* Reorder
* Search
3
Q
Thrust
A
- Abstrae el manejo de memoria utilizando wrappers de punteros (device, host) y contenedores (vector)
- Al usar contenedores la reserva y liberación se hace automática (aunque es más eficiente liberar manual)
- No se especifica configuración de ejecución
4
Q
CUB
A
- Ligeramente más bajo nivel que thrust
- Manejo de memoria idéntico al de CUDA (cudaMalloc, CudaFree, punteros) y corre por el programador
- Implementaciones más eficientes de los principales algoritmos (merge, sort, scan, reduce, etc)
5
Q
ModernGPU
A
- Pensada para uso educacional
- Prioriza la claridad y el reuse por sobre la eficiencia
- No ejecuta con valores grandes
- No es utilizada en la práctica