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 OAA13476; Mon, 21 Oct 2002 14:53:28 +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 OAA13122 for ; Mon, 21 Oct 2002 14:53:27 +0200 (MET DST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g9LCrK511969; Mon, 21 Oct 2002 14:53:20 +0200 (MET DST) Received: (from xleroy@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id OAA13169; Mon, 21 Oct 2002 14:53:19 +0200 (MET DST) Date: Mon, 21 Oct 2002 14:53:19 +0200 From: Xavier Leroy To: Paul Stodghill Cc: caml-list@inria.fr Subject: Re: [Caml-list] matrix-matrix multiply - O'Caml is 6 times slower than C Message-ID: <20021021145319.C12164@pauillac.inria.fr> References: <20021020114251.A7642@pauillac.inria.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0i In-Reply-To: ; from stodghil@CS.Cornell.EDU on Sun, Oct 20, 2002 at 02:06:34PM -0400 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > I don't see how to do strength-reduction without introducing references, > which appears to reduce performance more than is gained. The compiler can optimize "local" references into variables, avoiding the extra indirection normally associated with references. But even with this optimization, there might be issues related to the small number of registers available on the x86. > Here is what I was trying to accomplish - I am involved with a project > that is trying to automate/generalize some of the tricks that ATLAS > (http://math-atlas.sourceforge.net/) uses for getting maximal > performance from matrix-matrix multiply (MMM). I knew about Bagley's > conclusion that O'Caml was competitive with C for MMM, so I was curious > how close O'Caml came to GCC on Blocked MMM. I would like to use O'Caml > as a target language over C or Fortran. OCaml is a fun language to write the problem analysis and code generation for specialized numerical components, see e.g. http://www.fftw.org/ However, I agree with your conclusions that for ultimate performance you probably want to generate Fortran (for a good parallelizing compiler) or C (with asm inserts for SIMD instructions). - Xavier Leroy ------------------- 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