![]() They often have to be performed repeatedly across the target image, which can demand significant computing resources when processing large images with large windows. Sliding Window Operations (SWOs) are widely used in image processing applications. Experiments using nine CUDA benchmarks show that the simplicity hiCUDA} provides comes at no expense to performance. Our compiler is able to support real-world applications that span multiple procedures and use dynamically allocated arrays. In this paper, we describe the hiCUDA} directives as well as the design and implementation of a prototype compiler that translates a hiCUDA} program to a CUDA program. It allows programmers to perform these tedious tasks in a simpler manner and directly to the sequential code, thus speeding up the porting process. We have designed hiCUDA}, a high-level directive-based language for CUDA programming. Practical experience shows that the programmer needs to make significant code changes, often tedious and error-prone, before getting an optimized program. In particular, CUDA places on the programmer the burden of packaging GPU code in separate functions, of explicitly managing data transfer between the host and GPU memories, and of manually optimizing the utilization of the GPU memory. ![]() ![]() Although the Compute Unified Device Architecture (CUDA) is a simple C-like interface for programming NVIDIA GPUs, porting applications to CUDA remains a challenge to average programmers. Graphics Processing Units (GPUs) have become a competitive accelerator for applications outside the graphics domain, mainly driven by the improvements in GPU programmability. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |