Тема разреженных матриц уже всплывала в обсуждении, но тема эта вечная.
В первую очередь вспомнился GPU Contest от Мэрилендского университета, однако победитель там объявлен, а вот посмотреть внимательно на код - негде (на сайте не нашел, гуглом не нашел). Подписался на их ньюсгруппу в надежде почитать, но она модерируемая и меня пока не одобрили.
Однако на GPGPU.org обнаружилась ссылка на новый материал: Concurrent number cruncher - A GPU implementation of a general sparse linear solver . Даю сразу прямые ссылки:
- статья с тем же заголовком
- Исходные тексты (CUDA) + бинарники (Windows) + тестовые данные
- страница проекта, где есть ссылка на еще одну статью.
Я посмотрел код, почитал статью, оно мне кажется довольно интересным в смысле посмотреть. Т.е. там реализованы буквально несколько примитивов (умножение вектора на вектор и вектора на матрицу), но для очень очень многих задач этого достаточно.