User Tools

Site Tools


eigenvalues

General

This project will deal with the computation of eigenvalues using GPU acceleration. The students will learn how to code in CUDA and OpenCL for using GPUs, and also get some experience with OpenMP. Successful implementations will be made available to the public via the free open source library ViennaCL.

Prospective Students

Denis Ojdanic, Andreas Selinger

Milestone Tasklist

The following list of milestones will help you in completing the project successfully. The reimbursement for each of the milestones is indicative, as we hope that you will reach and complete the final milestone anyway :-)

Milestone 1

  1. Familiarize: Investigate and understand the current eigenvalue routines for symmetric dense matrices in ViennaCL. Document the current API, create a flow-diagram of the implementation, and familiarize yourself with how OpenCL kernels are called.

Milestone 2

  1. Restructuring: Extend the current implementation of eigenvalue routines for symmetric dense matrices to the CUDA and OpenMP backends. Provide clever tests (also considering corner cases) for the nightly builds. Update the documentation accordingly. Ensure that there are no severe performance bottlenecks.

Milestone 3

  1. Tridiagonal Eigensolver: Implement fast eigenvalue routines for tridiagonal matrices. Come up with implementations for OpenMP, CUDA, and OpenCL. Provide extensive documentation explaining the chosen algorithm and implementation (flow-chart), a test bench for the nightly builds, and optimize the implementation for the GPUs from NVIDIA and AMD available at the institute.

Additional Information

Primary Mentor

eigenvalues.txt · Last modified: 2015/01/22 14:45 by viennastar