microsoft / OpenCLOn12

The OpenCL-on-D3D12 mapping layer
MIT License
104 stars 13 forks source link

Binary release on GitHub as opposed to the MS Store #31

Closed MathiasMagnus closed 2 years ago

MathiasMagnus commented 2 years ago

Wanting to use OpenCLOn12 in CI for both the OpenCL-SDK and OpenCL-Layers repo, I would need to install OpenCLOn12 in a CI setting (console only, no MS Store account). Unfortunately winget, the only CLI to the Store can't install CLOn12. The underlying issue having many tentacles to other MS teams likely isn't going to be fixed in the near future.

Even outside the context of CI runs, it would be beneficial to ship binaries to developers via GitHub sooner, than end-users via the MS Store. (GH releases could receive extra testing from devs. I see that SPIR-V support still hasn't landed in the Store even though it's been merged a long time ago.)

Could we have MSIX or ZIP releases of OpenCLOn12 that is hotlinkable to download from the command-line?

oscarbg commented 2 years ago

I have SPIR-V support, but I’m on a very recent Windows 11 insider build.. can check package version if you want to compare version numbers..

MathiasMagnus commented 2 years ago

@oscarbg I'm on latest Windows 10. If I could, I'd install Windows 11, but I got 1st gen Ryzen, so...

PS C:\Users\mate> Get-ComputerInfo | Format-Table -Property OsName,OSVersion,CsProcessors

OsName                   OsVersion  CsProcessors
------                   ---------  ------------
Microsoft Windows 10 Pro 10.0.19043 {AMD Ryzen 7 1700 Eight-Core Processor          }

PS C:\Users\mate> Get-AppxPackage -Name Microsoft.D3DMappingLayers | select -exp Version
0.2109.1.0
jenatali commented 2 years ago

There's two versioning streams, one for Windows insiders (major version number is 1), and one for retail (major version number is 0). The original intention for the retail package was to be scoped to a small set of apps, but due to the Windows OpenCL ICD loader still being replaced by IHV drivers, that scoping is often ignored. Thus, the retail package didn't need new features, only bugfixes. We're likely going to roll forward the insider version to retail soon, removing that scoping anyway.

On the topic of this actual request, I know you asked for it a long time ago, and I apologize for not getting to it sooner. We're double-checking with legal on the actual requirements for doing a GitHub release here, and I hope that we can put something out maybe next week. I'm thinking we can provide:

  1. A release that's a zip of CLOn12Compiler.dll, OpenCLOn12.dll, and the dxil.dll validator/signer.
  2. An offline-installable version of the APPX package, which can be store-updated after installation (on systems with the store).
MathiasMagnus commented 2 years ago

@jenatali Either is fine. I've already tested the fully manual install in docker (mostly covering the ZIP package path) and it works like a charm. This requires the ominous .ru website to gain the hotlinks from the Store (D3DMappingLayers, VC140 and VC140UWP) and manual extraction of the MSIXs, but that won't fly in public-facing scripts.

jenatali commented 2 years ago

There you go: https://github.com/microsoft/OpenCLOn12/releases/tag/v1.2112.2.0. Hopefully that's what you need. Let me know if additional architectures are needed, but I figured x86 and x64 should suffice for now.