View Item 
        •   Utrecht University Student Theses Repository Home
        • UU Theses Repository
        • Theses
        • View Item
        •   Utrecht University Student Theses Repository Home
        • UU Theses Repository
        • Theses
        • View Item
        JavaScript is disabled for your browser. Some features of this site may not work without it.

        Browse

        All of UU Student Theses RepositoryBy Issue DateAuthorsTitlesSubjectsThis CollectionBy Issue DateAuthorsTitlesSubjects

        Automatic task parallelism in Accelerate

        Thumbnail
        View/Open
        Automatic-task-parallelism-in-Accelerate.pdf (440.7Kb)
        Publication date
        2023
        Author
        Matser, Marien
        Metadata
        Show full item record
        Summary
        Parallel execution has a large potential to improve the speed of a program. To make good use of parallelism we need a program that is properly split into several tasks that can be performed in parallel. High level frameworks like Accelerate make it easier to create such programs. Accelerate creates programs using data parallel array computations. For more parallelism we propose a way to automatically add task parallelism to programs as part of the Accelerate compiler. We define a transformation to introduce forks to a program. We formalize this transformation using inference rules and we implement it in the Accelerate compiler. To reduce the overhead of the added task parallelism, we propose several optimizations to not introduce forks where they do not introduce actual opportunities of added parallelism, like not forking trivial statements and combining statements that directly wait on the result of the previous statement. Our results show that the compilation of this implementation is not significantly slower than the current Accelerate compiler.
        URI
        https://studenttheses.uu.nl/handle/20.500.12932/44609
        Collections
        • Theses
        Utrecht university logo