Re: [eigen] a few more points... |

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]

*To*: eigen@xxxxxxxxxxxxxxxxxxx*Subject*: Re: [eigen] a few more points...*From*: "Benoit Jacob" <jacob.benoit.1@xxxxxxxxx>*Date*: Sat, 3 Jan 2009 14:26:15 +0100*Dkim-signature*: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=7KwxWvjzN45M6j+ME6YZ3zqKX4DFd3WGXnObGVd3xzw=; b=xv3J8u/SWMETlyiqWygJYXwcX0Tbkna6z8W9ItDq5iD8IYDmwuNzu8Pv4rtvhanjDj lnRoTiho8aO0hVj8GaAQhoH349+pFqrghUV6Y6uXd4QoIHr/T7RUOSEL7Z5xsabx1bb1 Kn4z6515WbOkcPycR+UA5zayjJUpifLphsIpk=*Domainkey-signature*: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=m/oixXb72JXznwQ56MXk0otDB0pGXV2WEwBB41BmJoALmvR89UjuyAhn140WxlHjY2 7v5w54wKeZu1uVQDn2DBD8Bki/yhXEXakG7xP8pJwJqb+ZPWrxvp7D+dg8XS9wf/xjSa dO9pwyBXGQ/XowF9lnR0/Bs/l6ZvHVxC770Bs=

2009/1/3 Gael Guennebaud <gael.guennebaud@xxxxxxxxx>: >>> and I don't think that's safe to add AlignedBit if we have >>> ForceAligned, eg: >>> >>> Matrix4d m1; >>> m1.block<2,2>(1,0) *= 2; >>> >>> will take the "LinearVectorization with CompleteUnrolling" path and crash. >> >> The block expression here doesn't have the LinearAccessBit because it >> isn't a vector. So this assignment shouldn't take the >> LinearVectorization path. > > right, so it will take the "InnerVectorization with CompleteUnrolling" > and still crash. ok, now I understand. But the point is, with code such as >>> Matrix4d m1; >>> m1.block<2,2>(1,0) *= 2; I would never have thought of using ForceAligned. But now I understand your explanation, there are other examples like you say where we want ForceAligned but not Aligned flag, like when one does aligned accesses in a non-aligned block. >> Actually your ForceAligned as you explained it sounds like exactly >> what I want. What I need now is a way to tell Assign.h to use a >> vectorized path -- currently it doesn't because SrcIsAligned is 0 in >> ei_assign_traits because my block expression doesn't have the >> AlignedBit. > > .mark<AlignedBit>() ??? Doh... sure that does the trick. I guess I was just wrongly assuming that Eigen should do that automatically with ForceAligned but now I understand why it doesn't. Thanks. Benoit ---

**Follow-Ups**:**Re: [eigen] a few more points...***From:*Gael Guennebaud

**References**:**[eigen] a few more points...***From:*Benoit Jacob

**Re: [eigen] a few more points...***From:*Gael Guennebaud

**Re: [eigen] a few more points...***From:*Benoit Jacob

**Re: [eigen] a few more points...***From:*Gael Guennebaud

**Messages sorted by:**[ date | thread ]- Prev by Date:
**Re: [eigen] a few more points...** - Next by Date:
**Re: [eigen] a few more points...** - Previous by thread:
**Re: [eigen] a few more points...** - Next by thread:
**Re: [eigen] a few more points...**

Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |