[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