2008 · 238 citations · 26 references
ComputingComputer ScienceComputer SystemsComputer ArchitectureParallel ComputingSchedulingParallel Algorithm DesignParallel ArchitecturesParallel ComputationParallel Computer ArchitectureParallel Programming ModelsTask ParallelismExecution ModelExecution Model DesignMulti-core ComputingParallel SchedulingTask DependenciesTask Dependency ManagementTask Dependency StructureTask-level Parallelism
Parallel programming on SMP and multi-core architectures is hard. In this paper we present a programming model for those environments based on automatic function level parallelism that strives to be easy, flexible, portable, and performant. Its main trait is its ability to exploit task level parallelism by analyzing task dependencies at run time. We present the programming environment in the context of algorithms from several domains and pinpoint its benefits compared to other approaches. We discuss its execution model and its scheduler. Finally we analyze its performance and demonstrate that it offers reasonable performance without tuning, and that it can rival highly tuned libraries with minimal tuning effort.
26
Numerical recipes in C: the art of scientific computing
Choice Reviews Online · 1993 · 18.1K citations · Full text
Numerical recipes in Pascal: the art of scientific computing
Choice Reviews Online · 1990 · 11.9K citations
Gaussian elimination is not optimal
Volker Strassen · Numerische Mathematik · 1969 · 2.5K citations
The Landscape of Parallel Computing Research: A View from Berkeley
Krste Asanović, Ras Bodik, Bryan Catanzaro et al. · 2006 · 2K citations
Engineering, Computer Science, High-performance Computing +17
Basic Linear Algebra Subprograms for Fortran Usage
C. L. Lawson, Richard Hanson, David R. Kincaid et al. · ACM Transactions on Mathematical Software · 1979 · 1.6K citations · Full text