Announcement

Collapse
No announcement yet.

Vulkan 1.1.116 Published With Subgroup Size Control Extension

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Vulkan 1.1.116 Published With Subgroup Size Control Extension

    Phoronix: Vulkan 1.1.116 Published With Subgroup Size Control Extension

    Vulkan 1.1.116 was released today as the latest weekly update to this high performance graphics API and comes with one new extension in tow...

    http://www.phoronix.com/scan.php?pag...1.116-Released

  • #2
    Am I the only person who thinks a cross-platform industry standard should not change every week?

    Comment


    • #3
      Originally posted by johannesburgel View Post
      Am I the only person who thinks a cross-platform industry standard should not change every week?
      Yes, you are.

      Comment


      • #4
        Originally posted by johannesburgel View Post
        Am I the only person who thinks a cross-platform industry standard should not change every week?
        It seems to me that Vulkan aims to be very flexible for developers, which is a good thing in my opinion.

        Comment


        • #5
          Originally posted by johannesburgel View Post
          Am I the only person who thinks a cross-platform industry standard should not change every week?
          Is not a change in a definition as not having a 'stable' interface which one can rely on. It's changing in a sense that is evolving, correcting its specifications, it's agile.
          By delivering small pieces, you have an idea where you must focus your next effort.
          It's also easier for the developers to follow the updates, request for something new and keep pace with the changes.

          It's easier for driver developers to implement the extensions, without so much NDA with code kept behind the closed doors; for testers to report bugs, etc.

          Would you much rather prefer to have a feature that helps the industry and progress now ?
          Or you want to wait for it half a year just to have it bundled with bunch of other things for the sake of bi-annual updates with alot of other changes ?

          Comment


          • #6
            Originally posted by johannesburgel View Post
            Am I the only person who thinks a cross-platform industry standard should not change every week?
            As long as the changes are additive, do not require you to change your code,, I don't see what the issue is.

            Comment


            • #7
              Originally posted by johannesburgel View Post
              Am I the only person who thinks a cross-platform industry standard should not change every week?
              People find mistakes in the spec - or think of new ways of different parts of the spec can interact - this needs further clarification, rather than having different vendors doing their own thing - which happened a lot in OpenGL. Now the Kronos members decide and update the spec - this is a good thing

              Comment


              • #8
                Now can anyone tell me what a subgroup is and what this actually does - Michael has done a very good job of taking a meaningless bit of text, rearranging the words and leaving us just as in the dark as before we read the article

                Comment


                • #9
                  Originally posted by FireBurn View Post
                  Now can anyone tell me what a subgroup is and what this actually does - Michael has done a very good job of taking a meaningless bit of text, rearranging the words and leaving us just as in the dark as before we read the article
                  Here you go:
                  Originally posted by https://www.khronos.org/blog/vulkan-subgroup-tutorial
                  Subgroups are an important new feature in Vulkan 1.1 because they enable highly-efficient sharing and manipulation of data between multiple tasks running in parallel on a GPU. In this tutorial, we will cover how to use the new subgroup functionality.

                  Modern heterogeneous hardware like GPUs gain performance by using parallel hardware and exposing a parallel programming model to target this hardware. When a user wants to run N parallel tasks for their algorithm, a GPU would divide this N-sized workload between the compute units of that GPU. Each compute unit of the GPU is then capable of running one or more of these parallel tasks concurrently. In Vulkan, we refer to the data that runs on a single compute unit of a GPU as the local workgroup, and an individual parallel task as an invocation.

                  Vulkan 1.0 already exposes a method to share data between the invocations in a local workgroup via shared memory, which is exposed only in compute shaders. Shared memory allows for invocations within the local workgroup to share some data via memory that is faster to access than reading and writing to buffer memory, providing a mechanism to share data in a performance sensitive context.

                  Vulkan 1.1 goes further and introduces a mechanism to share data between the invocations that run in parallel on a single compute unit. These concurrently running invocations are named the subgroup. This subgroup allows for the sharing of data between a much smaller set of invocations than the local workgroup could, but at a significantly higher performance.

                  While shared memory is only available in compute shaders, sharing data via subgroup operations is allowed in all shader stages via optionally supported stages as we'll explain below.

                  Comment

                  Working...
                  X