On Sun, 2012-07-08 at 10:27 +0200, Gábor Lehel wrote:
> On Sun, Jul 8, 2012 at 3:05 AM, Nicolas Trangez wrote:
> > I implemented the inductive alignment calculation over One and Twice
> > (good idea, and easy to do), but I don't get the thing about
> > superclasses. I've been trying several approa
On Sun, 2012-07-08 at 20:49 +1000, Reiner Pope wrote:
> I've not been following this thread very closely, but it seems like
> what you're trying to do may be related to Geoffrey Mainland's work on
> SIMD support in GHC. See [1] for his "SIMD-enabled version of the
> vector library". He's also writt
I've not been following this thread very closely, but it seems like what
you're trying to do may be related to Geoffrey Mainland's work on SIMD
support in GHC. See [1] for his "SIMD-enabled version of the vector
library". He's also written some blog posts about this [2].
Reiner
[1] https://github
On Sun, Jul 8, 2012 at 3:05 AM, Nicolas Trangez wrote:
> On Sun, 2012-07-08 at 01:40 +0200, Gábor Lehel wrote:
>> unsafeXorSSE42 :: (Storable a,
>> > SV.AlignedToAtLeast SV.A16 o1, SV.Alignment o1,
>> > SV.AlignedToAtLeast SV.A16 o2, SV.Alignment o2,
>> > SV.AlignedToAtLeast SV.A16 o3
On Sun, 2012-07-08 at 01:40 +0200, Gábor Lehel wrote:
> unsafeXorSSE42 :: (Storable a,
> > SV.AlignedToAtLeast SV.A16 o1, SV.Alignment o1,
> > SV.AlignedToAtLeast SV.A16 o2, SV.Alignment o2,
> > SV.AlignedToAtLeast SV.A16 o3, SV.Alignment o3) =>
> > SV.Vector o1 a -> SV.Vector o2 a
On Sat, 2012-07-07 at 21:13 +0200, Nicolas Trangez wrote:
> As you can see, the zipWith Data.Vector.SIMD implementation is slightly
> slower than the Data.Vector.Storable based one. I didn't perform much
> profiling yet, but I suspect allocation and ForeignPtr creation is to
> blame, this seems to
On Sun, Jul 8, 2012 at 12:21 AM, Nicolas Trangez wrote:
> On Sat, 2012-07-07 at 21:59 +0200, Gábor Lehel wrote:
>> An alternative solution is to encode all of the alignments in unary,
>> which is more general; if they're all going to be a power of two you
>> can "store" just the logarithm:
>>
>> d
On Sat, 2012-07-07 at 21:59 +0200, Gábor Lehel wrote:
> An alternative solution is to encode all of the alignments in unary,
> which is more general; if they're all going to be a power of two you
> can "store" just the logarithm:
>
> data One
> data Twice n -- not practical to call it Double :)
>
On Sat, Jul 7, 2012 at 9:59 PM, Gábor Lehel wrote:
> class AlignedToAtLeast n a
> instance AlignedToAtLeast A1 A1
> instance AlignedToAtLeast A4 A1
> instance AlignedToAtLeast A4 A4
> instance AlignedToAtLeast A8 A1
> instance AlignedToAtLeast A8 A4
> instance AlignedToAtLeast A8 A8
> instance Ali
On Sat, Jul 7, 2012 at 9:13 PM, Nicolas Trangez wrote:
> - Currently Alignment phantom types (e.g. A8 and A16) are not related to
> each other: a function (like Data.Vector.SIMD.Algorithms.unsafeXorSSE42)
> can have this signature:
>
> unsafeXorSSE42 :: Storable a => SV.Vector SV.A16 a -> SV.Vecto
All,
After my message of yesterday [1] I got down to it and implemented
something along those lines. I created a playground repository
containing the code at [2]. Initial benchmark results at [3]. More about
the benchmark at the end of this email.
First some questions and requests for help:
- I
11 matches
Mail list logo