A PTX Code Generator for LLVM
Saarland University, Saarbrucken, Germany
Saarland University, 2010
@article{rhodin2010ptx,
title={A PTX Code Generator for LLVM},
author={Rhodin, H.},
journal={URL: ftp://ftp. heanet. ie/mirrors/sourceforge/l/project/ll/llvmptxbackend/Rhodin_ PTXBachelorThesis. pdf},
year={2010}
}
Today’s GPGPU architectures and corresponding high level programming languages like CUDA replace the traditionally restricted GPU pipelines. Proprietary compilers allow to translate these languages into native GPU assembly. Unfortunately, these compilers are non-customizable and restricted to static compilation. High performant application currently require particular manual optimizations. To overcome these cumbersome manual optimizations, this thesis develops an open source PTX code generator-PTX is assembly code for NVIDIA GPUs. The code generator is based on the existing open source LLVM compiler. In conjunction, both systems compose a customizable compiler for current GPU architectures. Detailed resource analyzes and PTX shader run-time measurements demonstrate the capacity and quality of generated kernels. At this stage the PTX code generator achieves similar performance to the nvcc compiler. The developed compiler forms a sound basis for a variety of applications and further research topics. Additional feature support, novel optimization techniques, and applications from various fields are conceivable.
September 30, 2011 by hgpu