
В статье рассматривается система программирования ГПУ NUDA, созданная на основе расширяемого языка Nemerle. Она даёт программисту контроль над процессом переноса программы на ГПУ, переложив механическую работу на компилятор. Макросы и аннотации облегчают перенос программ на ГПУ и повышают их производительность без ущерба для размера и читаемости исходного кода. На ряде архитектур ГПУ и задач удалось добиться повышения производительности в несколько раз по сравнению с исходным вариантом. 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. Андрей Викторович Адинец, кандидат физико-математических наук, мл.н.с, МОТЭФ ОИЯИ, г. Дубна, мл.н.с, НИВЦ МГУ имени М.В. Ломоносова, adinetz@gmail.com. НИВЦ МГУ имени М.В. Ломоносова
метапрограммирование, параллельное программирование, Parallel programming, GPGPU, GPU, УДК 004.422.837, Extensible programming, УДК 004.432.2, языки программирования, расширяемое программирование, programming languages, metaprogramming, графические процессоры, ГПУ, УДК 004.435
метапрограммирование, параллельное программирование, Parallel programming, GPGPU, GPU, УДК 004.422.837, Extensible programming, УДК 004.432.2, языки программирования, расширяемое программирование, programming languages, metaprogramming, графические процессоры, ГПУ, УДК 004.435
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
