[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: octave 64-bit and multi-threading
From: |
address@hidden |
Subject: |
Re: octave 64-bit and multi-threading |
Date: |
Tue, 21 Jul 2015 09:26:56 +0900 (JST) |
--- grothausmann.roman wrote:
> Dear mailing list members,
>
>
> Using instructions from
> https://www.gnu.org/software/octave/doc/interpreter/Compiling-Octave-with-64_002dbit-Indexing.html
> I managed to compile octave-4.0.0 with --enable-64 using a 64-bit atlas
> library under debian.
> The test
> a = zeros (1024*1024*1024*3, 1, 'int8');
> works.
> I was also able to load 10GB units with fread and do some computations with
> it successfully.
>
> According to
> http://stackoverflow.com/questions/11889118/get-gnu-octave-to-work-with-a-multicore-processor-multithreading
> octave should be multi-threaded when using a self-compiled atlas lib.
> However the test
>
> tic
> bigMatrixA = rand(3000000,80);
> bigMatrixB = rand(80,30);
> bigMatrixC = bigMatrixA * bigMatrixB;
> toc
> disp("done");
>
> takes 4.8s with the debian default octave (3.8.2 32-bit)
> and 7.1s with my self-compiled octave (4.0.0 64-bit)
>
> Is it slower because it is now 64-bit?
> Are there better test for multi-threading in octave?
>
> Thanks for any help or hints
> Roman
>
>
> PS:
> it says on the instruction page: "Suggestions on how to compile ATLAS would
> be most welcome."
> I did it as debian/README.Debian of the source-package of debian suggests, so
> basically:
>
> apt-get source atlas
> apt-get build-dep atlas
>
> for i in {0..23}; do echo "performance" >
> /sys/devices/system/cpu/cpu$i/cpufreq/scaling_governor; cat
> /sys/devices/system/cpu/cpu$i/cpufreq/scaling_governor; done
>
> cd atlas-3.8.4/
>
> adding in debian/rules to COMMON_CONFIG_PARAMS:
> -Fa if '-fdefault-integer-8 -fPIC' \
>
> fakeroot debian/rules custom
> cd
>
> apt-get autoremove libopenblas-base
> apt-get autoremove libatlas3-base
> apt-get autoremove libblas3 #reinstalls libatlas3-base
>
> dpkg -i libatlas3-base_3.8.4-9+deb7u1+custom10_amd64.deb #replaces
> libatlas3-base
> dpkg -i libatlas-dev_3.8.4-9+deb7u1+custom10_all.deb
> libatlas-base-dev_3.8.4-9+deb7u1+custom10_amd64.deb
>
Speed of simple matrix multiply is mostly determined by the blas library
ability (In this case Atlas.).
Tatsuro