2 research outputs found

    Runtime Interprocedural Data Placement Optimisation for Lazy Parallel Libraries (extended abstract)

    No full text
    . We are developing a lazy, self-optimising parallel library of vector-matrix routines. The aim is to allow users to parallelise certain computationally expensive parts of numerical programs by simply linking with a parallel rather than sequential library of subroutines. The library performs interprocedural data placement optimisation at runtime, which requires the optimiser itself to be very efficient. We achieve this firstly by working from aggregate loop nests which have been optimised in isolation, and secondly by using a carefully constructed mathematical formulation for data distributions and the distribution requirements of library operators, which allows us largely to replace searching with calculation in our algorithm. 1 Introduction This paper describes an approach to interprocedural data placement optimisation in the context of a parallel numerical library. The idea for such a library, as described in our previous paper [4], is to make it easy for users to parall..
    corecore