Kd-Jump: a path-preserving stackless traversal for faster isosurface raytracing on GPUs

    Student thesis: Doctor of Philosophy

    Abstract

    Advances in Graphical Processing Units (GPUs) bring both opportunities
    and challenges for the acceleration of volumetric visualisation. Many researchers
    have highlighted these problems, such as GPU memory access
    and low computation-throughput bottlenecks. For raytracing, stackless
    traversal techniques are often used to circumvent memory bottlenecks by
    avoiding the use of a stack and instead replacing return traversal with extra
    computation. This thesis addresses whether the stackless traversal approaches
    are useful on newer hardware and technology (such as CUDA).
    In addition this work explores the possibility of accelerating volumetric
    segmentation to allow real-time user interaction. As segmentation methods,
    especially those based on machine-learning, will typically examine
    all the voxels of a volume, they are ideally suited to the parallel nature
    of GPU computation. Further, context-preserving volume rendering is explored
    for segmentation data in order to see if rendering the segmentation
    information of a volume can be useful for users.
    In order to explore usefulness of stackless traversal on modern GPUs this
    thesis presents a novel stackless approach called kd-jump. Kd-jump exploits
    the benefits of index-based node traversal and formulates a return
    mechanism based on applying an inverse. Kd-Jump allows traversal to
    immediately return to the next valid node, when required, without having
    to backtrack one node at a time or perform additional node testing, as the
    case is with Kd-Backtrack. This allows kd-jump to avoid incurring extra
    node visitation, which will typically incur a greater amount of redundant
    work. The stackless method is achieved by the addition of a single 32-bit
    integer, which is stored within a fast GPU register, and an accumulation
    matrix that is stored in constant memory. In addition ray clipping to the
    bounds of a node is required upon return. It is shown that Kd-Jump outperforms
    a stack-based approach by an average range of 10% to 20%.
    This thesis presents a context-preserving visualization method for segmentation
    data derived from volumetric medical images. A segmented volumetric
    image contains a number of anatomical objects which are important
    features to be visualized. The context preserving rendering algorithm utilizes
    the curvature at the surfaces of the segmentation objects to modulate
    the opacity contribution during rendering. This results in the areas of high
    curvature, typically the most important features, being opaque and visible
    and everything else being transparent.
    A segmentation tool utilizing support vector machines (SVM) is also presented.
    This segmentation tool utilizes incremental SVM to allow for realtime
    learning and unlearning of input data and background training. This
    enables the SVM to train on previous input while the user continues to provide
    further input. The theory for such a system is that the complex task
    of training an SVM does not incur a noticeable delay, specifically after the
    user has finished inputting data and requires the results. Further, in order
    to expedite the class prediction of the remaining volume, using the trained
    SVM, GPUs are employed. CUDA-kernels are utilized to predict the class
    of each volume voxel and then store the result in a class volume. This first
    entails transposing the voxel into the higher dimensional space used in the
    SVM and then computing the weighted-kernel sum. These tasks are completely
    parallel in respect to the voxels and are perfectly suited for GPU
    acceleration.
    The main contributions of this thesis can be summarized as the following;
    • A novel stackless traversal approach for balanced, or left-balanced
    binary trees, which provides a theorized and proven performance improvement
    compared to a stack-based approach.
    • A volume visualisation method for context-preservation specifically
    tailored for segmentation data.
    A segmentation tool, which utilizes incremental SVM training, fast
    GPU-based volume prediction and fast GPU-based segmentation rendering,
    to enable a user to segment volumetric data in real-time with
    fewer delays.
    Date of AwardJul 2010
    Original languageEnglish
    Awarding Institution
    • Bangor University
    SupervisorIk Soo Lim (Supervisor)

    Cite this

    '