On Mon, Feb 18, 2013 at 11:03 AM, Pekka Jääskeläinen <
[email protected]> wrote:

> On 02/18/2013 04:58 PM, Erik Schnetter wrote:
> > What is missing is integrating this with pocl's build system, and
> > autoconf'ing building C++ files.
>
> The plan is to have also the generated C++ implementations added to the
> pocl, right? Similarly to the convert_type.py. That is, the developers
> or the users of pocl are not going to need to have Vecmathlib available
> to benefit from its fast implementations.
>
> Thus, the build system of pocl should compile the pregenerated
> implementations if C++ is available (and use them over the "default ones"),
> and there should be a script or a makefile for easily regenerating the
> implementations (e.g., after Vecmathlib is improved)?
>

The implementations are machine dependent, i.e. they depend on the CPU type
that is available. Vecmatlib checks various preprocessor macros that
indicate the availability of certain features (SSE2, SSE3, AVX, etc.) This
also depends on the hardware architecture (Intel vs. others), although only
Intel/AMD is currently supported in Vecmathlib.Thus, pre-compiling and
storing doesn't currently work.

It would be possible to pre-compile several versions, and then choose at
link time which version of the library to use. For example, I think we can
probably get most of the performance benefit with just four different
configurations.

I didn't think of shipping bc files, but it makes a lot of sense. People
would get essentially the full benefit without having to deal with C++.

This "choosing" could maybe also be embedded in the bc files themselves, if
there is a way to either pass a constant or to access target properties
e.g. in a switch statement. An optimisation step could then fold the switch
statements since these values would be known when the kernel is compiled.
On the other hand, just choosing between a set of libraries when pocl is
configured may be easier and safer.

-erik

-- 
Erik Schnetter <[email protected]>
http://www.perimeterinstitute.ca/personal/eschnetter/
AIM: eschnett247, Skype: eschnett, Google Talk: [email protected]
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
pocl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pocl-devel

Reply via email to