From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,LOTS_OF_MONEY autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 5b1e799cdb,3ef3e78eacf6f938 X-Google-Attributes: gid5b1e799cdb,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!feeder.news-service.com!feeder.news-service.com!newsfeed-fusi2.netcologne.de!news.netcologne.de!newsfeed-hp2.netcologne.de!newsfeed.arcor.de!newsspool2.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Wed, 22 Jul 2009 11:19:03 +0200 From: Georg Bauhaus User-Agent: Thunderbird 2.0.0.22 (Macintosh/20090605) MIME-Version: 1.0 Newsgroups: comp.lang.eiffel,comp.lang.ada,comp.lang.modula3,comp.programming Subject: Re: Alternatives to C: ObjectPascal, Eiffel, Ada or Modula-3? References: <51617b48-400b-4296-9362-78aa712bb6b2@a7g2000yqk.googlegroups.com> <4a65e4a2$0$30235$9b4e6d93@newsspool1.arcor-online.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Message-ID: <4a66d988$0$32675$9b4e6d93@newsspool2.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 22 Jul 2009 11:19:04 CEST NNTP-Posting-Host: d85fb8c4.newsspool2.arcor-online.net X-Trace: DXC=J]C]FGQgB28=FQB?mjjV50A9EHlD;3Yc24Fo<]lROoR1^YC2XCjHcb9K[2BKCaJ40=;9OJDO8_SK6NSZ1n^B98i:biXBE]5ZP45 X-Complaints-To: usenet-abuse@arcor.de Xref: g2news2.google.com comp.lang.eiffel:390 comp.lang.ada:7265 comp.lang.modula3:87 comp.programming:11971 Date: 2009-07-22T11:19:04+02:00 List-Id: Jon Harrop schrieb: > I recently wrote an F# implementation of QR decomposition that is up to 3x > faster than the Intel MKL (!). I first wrote it with explicit copies. Then > I rephrased it to index everything via functions (making heavy use of > partial application) rather than explicit data structures (creating "views" > of the matrix without copying it). Then I rearranged those to make them > more cache coherent and finally introduced parallelism. > > There is a brief description here: > > http://flyingfrogblog.blogspot.com/2009/07/ocaml-vs-f-qr-decomposition.html > > Moreover, my implementation is parameterized over its element type and > operations so it can be applied to single or double precision or even > symbolic matrices. Interesting example, thank you. BTW, readers interested in "state of the art" concurrent and parallel algorithms in ISO-languages or other languages might want to be made aware of the patent situation of some of the technology required, http://www.patents.com/Dynamic-circular-work-stealing-deque/US7346753/en-US/ http://www.freepatentsonline.com/7346753.html http://www.wikipatents.com/7346753.html etc. -- -- Georg Bauhaus Y A Time Drain http://www.9toX.de