dataflow.bib

@incollection{Oliveira12DSL,
  author = {de Oliveira Castro, Pablo and Louise, St\'ephane and Barthou, Denis},
  title = {DSL Stream Programming on Multicore Architectures},
  booktitle = {Programming Multi-core and Many-core Computing Systems},
  series = {to appear},
  year = {2012},
  editor = {Sabri Pllana and Fatos Xhafa},
  publisher = {John Wiley and Sons},
  pdf = {dsl-preprint11.pdf},
  abstract = {
    To effectively program parallel architectures it is important to combine a
    simple expression of the parallelism with efficient compiler optimizations. We
    propose a novel stream programming framework based on two domain specific
    languages that separate these two issues. A high-level declarative language
    allows to describe data dependencies between filters while an intermediate
    language enables powerful optimizations through a set of stream graph
    transformations. This two level approach offers a clean separation between the
    issue of programming complexity and the issue of target specific optimization.
    }
}
@inproceedings{Oliveira2010automatic,
  title = {Automatic mapping of stream programs on multicore architectures},
  author = {de Oliveira Castro, Pablo and Louise, St\'ephane and Barthou, Denis},
  booktitle = {International Workshop on Compilers for Parallel Computers},
  year = {2010}
}
@conference{Oliveira10multidimensional,
  pdf = {mucocos10.pdf},
  author = {de Oliveira Castro, Pablo and Louise, St\'ephane and Barthou, Denis},
  title = {{A Multidimensional Array Slicing DSL for Stream Programming}},
  booktitle = {Complex, Intelligent and Software Intensive Systems, International Conference},
  year = {2010},
  pages = {913-918},
  doi = {http://doi.ieeecomputersociety.org/10.1109/CISIS.2010.135},
  publisher = {IEEE Computer Society},
  abstract = {{
Stream languages offer a simple multi-core programming model and achieve good performance. Yet expressing data rearrangement patterns (like a matrix block decomposition) in these languages is verbose and error prone. In this paper, we propose a high-level programming language to elegantly describe n-dimensional data reorganization patterns. We show how to compile it to stream languages.
}}
}
@conference{Oliveira10Reducing,
  pdf = {streammemory-hpcs10.pdf},
  title = {{Reducing memory requirements of stream programs by graph transformations}},
  author = {de Oliveira Castro, Pablo and Louise, St\'ephane and Barthou, Denis},
  booktitle = {High Performance Computing and Simulation (HPCS), 2010 International Conference on},
  pages = {171--180},
  year = {2010},
  publisher = {IEEE Computer Society},
  doi = {http://doi.ieeecomputersociety.org/10.1109/HPCS.2010.5547134},
  abstract = {{
  Stream languages explicitly describe fork-join parallelism and pipelines, offering a powerful programming model for many-core Multi-Processor Systems on Chip (MPSoC). In an embedded resource-constrained system, adapting stream programs to fit memory requirements is particularly important. In this paper we present a new approach to reduce the memory footprint required to run stream programs on MPSoC. Through an exploration of equivalent program variants, the method selects parallel code minimizing memory consumption. For large program instances, a heuristic accelerating the exploration phase is proposed and evaluated. We demonstrate the interest of our method on a panel of ten significant benchmarks. Using a multi-core modulo scheduling technique, our approach lowers considerably the minimal amount of memory required to run seven of these benchmarks while preserving throughput.
  }}
}
@unpublished{DEOLIVEIRACASTRO:2009:HAL-00447376:1,
  hal_id = {hal-00447376},
  pdf = {http://hal.archives-ouvertes.fr/hal-00447376/PDF/stream_transformations_hal.pdf},
  title = { {D}esign-{S}pace {E}xploration of {S}tream {P}rograms through {S}emantic-{P}reserving {T}ransformations},
  author = {de Oliveira Castro, Pablo and Louise, St\'ephane and Barthou, Denis},
  abstract = {{S}tream languages explicitly describe fork-join parallelism and pipelines, offering a powerful programming model for many-core {M}ulti-{P}rocessor {S}ystems on {C}hip ({MPS}o{C}). {I}n an embedded resource-constrained system, adapting stream programs to fit memory requirements is particularly important. {I}n this paper we present a design-space exploration technique to reduce the minimal memory required when running stream programs on {MPS}o{C}; this allows to target memory constrained systems and in some cases obtain better performance. {U}sing a set of semantically preserving transformations, we explore a large number of equivalent program variants; we select the variant that minimizes a buffer evaluation metric. {T}o cope efficiently with large program instances we propose and evaluate an heuristic for this method. {W}e demonstrate the interest of our method on a panel of ten significant benchmarks. {A}s an illustration, we measure the minimal memory required using a multi-core modulo scheduling. {O}ur approach lowers considerably the minimal memory required for seven of the ten benchmarks.}
}
@phdthesis{Oliveira:phd,
  pdf = {these-oliveira.pdf},
  documenturl = {soutenance.pdf},
  title = {{Expression et optimisation des r\'eorganisations de donn\'ees dans du
  parall\'elisme de flots}},
  author = {de Oliveira Castro, Pablo},
  year = {2010},
  school = {Universit\'e de Versailles Saint Quentin en Yvelines}
}