Linking Scheme code to data-parallel CUDA-C code
dc.contributor.advisor | Dutchyn, Christopher | en_US |
dc.contributor.committeeMember | Tse, John S. | en_US |
dc.contributor.committeeMember | Jamali, Nadeem | en_US |
dc.contributor.committeeMember | Roy, Chanchal | en_US |
dc.creator | Chowdhury, AKM Rasheduzzamn | en_US |
dc.date.accessioned | 2014-03-01T12:00:11Z | |
dc.date.available | 2014-03-01T12:00:11Z | |
dc.date.created | 2013-12 | en_US |
dc.date.issued | 2014-02-28 | en_US |
dc.date.submitted | December 2013 | en_US |
dc.description.abstract | In Compute Unified Device Architecture (CUDA), programmers must manage memory operations, synchronization, and utility functions of Central Processing Unit programs that control and issue data-parallel general purpose programs running on a Graphics Processing Unit (GPU). NVIDIA Corporation developed the CUDA framework to enable and develop data-parallel programs for GPUs to accelerate scientific and engineering applications by providing a language extension of C called CUDA-C. A foreign-function interface comprised of Scheme and CUDA-C constructs extends the Gambit Scheme compiler and enables linking of Scheme and data-parallel CUDA-C code to support high-performance parallel computation with reasonably low overhead in runtime. We provide six test cases — implemented both in Scheme and CUDA-C — in order to evaluate performance of our implementation in Gambit and to show 0–35% overhead in the usual case. Our work enables Scheme programmers to develop expressive programs that control and issue data-parallel programs running on GPUs, while also reducing hands-on memory management. | en_US |
dc.identifier.uri | http://hdl.handle.net/10388/ETD-2013-12-1416 | en_US |
dc.language.iso | eng | en_US |
dc.subject | Data parallelism | en_US |
dc.subject | GPGPU | en_US |
dc.subject | Scheme | en_US |
dc.subject | Skeletons | en_US |
dc.subject | CUDA | en_US |
dc.subject | Linking | en_US |
dc.title | Linking Scheme code to data-parallel CUDA-C code | en_US |
dc.type.genre | Thesis | en_US |
dc.type.material | text | en_US |
thesis.degree.department | Computer Science | en_US |
thesis.degree.discipline | Computer Science | en_US |
thesis.degree.grantor | University of Saskatchewan | en_US |
thesis.degree.level | Masters | en_US |
thesis.degree.name | Master of Science (M.Sc.) | en_US |