Programming graphics processors with extensible languages
Vestnik Ûžno-Uralʹskogo gosudarstvennogo universiteta. Seriâ, Matematičeskoe modelirovanie i programmirovanie, no. 9 (2011), pp. 52-63 Cet article a éte moissonné depuis la source Math-Net.Ru

Voir la notice de l'article

This paper presents a GPU programming system, NUDA, built on top of an extensilbe language, Nemerle. NUDA provides control over porting application to GPU, while making the compiler do the mechanical work. Macros and annotations simplify the porting process, and increase efficiency without sacrificing code size and readability. On a number of problems and architectures, use of NUDA increased performance several times compared to initial implementation.
Keywords: programming languages, Parallel programming, Extensible programming, metaprogramming, GPU, GPGPU.
@article{VYURU_2011_9_a5,
     author = {A. V. Adinetz},
     title = {Programming graphics processors with extensible languages},
     journal = {Vestnik \^U\v{z}no-Uralʹskogo gosudarstvennogo universiteta. Seri\^a, Matemati\v{c}eskoe modelirovanie i programmirovanie},
     pages = {52--63},
     year = {2011},
     number = {9},
     language = {ru},
     url = {http://geodesic.mathdoc.fr/item/VYURU_2011_9_a5/}
}
TY  - JOUR
AU  - A. V. Adinetz
TI  - Programming graphics processors with extensible languages
JO  - Vestnik Ûžno-Uralʹskogo gosudarstvennogo universiteta. Seriâ, Matematičeskoe modelirovanie i programmirovanie
PY  - 2011
SP  - 52
EP  - 63
IS  - 9
UR  - http://geodesic.mathdoc.fr/item/VYURU_2011_9_a5/
LA  - ru
ID  - VYURU_2011_9_a5
ER  - 
%0 Journal Article
%A A. V. Adinetz
%T Programming graphics processors with extensible languages
%J Vestnik Ûžno-Uralʹskogo gosudarstvennogo universiteta. Seriâ, Matematičeskoe modelirovanie i programmirovanie
%D 2011
%P 52-63
%N 9
%U http://geodesic.mathdoc.fr/item/VYURU_2011_9_a5/
%G ru
%F VYURU_2011_9_a5
A. V. Adinetz. Programming graphics processors with extensible languages. Vestnik Ûžno-Uralʹskogo gosudarstvennogo universiteta. Seriâ, Matematičeskoe modelirovanie i programmirovanie, no. 9 (2011), pp. 52-63. http://geodesic.mathdoc.fr/item/VYURU_2011_9_a5/

[1] TOP 500 List, , November 2010 (data obrascheniya 13.02.2011) http://top500.org/list/2010/11/100

[2] NVidia CUDA C Programming Guide, Version 3.2, NVidia Corporation

[3] The OpenCL Specification, version 1.1, document revision 33, , Khronos Group (data obrascheniya 13.02.2011) http://www.khronos.org/registry/cl/specs/opencl-1.1.pdf

[4] PGI Accelerator Programming Model for Fortran C, version 1.3, , The Portland Group (data obrascheniya 13.02.2011) http://www.pgroup.com/lit/whitepapers/pgi_accel_prog_model_1.3.pdf

[5] CAPS HMPP Workbench User Guide, version 2.3.1, Caps Enterprise

[6] G. V. Wilson, “Extensible Programming for the 21st Century”, ACM Queue, 2, January (2005), 48–57 | DOI

[7] P. Seibel, Practical Common Lisp, Apress, 2005

[8] Nemerle Homepage (data obrascheniya 13.02.2011) http://nemerle.org/

[9] R. Cox, T. Bergan, A. T. Clements, F. Kaashoek, E. Kohler, “Xoc, an extension-oriented compiler for systems programming”, Proceedings of the 13th international conference on Architectural support for programming languages and operating systems, ASPLOS XIII (Washington, 2008), 244–254

[10] A. V. Adinetz, P. Shvets, V. Sitchikhin (data obrascheniya 13.02.2011) http://nuda.sf.net/