Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <2349024291af878a184e6c612ba2b549@www.novabbs.org>
Deutsch   English   Français   Italiano  
<2349024291af878a184e6c612ba2b549@www.novabbs.org>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder9.news.weretis.net!i2pn.org!i2pn2.org!.POSTED!not-for-mail
From: mitchalsup@aol.com (MitchAlsup1)
Newsgroups: comp.arch
Subject: Re: Short Vectors Versus Long Vectors
Date: Thu, 2 May 2024 20:10:35 +0000
Organization: Rocksolid Light
Message-ID: <2349024291af878a184e6c612ba2b549@www.novabbs.org>
References: <v06vdb$17r2v$1@dont-email.me> <0D7YN.12641$oA33.7712@fx34.iad> <e9aa636b6b12f1ac0af12946151219f4@www.novabbs.org> <pycYN.33914$iMKd.26920@fx12.iad> <v0rtm6$2o1mj$5@dont-email.me> <66c323063468ebc28ce3b5ae8d28c2ac@www.novabbs.org> <v0su1a$32b6q$1@dont-email.me> <v0vhve$3o6jt$1@dont-email.me> <v0vrk4$3qch6$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: i2pn2.org;
	logging-data="3060445"; mail-complaints-to="usenet@i2pn2.org";
	posting-account="65wTazMNTleAJDh/pRqmKE7ADni/0wesT78+pyiDW8A";
User-Agent: Rocksolid Light
X-Rslight-Site: $2y$10$lGBttE6FDS5X82bAhpWQBeX9W3/ckW0ILRdU8nmSg5rm8IbSOFotW
X-Spam-Checker-Version: SpamAssassin 4.0.0
X-Rslight-Posting-User: ac58ceb75ea22753186dae54d967fed894c3dce8
Bytes: 2899
Lines: 43

Thomas Koenig wrote:

> Terje Mathisen <terje.mathisen@tmsw.no> schrieb:
>> Thomas Koenig wrote:
>>> MitchAlsup1 <mitchalsup@aol.com> schrieb:
>>> 
>>>> Then contemplate for an instant that one would want SIMD instructions
for
>>>> Complex numbers and Hamiltonian Quaterions......
>>> 
>>> Quaternions would be a bit over the top, I tink.  Complex
>>> multiplication... implementing (e,f) = (a*c-b*d,a*d+b*c) is
>>> 
>>>          fmul    Rt1,Rc,Rb
>>>          fmac    Re,Rd,Ra,Rt1
>>> 
>>>          fmul    Rt2,Rd,Rb
>>>          fmac    Rf,Rc,Ra,-Rt2
>>> 
>>> So, you'd need both operands on both lanes.  Not very SIMD-friendly,
>>> I would assume, but (probably) not impossible, either.
>>> 
>> If you have the four operands spread across two SIMD registers, so 
>> (Re,Im) in each, then you need an initial pair of permutes to make 
>> flipped copies before you can start the fmul/fmac ops, right?
>>
>> This is exactly the kind of code where Mitch's transparent vector 
>> processing would be very nice to have.

> I'm actually not sure how that would help.  Could you elaborate?


VVM synthesizes SIMD (lanes) and strip-mining (Cray-like vectors) while
processing SCALAR code. So, as long as the compiler knows which operands
are participating, almost any amount of <strange> Complexity drops out
for free -- including things like Quaternions.

Physicists like quaternions because it means they don't have to worry
about
whether to add or subtract, the {i,j,k} does it for them. Complex is OK
for
flat spaces but when one is dealing with non Cartesian coordinates (like 
within the radius of the proton) other effects makes quaternions a better 
path.