bug-apl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-apl] first shot at parallel APL


From: Juergen Sauermann
Subject: [Bug-apl] first shot at parallel APL
Date: Mon, 22 Sep 2014 17:50:51 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.0

Hi,

I have finished a first shot at parallel (i.e. multicore) GNU APL: SVN 480.

This version computes all scalar functions in parallel if the ravel length of the result exceeds 100.
This can make the computation of small (but still > 100) vectors slower than if they were computed sequentially.
Therefore parallel execution is not yet the default. To enable it:

    ./configure
    make parallel
    make
    sudo make install


The current version uses some linux-specific features, which will be ported to other platforms later on (if possible).
./configure is supposed to detect this.

Some simple benchmarks are promising:

      X←1000000⍴2J2   ⍝ 1 Mio complex numbers
     
      ⎕SYL[26;2]←1   ⍝ 1 core
      T←⎕TS ◊ ⊣X⋆X ◊ 1 1 1 24 60 60 1000⊥⎕TS - T
246
     
      ⎕SYL[26;2]←2   ⍝ 2 cores
      T←⎕TS ◊ ⊣X⋆X ◊ 1 1 1 24 60 60 1000⊥⎕TS - T
136
     
      ⎕SYL[26;2]←3   ⍝ 3 cores
      T←⎕TS ◊ ⊣X⋆X ◊ 1 1 1 24 60 60 1000⊥⎕TS - T
102
     
      ⎕SYL[26;2]←4   ⍝ 4 cores
      T←⎕TS ◊ ⊣X⋆X ◊ 1 1 1 24 60 60 1000⊥⎕TS - T

91

The next step will be to find the break-even points of all scalar functions, so that parallel execution is
only done when it promises some speedup.

Elias, the PointerCell constructor has got one more argument . I have updated emacs-mode and sql accordingly.
- you may want to sync back.

/// Jürgen




reply via email to

[Prev in Thread] Current Thread [Next in Thread]