On Wed, Sep 26, 2012 at 5:03 PM, Florian Philipp <li...@binarywings.net> wrote: > Am 26.09.2012 21:46, schrieb Michael Mol: >> On Wed, Sep 26, 2012 at 2:25 PM, Florian Philipp <li...@binarywings.net> >> wrote: >>> Am 25.09.2012 17:01, schrieb Michael Mol: >>>> On Tue, Sep 25, 2012 at 10:42 AM, James <wirel...@tampabay.rr.com> wrote:
[snip] >>> >>> If you want to use vector instructions for your own code, you should >>> look into compiler intrinsics (i.e. vector instructions as built-in C >>> functions). >>> http://ds9a.nl/gcc-simd/ >> >> Personally, I don't like compiler intrinsics; they're specific to >> given compilers. I've tended to write code which is supposed to >> compile on multiple compilers. (There's a world outside GCC...) >> > > Yes. I haven't used it, either. I guess you could autoconf it and > replace it with vanilla C macros in most cases. Or as an easier > solution: #ifdef a vanilla C implementation together with the vector > code. Bonus points for added readability. And the added maintenance, doubling the number of builds to test. :) > > Kind of makes you wonder how well GCC can vectorize programs on its own > when you lay out your code in a way suitable for its own intrinsics > without actually using them. [snip] >>> By the way: Did anyone get good results out of dev-util/intel-ocl-sdk >>> for OpenCL? Some time ago I tested it with a package that supported both >>> OpenMP and OpenCL (not sure which) and OpenCL didn't really make an >>> impact on my Core i5. >> >> Haven't tried it, no. I've got a Radeon 6870, and I can only have one >> OpenCL driver loaded at a time. (IBM has a middleman driver which >> supports dispatching to multiple backends, but I believe its a for-pay >> package.) >> > > Isn't that what app-admin/eselect-opencl is for? I mean simple > switching, not dual application (which would be awesome, too). Dual-application is the circumstance IBM handles. Including dispatching over the network. :) -- :wq