2015 · 15 citations · 10 references
ComputingComputer ScienceHigh-performance ComputingCompilersParallel ComputingProgramming LanguagesCode GenerationCompiler ConstructionData ParallelismIntermediate RepresentationParallel ArchitecturesParallel Computer ArchitectureCode OptimizationCompiler DesignDynamic CompilationHigh-level Intermediate RepresentationIncremental CompilationIntermediate Representation DesignParallel ProgrammingParallelism Constructs
We extend the LLVM intermediate representation (IR) to make it a parallel IR (LLVM PIR), which is a necessary step for introducing simple and generic parallel code optimization into LLVM. LLVM is a modular compiler that can be efficiently and easily used for static analysis, static and dynamic compilation, optimization, and code generation. Being increasingly used to address high-performance computing abstractions and hardware, LLVM will benefit from the ability to handle parallel constructs at the IR level. We use SPIRE, an incremental methodology for designing the intermediate representations of compilers that target parallel programming languages, to design LLVM PIR.
10
Co-array Fortran for parallel programming
Robert W. Numrich, John Reid · ACM SIGPLAN Fortran Forum · 1998 · 671 citations