MrD писал(а):
современная видеокарта представляет собой мощный векторный процессор. на уровне машинных команд реализованы операции с 4-х мерными векторами и матрицами. существуют ли пакеты, позволяющие использовать эти ресурсы для математических вычислений?
лучшее что на данный момент есть --- это CUDA, CUBLAS и CUFFT для восьмой серии GeForce от NVIDIA (
http://developer.nvidia.com/object/cuda.html). Скажем, представленная в CUBLAS реализация SGEMM, то есть процедура умножения матрицы на матрицу, достигает 120 Gflop/s на GeForce 8800 GTX. Дискуссии по использованию CUDA можно почитать по адресу
http://forums.nvidia.com/index.php?showforum=62. На русском языке по теме что-то пишет Алексей Тутубалин ---
http://blog.lexa.ru/gpgpu/.
ATI (сейчас --- подразделение AMD) в этом плане заметно отстаёт. У них тоже есть свой интерфейс программирования для GPGPU, называется CTM, но он гораздо менее удобный чем CUDA. Возможно, в самом деле имеет смысл программировать карты от ATI с помощью стенфордовского BrookGPU, который как раз может работать как надстройка над этим CTM.
пока я это пишу :) многие исследовательские группы наперегонки работают над реализацией других наиболее часто используемых вычислительных ядер и библиотек, таких как умножение разреженной матрицы на вектор, различные факторизации матриц, вообще перенос LAPACK на GPU, молекулярная динамика и т.д. и т.п.