🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.functional
Article #330

performance of array comprehensions in Id

#330
From: J. Michael Ashley
Date: Wed, 04 Jul 1990 16:37
29 lines
1359 bytes
i'm disappointed with the implementation of array comprehensions in 
dataflow architectures.  Consider this code:

Def shuffle v =
{
  (_, size) = bounds v ;
  middle    = fix (size / 2) ;
In
  ({ array (1, middle) | [i] = v[i*2-1] || i <- 1 to middle },
   { array (1, middle) | [i] = v[i*2]   || i <- 1 to middle })
} ;

It turns out that the i's get generated sequentially, which is really
too bad since there is no data dependency between the elements of the two
arrays being built.

I can accept this, but MIT's very fine GITA software tells me that this
is the bottleneck of my FFT code.  I'd like to rewrite it to be a little
more parallel.  I haven't been very satisfied so far.

So, has anybody else come across this sort of problem, and if so, have they
worked out a solution?  I know that I am not the only one at LANL concerned
with this problem.

Thanks

--
J. Michael Ashley              internet: jashley@lanl.gov
Los Alamos National Labs                 ashley@occs.cs.oberlin.edu
Technical Details
Message-ID: <55973@lanl.gov>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!yale!cmcl2!lanl!jashley

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!yale!cmcl2!lanl!jashley
From: jashley@lanl.gov (J. Michael Ashley)
Newsgroups: comp.lang.functional
Subject: performance of array comprehensions in Id
Keywords: dataflow
Message-ID: <55973@lanl.gov>
Date: 4 Jul 90 16:37:06 GMT
Organization: Graceland
Lines: 29