A GPU-supported High-Level Programming Language for Image Processing

A GPU-supported High-Level Programming Language for Image Processing
复制标题

一种支持 GPU 的图像处理高级编程语言

DOI:
10.1109/sitis.2011.66
复制
发表时间:
2011
期刊:
Proc. of The 7th Int' l Conf. on Signal-Image Technology and Internet-Based Systems
影响因子:
--
通讯作者:
Hiroshi MATSUO
Hiroshi MATSUO
中科院分区:
--
文献类型:
--
作者:
Ami ONO;Katsuhiko KONDO;Takafumi INABA;Tomoaki TSUMURA;Hiroshi MATSUO

文献摘要

相似文献

随着通用计算机和移动的设备的发展,现在需要实时图像/视频处理应用。然而,程序员必须处理数字图像,并了解分辨率和像素。这使得图像处理编程不直观。另一方面,图像/视频处理通常具有数据并行性,并且期望在GPU上获得性能增益。CUDA是为GPU开发的,但使用CUDA高效地编写图像/视频处理程序需要许多CUDA特定的操作。它们不是图像/视频处理的本质,并困扰着程序员。我们提出了一个高层次的视频处理库RaVioli来解决这个问题。RaVioli允许程序员不知道分辨率,但对编程有一些限制。因此,本文提出了一种更直观的编程语言的图像/视频处理和翻译的语言。通过使用翻译器,程序员可以从GPU中受益,而无需了解GPU架构和CUDA API,并实现性能提升。
Real-time image/video processing applications are now in demand with the advance of general purpose computers and mobile devices. However, programmers have to handle the digital images, and be aware of the resolutions and pixels. This makes image processing programming unintuitive. On the other hand, image/video processing typically has data parallelisms, and the performance gains are expected on GPUs. CUDA is developed for GPUs but writing the image/video processing programs efficiently with CUDA needs many CUDA-specific operations. They are not the essence of image/video processing and bother programmers. We have proposed a high-level video processing library RaVioli for solving this problem. RaVioli allows programmers to be unaware of resolutions, but there are some restrictions for the programming. Hence, this paper proposes a more intuitive programming language for image/video processing and a translator for the language. By using the translator, programmers can benefit from GPUs without the knowledge about both the GPU architecture and the CUDA APIs, and achieve performance gains.