CUDA expression templates

dc.contributor.authorWiemann, Paul
dc.contributor.authorWenger, Stephan
dc.contributor.authorMagnor, Marcus
dc.contributor.editorBaranoski, Gladimir
dc.contributor.editorSkala, Václav
dc.date.accessioned2014-03-20T11:03:58Z
dc.date.available2014-03-20T11:03:58Z
dc.date.issued2011
dc.description.abstractMany algorithms require vector algebra operations such as the dot product, vector norms or component-wise manipulations. Especially for large-scale vectors, the efficiency of algorithms depends on an efficient implementation of those calculations. The calculation of vector operations benefits from the continually increasing chip level parallelism on graphics hardware. Very efficient basic linear algebra libraries like CUBLAS make use of the parallelism provided by CUDA-enabled GPUs. However, existing libraries are often not intuitively to use and programmers may shy away from working with cumbersome and errorprone interfaces. In this paper we introduce an approach to simplify the usage of parallel graphics hardware for vector calculus. Our approach is based on expression templates that make it possible to obtain the performance of a hand-coded implementation while providing an intuitive and math-like syntax. We use this technique to automatically generate CUDA kernels for various vector calculations. In several performance tests our implementation shows a superior performance compared to CPU-based libraries and comparable results to a GPU-based library.en
dc.format8 s.cs
dc.format.mimetypeapplication/pdf
dc.identifier.citationWSCG '2011: Communication Papers Proceedings: The 19th International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision, p. 185-192.en
dc.identifier.isbn978-80-86943-82-4
dc.identifier.urihttp://wscg.zcu.cz/WSCG2011/!_2011_WSCG-Short_Papers.pdf
dc.identifier.urihttp://hdl.handle.net/11025/10836
dc.language.isoenen
dc.publisherVáclav Skala - UNION Agencycs
dc.relation.ispartofseriesWSCG '2011: Communication Papers Proceedingsen
dc.rights© Václav Skala - UNION Agencycs
dc.rights.accessopenAccessen
dc.subjectgrafické procesorycs
dc.subjectparalelní výpočtycs
dc.subjectCUDAcs
dc.subjectlineární algebracs
dc.subject.translatedgraphic processing unitsen
dc.subject.translatedparallel computingen
dc.subject.translatedCUDAen
dc.subject.translatedlinear algebraen
dc.titleCUDA expression templatesen
dc.typekonferenční příspěvekcs
dc.typeconferenceObjecten
dc.type.driverinfo:eu-repo/semantics/conferenceObjecten
dc.type.driverinfo:eu-repo/semantics/publishedVersionen
dc.type.statusPeer-revieweden
dc.type.versionpublishedVersionen

Files

Original bundle
Showing 1 - 1 out of 1 results
No Thumbnail Available
Name:
Wiemann.pdf
Size:
220.95 KB
Format:
Adobe Portable Document Format
Description:
Plný text
License bundle
Showing 1 - 1 out of 1 results
No Thumbnail Available
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed upon to submission
Description: