User-friendly interface for GPGPU programming

Compute Unified Device Architecture (CUDA) is an attractive alternative for our ever growing need for high performance computing. However to extract the full potential of CUDA one should, at the least be familiar with the programming model and should have a fair understanding of the memory and the cache architecture. Yet most of the domain experts from domains that warrant high performance computing are ill trained to develop efficient CUDA programs that would extract the necessary performance. In this paper we argue that this gap can be bridged by exposing the CUDA architecture as an API for manipulating matrices. We observe that many of the high demanding scientific computations can be expressed as matrix manipulations, where the need for high performance stems for the size of the matrix. We present a Software as a Service (SaaS) solution to bridge this gap where a domain specialist uploads the data as matrices and specify the operations as an equation involving the uploaded matrices via web GUI. Then the back end will process the request using CUDA and return the results via the GUI. The CUDA code for handling matrix operations are highly optimized and the domain specialist can simply use them without knowing the underlying intricate details.