ATTENTION: The works hosted here are being migrated to a new repository that will consolidate resources, improve discoverability, and better show UTA's research impact on the global community. We will update authors as the migration progresses. Please see MavMatrix for more information.
Show simple item record
dc.contributor.author | Kondabagilu Rajanna, Kishen Das | en_US |
dc.date.accessioned | 2011-07-14T20:54:14Z | |
dc.date.available | 2011-07-14T20:54:14Z | |
dc.date.issued | 2011-07-14 | |
dc.date.submitted | January 2011 | en_US |
dc.identifier.other | DISS-11067 | en_US |
dc.identifier.uri | http://hdl.handle.net/10106/5853 | |
dc.description.abstract | A decade ago, graphics processing units have been used specifically for high-speed graphics. Of late, they are becoming more popular as general purpose parallel processors. With the release of CUDA, ATI Stream and OpenCL, programmers can now split their program execution between CPU and GPU, whenever appropriate, resulting in huge performance gain. The cost of GPU is declining and also their performance is improving faster than CPUs. Although enormous performance gains can be achieved by parallelizing the code, identifying the right candidate for GPU execution is very tricky. Coding in OpenCL is a difficult task because of the memory management complexities of the GPU. We are developing Firepile, a library and a compiler for GPU programming in Scala. Firepile makes it easier to port parallelizable code to GPU. As part of the library, we have been working on parallel collections that abstract the memory management and code complexities from the end-user. Many of basic collection frameworks like Array, Map, and Matrix have been provided as part of this library. Functions like map, reduce, scan, sort, find, and filter have been parallelized and implemented in the library that run on the GPU. Our experiments show that the library achieves performance similar to OpenCL implementation with much shorter, easier to understand code. Many of the inner details of the GPU architecture are hidden within the library. So, programmers need not understand the GPU architecture to achieve high performance. Scala is a natural blend of functional paradigm and object orientation and is interoperable with Java. Hence it has been selected for the Firepile compiler over Java. | en_US |
dc.description.sponsorship | Nystrom, Nathaniel | en_US |
dc.language.iso | en | en_US |
dc.publisher | Computer Science & Engineering | en_US |
dc.title | GPU Parallel Collections For Scala | en_US |
dc.type | M.S. | en_US |
dc.contributor.committeeChair | Nystrom, Nathaniel | en_US |
dc.degree.department | Computer Science & Engineering | en_US |
dc.degree.discipline | Computer Science & Engineering | en_US |
dc.degree.grantor | University of Texas at Arlington | en_US |
dc.degree.level | masters | en_US |
dc.degree.name | M.S. | en_US |
Files in this item
- Name:
- KondabagiluRajanna_uta_2502M_1 ...
- Size:
- 2.204Mb
- Format:
- PDF
This item appears in the following Collection(s)
Show simple item record