Mint Programming Model



Mint is a domain-specific programming model and translator that generates highly optimized CUDA C from annotated C source. Using just 5 different Mint pragmas, non expert CUDA programmer can benefit from GPU technology without having to be an expert.  Mint includes an optimizer that targets 3D stencil methods. The translator generates both host and device code and handles the memory management details including host-device and shared memory optimizations. Mint parallelizes loop-nests in appropriately annotated C source, performing domain-specific optimizations important in three-dimensional problems. Preliminary results on a set of commonly-used 3D stencil methods reveal that Mint can achieve on average 76% (between 65% and 89%) of the performance achieved on the NVIDIA Tesla C2050 using hand-written CUDA.

    • Enables the non-expert to enjoy the performance benefits of hand-coded CUDA 
      • Without becoming entangled in the details of the architecture. 
    • Based on programmer annotations (pragmas)
      • Easy to use
    • Source-to-source translator
      • Translates from annotated C source to optimized CUDA C
    • Targets 3D stencil methods
    • Optimizations benefit from the domain-specific knowledge