2 Replies Latest reply on Mar 10, 2009 1:30 AM by ryta1203

    Understanding clause parallelism

    Marius505

      The context is Chapter 2.3 "Control Flow and Clauses" from the R600_Instruction_Set_Architecture document.

      I would like to understand the phrase "Multiple clauses of a program can execute in parallel if they contain instructions of different types and the clauses are independent of one another" from the point of view of the processors in a SIMD array running ALU clauses. Considering that all 16 units follow the same code it is unclear what exactly is parallelized. I am missing somethig.. please provide an example.

        • Understanding clause parallelism
          MicahVillmow

          There are multiple types of Control Flow clauses.

          Vertex

          Texture

          Export

          ALU

          These can run in parallel as long as there exists wavefronts that need to execute these clauses and the hardware units that execute these clause instructions are not busy.

          • Understanding clause parallelism
            ryta1203

             

            Originally posted by: Marius505 The context is Chapter 2.3 "Control Flow and Clauses" from the R600_Instruction_Set_Architecture document.

            I would like to understand the phrase "Multiple clauses of a program can execute in parallel if they contain instructions of different types and the clauses are independent of one another" from the point of view of the processors in a SIMD array running ALU clauses. Considering that all 16 units follow the same code it is unclear what exactly is parallelized. I am missing somethig.. please provide an example.

            I think it means they run parallel across the SIMDs, not across the Threads Processors in a SIMD. Each SIMD is capable of running different code at one time.

            Also, sometimes the docs say "clause" and mean bundle/instruction group and sometimes the docs say "clause" and mean "Control Flow clause", just FYI.