[vsipl++] [patch] pwarp

Jules Bergmann jules at codesourcery.com
Thu Dec 13 19:12:50 UTC 2007


Stefan Seefeld wrote:
> Jules Bergmann wrote:
> 
>>> 2) With SDK 3.0 (which we are going to adapt sooner or later anyhow), we
>>> don't have access to that any more, or at least not in that raw form.
>> You mean ALF 3.0, right?  I'm assuming libspe2 doesn't take away
>> functionality.
>>
>> What does ALF 3.0 force us to do here?
> 
> 
> The ALF that ships with the SDK 3.0 :-) fully encapsulates the libspe2
> interface, so we would never actually 'see' the loaded kernel. All we do
> is pass various names (char const *) to ALF to allow it to dlopen /
> dlsym the appropriate symbols.

Right (now I remember you explained that to me before :)

  I'm not even sure we can query these
> strings from ALF. (In CML I implemented a 'user-space' analog of the
> task-info for caching purposes, as the latter has become an opaque
> pointer, and thus doesn't allow us to implement a comparison operation.)

Ok.  In that case, we could assume the names are unique.

I.e., the bridge function might look like:

template <typename T>
Choose;

template <>
struct Choose<float>
{
   static char const* image() { return "vmul-float"; }
};

... other specializations for other types ...


template <typename T>
...
vmul(...)
{
   char const* pgm_name = Choose<T>::image();

   ... = task_manager.instance(pgm_name)
}

				-- Jules

-- 
Jules Bergmann
CodeSourcery
jules at codesourcery.com
(650) 331-3385 x705



More information about the vsipl++ mailing list