Thanks, I have merged the necessary changes. Regards, Elias
On 22 September 2014 23:50, Juergen Sauermann <juergen.sauerm...@t-online.de > wrote: > 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 > > > >