Guardado en:
| Autores principales: | , , |
|---|---|
| Formato: | Recurso educativo Open Access |
| Lenguaje: | en |
| Publicado: |
2020
|
| Materias: | |
| Acceso en línea: | https://eric.ed.gov/?id=EJ1277067 |
| Etiquetas: |
Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
|
| _version_ | 1867181307115601921 |
|---|---|
| author | Daleiden, Patrick Stefik, Andreas M. Uesbeck, Phillip Merlin |
| author_facet | Daleiden, Patrick Stefik, Andreas M. Uesbeck, Phillip Merlin Daleiden, Patrick Stefik, Andreas M. Uesbeck, Phillip Merlin |
| collection | Education Resources Information Center |
| contents | GPU Programming Productivity in Different Abstraction Paradigms: A Randomized Controlled Trial Comparing CUDA and Thrust Daleiden, Patrick Stefik, Andreas M. Uesbeck, Phillip Merlin College Students Computer Science Education Scientific Concepts Computation Programming Productivity Man Machine Systems Computer Graphics Computer Peripherals Coprocessor architectures in High Performance Computing are prevalent in today's scientific computing clusters and require specialized knowledge for proper utilization. Various alternative paradigms for parallel and offload computation exist, but little is known about the human factors impacts of using the different paradigms. With computer science student participants from the University of Nevada, Las Vegas with no previous exposure to Graphics Processing Unit programming, our study compared NVIDIA CUDA C/C++ as a control group and the Thrust library. The designers of Thrust claim their higher level of abstraction enhances programmer productivity. The trial was conducted on 91 participants and was administered through our computerized testing platform. Although the study was narrowly focused on the basic steps of an offloaded computation problem and was not intended to be a comprehensive evaluation of the superiority of one approach or the other, we found evidence that although Thrust was designed for ease of use, the abstractions tended to be confusing to students and in several cases diminished productivity. Specifically, abstractions in Thrust for (i) memory allocation through a C++ Standard Template Library-style vector library call, (ii) memory transfers between the host and Graphics Processing Unit coprocessor through an overloaded assignment operator, and (iii) execution of an offloaded routine through a generic transform library call instead of a CUDA kernel routine all performed either equal to or worse than CUDA. |
| format | Recurso educativo Open Access |
| id | eric_EJ1277067 |
| institution | ERIC Institute of Education Sciences |
| language | en |
| publishDate | 2020 |
| record_format | eric |
| spellingShingle | GPU Programming Productivity in Different Abstraction Paradigms: A Randomized Controlled Trial Comparing CUDA and Thrust Daleiden, Patrick Stefik, Andreas M. Uesbeck, Phillip Merlin College Students Computer Science Education Scientific Concepts Computation Programming Productivity Man Machine Systems Computer Graphics Computer Peripherals GPU Programming Productivity in Different Abstraction Paradigms: A Randomized Controlled Trial Comparing CUDA and Thrust Daleiden, Patrick Stefik, Andreas M. Uesbeck, Phillip Merlin College Students Computer Science Education Scientific Concepts Computation Programming Productivity Man Machine Systems Computer Graphics Computer Peripherals Coprocessor architectures in High Performance Computing are prevalent in today's scientific computing clusters and require specialized knowledge for proper utilization. Various alternative paradigms for parallel and offload computation exist, but little is known about the human factors impacts of using the different paradigms. With computer science student participants from the University of Nevada, Las Vegas with no previous exposure to Graphics Processing Unit programming, our study compared NVIDIA CUDA C/C++ as a control group and the Thrust library. The designers of Thrust claim their higher level of abstraction enhances programmer productivity. The trial was conducted on 91 participants and was administered through our computerized testing platform. Although the study was narrowly focused on the basic steps of an offloaded computation problem and was not intended to be a comprehensive evaluation of the superiority of one approach or the other, we found evidence that although Thrust was designed for ease of use, the abstractions tended to be confusing to students and in several cases diminished productivity. Specifically, abstractions in Thrust for (i) memory allocation through a C++ Standard Template Library-style vector library call, (ii) memory transfers between the host and Graphics Processing Unit coprocessor through an overloaded assignment operator, and (iii) execution of an offloaded routine through a generic transform library call instead of a CUDA kernel routine all performed either equal to or worse than CUDA. |
| title | GPU Programming Productivity in Different Abstraction Paradigms: A Randomized Controlled Trial Comparing CUDA and Thrust |
| topic | College Students Computer Science Education Scientific Concepts Computation Programming Productivity Man Machine Systems Computer Graphics Computer Peripherals |
| url | https://eric.ed.gov/?id=EJ1277067 |