OpenCL merging into Vulkan?

Elixer

Lifer
May 7, 2002
10,376
762
126
This is HUGE news.

https://www.khronos.org/news/press/khronos-releases-opencl-2.2-with-spir-v-1.2

“By finalizing OpenCL 2.2, Khronos has delivered on its promise to make C++ a first-class kernel language in the OpenCL standard,” said Neil Trevett, OpenCL chair and Khronos president. “The OpenCL working group is now free to continue its work with SYCL, to converge the power of single source parallel C++ programming with standard ISO C++, and to explore new markets and opportunities for OpenCL — such as embedded vision and inferencing. We are also working to converge with, and leverage, the Khronos Vulkan API — merging advanced graphics and compute into a single API.
 

MajinCry

Platinum Member
Jul 28, 2015
2,495
571
136
Isn't NVidia still stuck on OpenCL 1.2, with Pascal having beta 2.0 support?

AMD's been on OpenCL 2.0 since Hawaii, IIRC.
 
  • Like
Reactions: DarthKyrie

ThatBuzzkiller

Golden Member
Nov 14, 2014
1,120
260
136
I trust Microsoft's vision for the integration compute and graphics more than the Khronos Group TBH ...

Vulkan came up very short when compared to OpenCL 2.0 in terms of feature set and functionality. In fact Vulkan's model of compute is a lot more similar to OpenGL's model of compute ...

I don't think the Khronos Group will take to OpenCL's compute pipeline for a long time whereas Microsoft on the other hand is already reaching the standards that OpenCL 2.0 had pioneered for their compute API. I like how Microsoft is arguably more progressive these days compared to the Khronos Group about evolving the underlying shader programming models to be more like that of C++ and that we could very well soon have a real viable alternative to CUDA on our hands ...
 
  • Like
Reactions: Carfax83

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
For NVidia, OpenCL is on the backburner because of CUDA. Also like ThatBuzzKiller said, Microsoft is already ahead of the curve in many respects when it comes to combining compute and graphics. NVidia even preferred to use DirectCompute to CUDA for hairworks, since DirectCompute is native to DirectX.

That said, more options are always better though.
 
Last edited:

richaron

Golden Member
Mar 27, 2012
1,357
329
136
Lol Microsoft is "progressive" and "ahead of the curve" by copying Mantle and OpenCL...

I hope their new "groudbreaking" work runs well on all those Windows based HPC servers and clusters.
 

Elixer

Lifer
May 7, 2002
10,376
762
126
I trust Microsoft's vision for the integration compute and graphics more than the Khronos Group TBH ...

Vulkan came up very short when compared to OpenCL 2.0 in terms of feature set and functionality. In fact Vulkan's model of compute is a lot more similar to OpenGL's model of compute ...

I don't think the Khronos Group will take to OpenCL's compute pipeline for a long time whereas Microsoft on the other hand is already reaching the standards that OpenCL 2.0 had pioneered for their compute API. I like how Microsoft is arguably more progressive these days compared to the Khronos Group about evolving the underlying shader programming models to be more like that of C++ and that we could very well soon have a real viable alternative to CUDA on our hands ...
You are missing the point, this is a cross-platform solution.
This will work with win 7/8/10 & linux & whatever else, except for Apple, since they love proprietary stuff.
MS's solution will ONLY be for win 10+.
 

ThatBuzzkiller

Golden Member
Nov 14, 2014
1,120
260
136
You are missing the point, this is a cross-platform solution.
This will work with win 7/8/10 & linux & whatever else, except for Apple, since they love proprietary stuff.
MS's solution will ONLY be for win 10+.

Maybe cross-platform in name only, in practice ? I highly doubt that ...

Vulkan itself has a very low baseline as a standard so that practically any hardware vendor can meet it. There's tons of side effects to Vulkan for being able to be built around WDDM 1.X and OpenGL ES supported hardware (tons of drivers very behind the curve in terms of feature sets and conformance testing) ...

Vulkan misses out the tons of benefits of being built around higher standards like no requirement of support for GPU virtual memory, tessellation, geometry shaders, manual residency ... (at least all D3D12 hardware can be guaranteed support those)

So what good is 'cross-platform' when you don't have a feature you need on that other platform (feature set fragmentation) and code doesn't behave the way you want on all platforms (SPIR-V somewhat fixes this) ?
 
  • Like
Reactions: NTMBK

tamz_msc

Diamond Member
Jan 5, 2017
3,772
3,595
136
Maybe cross-platform in name only, in practice ? I highly doubt that ...

Vulkan itself has a very low baseline as a standard so that practically any hardware vendor can meet it. There's tons of side effects to Vulkan for being able to be built around WDDM 1.X and OpenGL ES supported hardware (tons of drivers very behind the curve in terms of feature sets and conformance testing) ...

Vulkan misses out the tons of benefits of being built around higher standards like no requirement of support for GPU virtual memory, tessellation, geometry shaders, manual residency ... (at least all D3D12 hardware can be guaranteed support those)

So what good is 'cross-platform' when you don't have a feature you need on that other platform (feature set fragmentation) and code doesn't behave the way you want on all platforms (SPIR-V somewhat fixes this) ?
Microsoft's efforts in pushing DX12 in games that are from their first-party developers are all restricted to one platform.
It is clear that they won't change anything in this regard to increase DX12 adoption. You have examples of developers going public with future support for Vulkan in order to be cross platform.
 

richaron

Golden Member
Mar 27, 2012
1,357
329
136
Maybe cross-platform in name only, in practice ? I highly doubt that ...

Vulkan itself has a very low baseline as a standard so that practically any hardware vendor can meet it. There's tons of side effects to Vulkan for being able to be built around WDDM 1.X and OpenGL ES supported hardware (tons of drivers very behind the curve in terms of feature sets and conformance testing) ...

Vulkan misses out the tons of benefits of being built around higher standards like no requirement of support for GPU virtual memory, tessellation, geometry shaders, manual residency ... (at least all D3D12 hardware can be guaranteed support those)

So what good is 'cross-platform' when you don't have a feature you need on that other platform (feature set fragmentation) and code doesn't behave the way you want on all platforms (SPIR-V somewhat fixes this) ?

So... You are saying Vulkan's ability to function without certain requirements is a bad thing? What an odd thing to say, it's like you think it's better a program doesn't work in some situations, versus another one which can simply skip certain requirements and still function.

Sure it adds complexity, but it also adds functionality. You sound like the sort who prefers the "hold me by the hand" approach...

Your argument is like saying a (human) driver who can only drive automatic cars is better than someone else who can drive both automatic and manual? Or maybe you are saying a woodworker who can only use power tools is better than one who can use both power and hand tools? These analogies may not be perfect but I think they point out the skewed logic you are trying to sell.
 

Glo.

Diamond Member
Apr 25, 2015
5,705
4,549
136
For NVidia, OpenCL is on the backburner because of CUDA. Also like ThatBuzzKiller said, Microsoft is already ahead of the curve in many respects when it comes to combining compute and graphics. NVidia even preferred to use DirectCompute to CUDA for hairworks, since DirectCompute is native to DirectX.

That said, more options are always better though.
It is because nobody tends to optimize the software.
What can happen when companies will properly optimize the software you can see here:
https://wiki.blender.org/index.php/Dev:Source/Render/Cycles/OpenCL
Timings.png

This is comparison between CUDA on Nvidia hardware, and OpenCL on AMD hardware.

About OpenCL in Vulkan. Yes it is huge news, but... since the beginning we knew that it will happen. Vulkan is Apple Metal-like API, that can be used cross platform.

DX12 cannot be used for professional applications. Vulkan - can. Remember that first versions of Creative Suite were running on OpenGL. Vulkan is OpenGL Next. And Vulkan is not restricted to only PC's. Mobile also.

You are missing the point, this is a cross-platform solution.
This will work with win 7/8/10 & linux & whatever else, except for Apple, since they love proprietary stuff.
MS's solution will ONLY be for win 10+.
Apple proprietary stuff, Metal, is actually based on Mantle. Exactly the same as Vulkan. And DirectX12 for that matter.
 

ThatBuzzkiller

Golden Member
Nov 14, 2014
1,120
260
136
Microsoft's efforts in pushing DX12 in games that are from their first-party developers are all restricted to one platform.
It is clear that they won't change anything in this regard to increase DX12 adoption. You have examples of developers going public with future support for Vulkan in order to be cross platform.

Sucks for the end users since they could've gotten a free upgrade to Windows 10 ...

If you were a AAA gamer there was absolutely no reason for you to NOT upgrade to Windows 10 or stay on an inferior infrastructure ...

The reason why Microsoft can't increase DX12 adoption is purely a technical reason rather than either from a business or a marketing standpoint. There's literally no way to backport WDDM 2.X to Microsoft's older OS's when it's a very invasive change to the graphics kernel without some bad interaction happening between the interfacing hardware and API ...

I guess they'll have to deal with their situation without WDDM 2.X and that means no new binding model, no new DirectX shader bytecode format, no standardized support for new display technologies such as HDR10, variable refresh rates, VR headsets/AR and many more to come ... :)

So... You are saying Vulkan's ability to function without certain requirements is a bad thing? What an odd thing to say, it's like you think it's better a program doesn't work in some situations, versus another one which can simply skip certain requirements and still function.

Sure it adds complexity, but it also adds functionality. You sound like the sort who prefers the "hold me by the hand" approach...

Your argument is like saying a (human) driver who can only drive automatic cars is better than someone else who can drive both automatic and manual? Or maybe you are saying a woodworker who can only use power tools is better than one who can use both power and hand tools? These analogies may not be perfect but I think they point out the skewed logic you are trying to sell.

I didn't say it was specifically a bad thing per se but it's just another one of those 'trade-offs'. Vulkan makes a trade to lower their standards in order to increase portability at the expense of functionality. Your analogy is supposed to be the exact opposite in my view since DX12 offers more in terms of functionality than Vulkan does since D3D12 capable hardware has a higher baseline compared to most GPU's in Vulkan supported platforms ...

For what Vulkan does is fine but let's not pretend that it's an equivalent to D3D12 ...
 

tamz_msc

Diamond Member
Jan 5, 2017
3,772
3,595
136
Sucks for the end users since they could've gotten a free upgrade to Windows 10 ...

If you were a AAA gamer there was absolutely no reason for you to NOT upgrade to Windows 10 or stay on an inferior infrastructure ...
There's no reason why UWP titles can't be released on Steam, even if they're DX12-only and requires Windows 10. It's a business decision, and just as expected their fledgling attempts at PC gaming are going nowhere. With this attitude, DX12 adoption will remain slow given all the complexities involved.
 

ThatBuzzkiller

Golden Member
Nov 14, 2014
1,120
260
136
There's no reason why UWP titles can't be released on Steam, even if they're DX12-only and requires Windows 10. It's a business decision, and just as expected their fledgling attempts at PC gaming are going nowhere. With this attitude, DX12 adoption will remain slow given all the complexities involved.

You just changed the subject from DX12 adoption to UWP exclusive titles not being released on on other digital stores. AAA PC gaming is bigger than just steam, it's a big virtual world out there y'know ...

Just because Microsoft decides to release their games exclusively for their digital platform doesn't mean that it's for business reasons why Microsoft won't backport WDDM 2.X and thus bring DX12 to their older OS's ...

DX12 adoption is slow for sure but you don't know the right reasons for that and it's probably not related at all to UWP exclusive games ...
 

tamz_msc

Diamond Member
Jan 5, 2017
3,772
3,595
136
You just changed the subject from DX12 adoption to UWP exclusive titles not being released on on other digital stores. AAA PC gaming is bigger than just steam, it's a big virtual world out there y'know ...

Just because Microsoft decides to release their games exclusively for their digital platform doesn't mean that it's for business reasons why Microsoft won't backport WDDM 2.X and thus bring DX12 to their older OS's ...

DX12 adoption is slow for sure but you don't know the right reasons for that and it's probably not related at all to UWP exclusive games ...
Developers have to do all the hard work in making DX12 work. Microsoft has only a handful of first party developers, who are restricted to UWP with their PC ports. How many developers are in a position make their game engines fully DX12-compliant with support for the new shader model and other bells and whistles? From the looks of it, only two - the Coalition and Turn 10. Even the Coalition needed Epic's support for things to work out. No wonder people are waiting forever for the mythical SM6 to happen. DX12 being limited to Windows 10 and only Microsoft's first party devs being able to provide with DX12 implementations without performance issues, with certain exceptions like Sniper Elite 4, is probably the reason why DX12 is yet to take off.

Wikipedia lists 20 games till date with DX 12 support and if you exclude Ashes which nobody plays, then almost half the AAA titles are UWP games.
 

ThatBuzzkiller

Golden Member
Nov 14, 2014
1,120
260
136
Developers have to do all the hard work in making DX12 work. Microsoft has only a handful of first party developers, who are restricted to UWP with their PC ports. How many developers are in a position make their game engines fully DX12-compliant with support for the new shader model and other bells and whistles? From the looks of it, only two - the Coalition and Turn 10. Even the Coalition needed Epic's support for things to work out. No wonder people are waiting forever for the mythical SM6 to happen. DX12 being limited to Windows 10 and only Microsoft's first party devs being able to provide with DX12 implementations without performance issues, with certain exceptions like Sniper Elite 4, is probably the reason why DX12 is yet to take off.

Wikipedia lists 20 games till date with DX 12 support and if you exclude Ashes which nobody plays, then almost half the AAA titles are UWP games.

Practically every AAA studio that's equipped with specialized console programmers can make an easy transition to DX12 with their engines so it's not a matter of talent that's the issue to DX12's adoption, it's a matter of market share and developers might have to hold off some invasive engine optimizations but market share wouldn't be a problem if every AAA PC gamer would've just taken the upgrade instead of holding it off since it pollutes the ecosystem of having to worry about backwards compatibility ...

BTW, none of the Coalition or Turn 10 games have support for shader model 6 yet as that is very recent with the creators update and the DXIL 1.0 spec just got recently finalized. The DXIL 1.1/ SM 6.1 spec are too been finalized as we speak. Their working on SM 6.2 too ...

That's Microsoft for ya, diligent at pushing bleeding edge standards ...
 
Last edited:

Guru

Senior member
May 5, 2017
830
361
106
Vulkan and OpenCL are much more powerful than the competition. Anyone who isn't willing to admit this is either ignorant or too biased brand loyalist.

Issue with these is software optimizations and probably lack of direct support from Khronos as to how to do it, while MS and others throw millions and tens of millions at devs to use and optimize for their API's.
 

Glo.

Diamond Member
Apr 25, 2015
5,705
4,549
136
Vulkan and OpenCL are much more powerful than the competition. Anyone who isn't willing to admit this is either ignorant or too biased brand loyalist.

Issue with these is software optimizations and probably lack of direct support from Khronos as to how to do it, while MS and others throw millions and tens of millions at devs to use and optimize for their API's.
That is correct, however I would word it more... kindly ;).
 

Carfax83

Diamond Member
Nov 1, 2010
6,841
1,536
136
Vulkan and OpenCL are much more powerful than the competition. Anyone who isn't willing to admit this is either ignorant or too biased brand loyalist.

Issue with these is software optimizations and probably lack of direct support from Khronos as to how to do it, while MS and others throw millions and tens of millions at devs to use and optimize for their API's.

Might want to take a good long look in the...... :D
 

Bacon1

Diamond Member
Feb 14, 2016
3,430
1,018
91
There's no reason why UWP titles can't be released on Steam, even if they're DX12-only and requires Windows 10. It's a business decision, and just as expected their fledgling attempts at PC gaming are going nowhere. With this attitude, DX12 adoption will remain slow given all the complexities involved.

Just to clarify, Steam is the one preventing UWP not Microsoft. UWP isn't restricted to Windows Store, Windows Store is just UWP only because they want it cross-platform (phone, desktop, hololens, xbox one, etc).

UWP can also be stand alone installed without the windows store, adobe did so with Adobe XD

Steam doesn't support UWP which is a shame, since UWP solves a lot of issues with security and permissions... I don't want to trust all those shady greenlight applications with full permissions over my whole machine. I'd much rather have them sandboxed by default.
 

tamz_msc

Diamond Member
Jan 5, 2017
3,772
3,595
136
Practically every AAA studio that's equipped with specialized console programmers can make an easy transition to DX12 with their engines so it's not a matter of talent that's the issue to DX12's adoption, it's a matter of market share and developers might have to hold off some invasive engine optimizations but market share wouldn't be a problem if every AAA PC gamer would've just taken the upgrade instead of holding it off since it pollutes the ecosystem of having to worry about backwards compatibility ...

BTW, none of the Coalition or Turn 10 games have support for shader model 6 yet as that is very recent with the creators update and the DXIL 1.0 spec just got recently finalized. The DXIL 1.1/ SM 6.1 spec are too been finalized as we speak. Their working on SM 6.2 too ...

That's Microsoft for ya, diligent at pushing bleeding edge standards ...
You have to rewrite your whole engine in order to support DX12 and all its standards. Developers would much rather keep making DX11 titles that have a better chance of reaching a wider audience instead of restricting themselves to one OS.
 

tamz_msc

Diamond Member
Jan 5, 2017
3,772
3,595
136
Just to clarify, Steam is the one preventing UWP not Microsoft. UWP isn't restricted to Windows Store, Windows Store is just UWP only because they want it cross-platform (phone, desktop, hololens, xbox one, etc).

UWP can also be stand alone installed without the windows store, adobe did so with Adobe XD

Steam doesn't support UWP which is a shame, since UWP solves a lot of issues with security and permissions... I don't want to trust all those shady greenlight applications with full permissions over my whole machine. I'd much rather have them sandboxed by default.
Does VAC and other anti-cheat software work in UWP? What about maintenance and updates? Packaging of game files seems to be another issue - Gears of War 4 is almost 100GB. What about backups? Does UWP affect any of these features? Maybe there are valid reasons why UWP is not supported by Steam.
 

ThatBuzzkiller

Golden Member
Nov 14, 2014
1,120
260
136
You have to rewrite your whole engine in order to support DX12 and all its standards. Developers would much rather keep making DX11 titles that have a better chance of reaching a wider audience instead of restricting themselves to one OS.

There will come a point where devs can't keep ignoring the constantly evolving DX12 to the point where it will affect user experience in the long run (it's already affecting user experience as we speak since WDDM 1.X has no way of natively supporting HDR displays and variable refresh rates) with newer features appearing to set the foundation for radically newer and faster algorithms along with the latest functionality in favor of a shrinking user base ...
 

Bacon1

Diamond Member
Feb 14, 2016
3,430
1,018
91
Does VAC and other anti-cheat software work in UWP? What about maintenance and updates? Packaging of game files seems to be another issue - Gears of War 4 is almost 100GB. What about backups? Does UWP affect any of these features? Maybe there are valid reasons why UWP is not supported by Steam.

UWP is a newer wrapper, the code is 99% the exact same as any other application and same thing with file size and everything else. They could get it to work if they wanted. They've had to write in support for linux and Mac OS file formats.
 
  • Like
Reactions: DarthKyrie

tamz_msc

Diamond Member
Jan 5, 2017
3,772
3,595
136
UWP is a newer wrapper, the code is 99% the exact same as any other application and same thing with file size and everything else. They could get it to work if they wanted. They've had to write in support for linux and Mac OS file formats.
There are other issues with UWP, like limited modding capabilities, post-processing AA injection through reshade not working, user-made modifications that are absolutely necessary for a proper experience not working etc. Then there's the problem of updates and maintenance. Gears of War 4 got a huge update months after release.

Steamworks is Win32, and I don't see Valve porting it to UWP any time soon.