On 09/08/2013 10:13 PM, Erik Schnetter wrote:
> Yes, we can use the same kernel library for all x86-64 architectures.
> However, this would require disabling many performance features.

Which ones do you mean? The kernel libs are LLVM bitcode, which is not
yet very target-specific as such, so the target-specific features are
basically inline asm blocks selected using #ifdefs when building the
bc?

IMO inline asm blocks should be avoided in the longer term anyways (try to use
intrinsics instead) as we want to vectorize WGs as efficiently as possible
and it's easier to vectorize intrinsics calls than inline asm blocks.

Same goes to vector datatypes: we might want to "scalarize" them for
more efficient WG vectorization, so not always we want to use hand coded
vectorized versions of functions dealing with them.

So, what about producing a "generic" bitcode lib without CPU feature
specific inline asm blocks (perhaps only intrinsics calls), and then let
the llc do its magic based on autodetection? The very final call to
the llc from the fully linked work group function bitcode should be of
the most importance here, right?

-- 
--Pekka


------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk
_______________________________________________
pocl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pocl-devel

Reply via email to