From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id HAA10324; Tue, 8 Jun 2004 07:18:38 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id HAA10240 for ; Tue, 8 Jun 2004 07:18:37 +0200 (MET DST) Received: from outbound28-2.lax.untd.com (outbound28-2.lax.untd.com [64.136.28.160]) by concorde.inria.fr (8.12.10/8.12.10) with SMTP id i585IZSH021921 for ; Tue, 8 Jun 2004 07:18:36 +0200 Received: from outbound28-2.lax.untd.com (smtp04.lax.untd.com [10.130.24.124]) by smtpout04.lax.untd.com with SMTP id AABANLVA3ARKV9AA for (sender ); Mon, 7 Jun 2004 22:18:17 -0700 (PDT) Received: (qmail 25430 invoked from network); 8 Jun 2004 05:17:28 -0000 Received: from 66-52-243-31.sttl.dial.netzero.com (HELO vangogh) (66.52.243.31) by smtp04.lax.untd.com with SMTP; 8 Jun 2004 05:17:28 -0000 From: "Brandon J. Van Every" To: "caml" Subject: RE: [Caml-list] 32 bit floats, SSE instructions Date: Mon, 7 Jun 2004 22:27:13 -0700 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409 Importance: Normal In-Reply-To: X-ContentStamp: 11:5:190274621 X-MAIL-INFO: 2c3d28315c283195c531d1a815b5ad38d16138d1c9ccd1c84855b1 X-UNTD-OriginStamp: CI84cOLHFqh7Zd2QWkwvEFvwyO3T/pIsPQZphDk9MRjkKXiSynLF7UJUm8LYudg1 X-Miltered: at concorde with ID 40C54C2B.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; brandon:99 caml-list:01 floats:01 inclined:01 vectors:01 vectors:01 stupid:01 model:01 lousy:01 kitchen:99 brandon:99 seattle:99 crappy:01 2004:99 arrays:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Brian Hurt wrote: > Actually, I'd be inclined to go one step > higher, and deal with arrays of vectors in what Intel calls SoA order > (i.e. structure of arrays, instead of array of structures- so > an array of > 3-vectors would be represented by three arrays- the first > array is the x > values of all vectors, the second is the y values, etc.). This makes > maximizing the utilization of the SSE units a lot easier. At the cost of inverting almost everyone's software architecture. This is ridiculous / stupid in the real world. It's also baloney on theoretical grounds: for just how many problems do you think it's worth destrying memory coherence by putting structure elements very far apart in memory? If you only want to do SoA "for some array length, then start over," just how segmented did you think I wanted my programming model to be? SoA might make sense if a language implementation did it totally behind the scenes, presenting a seemingly AoS interface to programmers. Exposing / locking into SoA is dumb, and yes, Intel is damn dumb. You don't think they're dumb, look at their chips. They're good at fab and marketing, they make lousy tack-on "kitchen sink" chips. Cheers, www.indiegamedesign.com Brandon Van Every Seattle, WA "We live in a world of very bright people building crappy software with total shit for tools and process." - Ed Mckenzie --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.693 / Virus Database: 454 - Release Date: 5/31/2004 ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners