Changes between Version 25 and Version 26 of DataParallel/Replicate


Ignore:
Timestamp:
Aug 9, 2011 11:45:49 AM (3 years ago)
Author:
chak
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DataParallel/Replicate

    v25 v26  
    3333== Fixing the problem: Plan A (Repeated Segments) == 
    3434 
    35 Generally, we don't want to copy replicated data — it's a waste of space!  We definitely don't want to do it for large data structures, and in particular, we don't want to do it for arrays.  After all, that can change the asymptotic work complexity of a program.  To keep it simple, we are for the moment focusing on avoiding replicating arrays, as this is were our practical problems are coming from at the moment.  (Some cases of replicated scalars are also eliminated by fusion.) 
     35Generally, we don't want to copy replicated data — it's a waste of space!  We definitely don't want to do it for large data structures, and in particular, we don't want to do it for arrays.  After all, that can change the asymptotic work complexity of a program.  To keep it simple, we are for the moment focusing on avoiding replicating arrays, as this is were our practical problems are coming from at the moment.  (Independently of our current plans, some cases of replicated scalars are eliminated by fusion.) 
     36 
     37To clarify the scope of the present work: 
     38 
     39''Goals'' 
     40 * Avoid physically creating multiple copies of the same array due to `replicateP` and `replicateP^` '''introduced by vectorisation.''' 
     41 
     42''Non-goals'' (they may be worthwhile goals, but we don't attempt them here) 
     43 * Avoid physically creating multiple copies of scalars due to `replicateP` (this includes large scalars, such as list or trees). 
     44 * Avoid deep traversals of arrays of trees for `packP` and similar. 
    3645 
    3746NB: We will have to revisit replication of scalar structures as such scalar structures may be large trees.