
Any SuSE-7.2 users using octave? If so, would you oblige me by running the following command in octave (preferably without other system load such as KDE): tic; for i = 10000000 , end; toc (that's 1e7), and also report your CPU/MHz? Reason: There's been some some discussion on the octave help list about loop timings. I get about 45 seconds with the above, with an Intel P3/733 MHz. This, compared with other people's, seems about twice as long as it should be. (I'm using the octave 2.0.16 i386-suse-linux-gnu which came with the SuSE-7.2 CDs). It may simply be due to a non-optimised compilation, or to an unsuspected deficiency in my hardware, or ... Thanks, Ted. -------------------------------------------------------------------- E-Mail: (Ted Harding) <Ted.Harding@nessie.mcc.ac.uk> Fax-to-email: +44 (0)870 167 1972 Date: 10-Aug-01 Time: 20:01:26 ------------------------------ XFMail ------------------------------

I get this: GNU Octave, version 2.0.16 (i386-suse-linux-gnu). octave:14> tic; for i = 10000000 , end; toc ans = 0.0012330 I think the answer is in seconds, so it's about 1.2 msec. You are talking about 45 and 22 seconds, so something is not right here. My machine is a P3/700. -- Rafael

Rafael Herrera wrote:
I get this:
GNU Octave, version 2.0.16 (i386-suse-linux-gnu).
octave:14> tic; for i = 10000000 , end; toc ans = 0.0012330
I think the answer is in seconds, so it's about 1.2 msec. You are talking about 45 and 22 seconds, so something is not right here. My machine is a P3/700.
I get 0.0087510 On a P3/600EB Matt

Þann föstudagur 10 ágúst 2001 20:48 skrifaðir þú:
I get this:
GNU Octave, version 2.0.16 (i386-suse-linux-gnu).
octave:14> tic; for i = 10000000 , end; toc ans = 0.0012330
I think the answer is in seconds, so it's about 1.2 msec. You are talking about 45 and 22 seconds, so something is not right here. My machine is a P3/700.
octave:1> tic; for i = 10000000 , end; toc ans = 0.012151 P3/733 Shouldn't take more than that.. But then, the for statement you want us to test is way wrong. You have no beginning number ( or no ending number.. ) so it's a single count. You could as well say ( in basic ) for x = 1 to 1 ; next This is correct: octave:28> tic; for i = 0:10000000 , end; toc ans = 49.703 And also the estimated 45-50 seconds. My machine as aforementioned: P3/733 -tosi

Hi Ted: On Friday 10 August 2001 02:01 pm, you wrote:
Any SuSE-7.2 users using octave?
If so, would you oblige me by running the following command in octave (preferably without other system load such as KDE):
tic; for i = 10000000 , end; toc
I think you mean: octave:1> tic; for i = 1:1e7, end; toc ans = 17.337
(that's 1e7), and also report your CPU/MHz? poincare@linux:~ > cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 7 model name : Pentium III (Katmai) stepping : 3 cpu MHz : 598.629 cache size : 512 KB
Reason: There's been some some discussion on the octave help list about loop timings. I get about 45 seconds with the above, with an Intel P3/733 MHz.
Ted, my Octave is compiled in. Compiling Octave results in slightly faster runtimes. You can get the FORTRAN g77 compiler from off the CD's or from ftp.suse.com/pub/suse. You also need to have libstdc++-devel installed. Compiling it in makes for faster runs. Also see: http://www.hammersmith-consulting.com/octave-us-g.html about the pos and cons of Octave. HTH -- Cheers, Jonathan

Optimizing Octave under SuSE go to: http://www.netlib.org/atlas and download atlas3.2.1.tgz. Also get the errata sheet; you will need to make the changes in the source codes outlined there. Specifically, you need to get and install the tarfiles under the header "Row-major LU and Cholesky solve are incorrect" and you need to make the source code change listed under "Performance bug in complex TRSM". for Pentium III users follow the instructions in "No architectural defaults for PIII using SSE1", The architectural defaults are misnamed... Having made those changes, type make in the ~/ATLAS directory. There is no ./configure; the make will ask you questions about your computer. The compilation will take awhile. One of the questions is about the existence Go to http://www.octave.org and download the 2.0.16 version of Octave. Unpackage it. Follow the instructions here: http://www.octave.org/FAQ.html#SEC18 for the required libraries. You will need to have g77 and GNUplot installed first. Go To http://mackako.im.uec.ac.jp/chiba-f/octave/octave_speed_up_by_atlas.html and follow the instructions for compiling Octave and installing the ATLAS libraries. Specifically the instructions: cd ~/ATLAS/lib/<your machine arch> mkdir tmp cd tmp ar x ~/ATLAS/lib/<your machine arch>/libtstatlas.a ar x ~/ATLAS/lib/<your machine arch>/liblapack.a ar x ~/ATLAS/lib/<your machine arch>/libatlas.a ar x ~/ATLAS/lib/<your machine arch>/libf77blas.a ar x ~/ATLAS/lib/<your machine arch>/libcblas.a ar r ~/octave-2.0.xx/libcruft/libcruft.a *.o cd .. rm -r tmp/ For instance, if your computer has P III then you want to do: ar x ~/ATLAS/lib/Linux_PIIISSE1/libtstatlas.a and the same for the other four. NOTE: this uses the corrected file listed above in the section named "No architectural defaults for PIII using SSE1", from the errata.html. Then follow the instructions "Remaking of Octave" Here are the times I now get for Octave 2.0.16 on 600 MHz PIII: octave:1> tic; for i = 1:1E7, end;toc ans = 17.498 No improvement here. octave:2> tic;a=rand(1000,1000);b=rand(1000,1000);toc ans = 2.6358 octave:3> tic;g=inv(a);toc ans = 37.554 octave:4> tic;g*a;toc ans = 4.9293 Looks to be faster here; these are 1,000,000 arrays of floating point numbers. Also w/ no ATLAS libs: octave> tic();A=rand(5000,5000);toc() ans = 84.475 With ATLAS libs: octave:8> tic();A=rand(5000,5000);toc() ans = 33.041 *YES* big improvement here! So the ATLAS libraries help. -- Cheers, Jonathan
participants (5)
-
Jonathan Drews
-
Rafael Herrera
-
StarTux
-
Ted.Harding@nessie.mcc.ac.uk
-
Tor Sigurdsson