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 GAA03957; Thu, 22 Aug 2002 06:02:21 +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 GAA03908 for ; Thu, 22 Aug 2002 06:02:19 +0200 (MET DST) Received: from ext-ch1gw-2.online-age.net (ext-ch1gw-2.online-age.net [216.34.191.36]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g7M42Gv02054 for ; Thu, 22 Aug 2002 06:02:17 +0200 (MET DST) Received: from int-ch1gw-3.online-age.net (int-ch1gw-3 [3.159.232.67]) by ext-ch1gw-2.online-age.net (8.12.3/8.9.1/990426-RLH) with ESMTP id g7M41UdE026001; Thu, 22 Aug 2002 00:02:07 -0400 (EDT) Received: from uswaumsxbhmedge.med.ge.com (localhost [127.0.0.1]) by int-ch1gw-3.online-age.net (8.12.3/8.12.3/990426-RLH) with ESMTP id g7M41OdH028538; Thu, 22 Aug 2002 00:01:24 -0400 (EDT) Received: by amermsx.med.ge.com with Internet Mail Service (5.5.2656.59) id ; Wed, 21 Aug 2002 23:01:23 -0500 Message-ID: From: "Gurr, David (MED, self)" To: Pal-Kristian Engstad , caml-list@inria.fr Subject: RE: [Caml-list] Pointers needed for optimization problem. Date: Wed, 21 Aug 2002 23:01:21 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2656.59) Content-Type: multipart/mixed; boundary="----_=_NextPart_000_01C24990.93684E40" Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_000_01C24990.93684E40 Content-Type: text/plain >>From the FFTW web page <>: fftwgel fftwgel <> is an experimental version of fftw with support for the SIMD instructions of the AMD K6-2 and K7 processors as well as the Intel Pentium IV, written by our colleague Stefan Kral at the Vienna University of Technology. We hope to incorporate a generalization of this work into a future version of FFTW. fftwgel has ocaml code for generating SIMD code for x86 machines. Other key words are SWAR and Atlas. Plus the intel and amd web pages have lots of info. -D > -----Original Message----- > From: Pal-Kristian Engstad [mailto:engstad@naughtydog.com] > Sent: Wednesday, August 21, 2002 7:33 PM > To: caml-list@inria.fr > Subject: [Caml-list] Pointers needed for optimization problem. > > > Hi, > > I'm interested in solving a problem I have with automatically > generating > optimal (vector) floating point code. In other words, I want > to code a caml > program that transforms the input description into assembly > instructions. For > regular floating point operations, a good compiler should be > able to optimize > the code: > > r := A * x * x + B * x + C > > into (if multiplication is more expensive than adds): > > t := A * x > t := t + B > t := t * x > t := t + B > since > r := (A * x + B) * x + C > > Now, this is fairly trivial to do, but if you have an > architecture with SIMD > vector floating point registers and opcodes, a whole range of > new interesting > optimizations can be done. With vector registers, I mean > registers that have > up to 4 floating point values. For instance, a 4-vector times > a 4-by-4 matrix > operation can be coded as: > > acc.xyzw := mtxrow[0].xyzw * vec.x > acc.xyzw += mtxrow[1].xyzw * vec.y > acc.xyzw += mtxrow[2].xyzw * vec.z > res.xyzw = acc.xyzw + mtxrow[3].xyzw * vec.w > > Here, each line represent one assembly instruction. > > So, what I am looking for is basically pointers to literature > that deal with > issues like these, and since OCaml is a great language for language > transformations I thought someone on this list would be able > to point me in > the right direction. I _have_ been searching on the net, but > I guess I don't > know the right keywords to search on. > > PKE. > ------------------- > 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 ------_=_NextPart_000_01C24990.93684E40 Content-Type: text/plain Content-Transfer-Encoding: 7bit [Filename: fftwgel.url, Content-Type: application/octet-stream] This e-Mail had an attachment that was removed in order to meet GE Security guidelines. ------_=_NextPart_000_01C24990.93684E40-- ------------------- 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