$include_dir="/home/hyper-archives/ublas/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [ublas] Announcement of ViennaCL (linear algebra on GPUs)
From: Karl Rupp (rupp_at_[hidden])
Date: 2010-06-07 15:52:16
Dear Riccardo,
> Awesome!
Thanks :-)
> Dear Karl, i will definitely give a try to your library and ... diffuse
> it as much as i can. 
yeah, even though it looks weired, but the less you need to know about 
anything specific of ViennaCL, the better it is, because it should 
integrate as seamlessly as possible into ublas :-)
> Could you comment a little more about ATI's double support on GPU? ...
> is it completely out of question for the moment? 
Sure. The thing with ATI cards is documented here:
http://developer.amd.com/support/KnowledgeBase/Lists/KnowledgeBase/DispForm.aspx?ID=88
ViennaCL queries the OpenCL extensions of the GPU. If it is a standard 
compliant double precision extension, it should provide 'cl_khr_fp64', 
which is the case for newer NVidia GPUs. ATI GPUs, however, only provide 
'cl_amd_fp64', which is a subset of the double precision extension.
Our idea then was to query the 'cl_amd_fp64' string on ATI GPUs, which 
got most of the things running in double precision on our sample HD 
5850. However, some compute kernels suddenly returned wrong results when 
started in double precision (I remember plane_rotation and norm_inf), so 
that we decided to turn the double precision feature off on ATI cards in 
the meanwhile. As far as I remember, the iterative solvers worked fine 
on ATI GPUs, but the overhead for enqueuing compute kernels is larger 
than for NVidia cards. This can be seen in the benchmarks for single 
precision at http://viennacl.sourceforge.net/index.php%3Fid=11.html : 
For trivial operations such as vector addition, ATI GPUs show really 
good performance, but for more complex kernels the performance falls 
behind NVidia GPUs and is only slightly better than for the CPU with the 
conjugate gradient solver - things are likely to be worse in double 
precision.
> In any case ... great job!
Many thanks! :-)
Best regards,
Karli