microsoft / onnxruntime

ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator
https://onnxruntime.ai
MIT License
14.54k stars 2.91k forks source link

Update docs for building with oneDNN execution provider GPU support. OpenCL SDK deprecated. #11414

Open prikmm opened 2 years ago

prikmm commented 2 years ago

Describe the bug Currently, the build docs state that inorder to build ONNXRuntime with oneDNN execution provider with GPU support, we need to install OpenCL SDK. OpenCL SDK has been deprecated and its last update was in Oct, 2020. For more info checkout: https://www.intel.com/content/dam/develop/external/us/en/documents/opencl-sdk-2020-u3-release-notes.pdf

Urgency No such timeline, I am working on a personal project and would like to compare performance of different execution providers.

System information

Expected behavior Updated documentation showing new steps for building ORT with oneDNN EP with GPU support if possible would be great. If the oneDNN EP is completely dependent on OpenCL SDK and cannot be compiled using OpenCL Runtime, then, a deprecation warning regarding such would be good.

jywu-msft commented 2 years ago

@georgen117 can you comment on this?

jeyblu commented 2 years ago

OpenCL SDK can still be downloaded and used to build ORT with oneDNN EP. Scroll down to the middle of the OpenCL SDK page for the download link to the SDK and runtime.

prikmm commented 2 years ago

@jeyblu I would like to install ORT with oneDNN EP with GPU support in docker. I searched a lot but was not able to find a way to directly download the SDK on inside a docker container using wget or curl. Also, SDK required licensing when I installed it on my local computer. Is there a way to overcome this issue? I think Intel OpenCL C++ compiler which cannot be used without licensing is necessary for building, right?

Please correct me if I am wrong anywhere.

jeyblu commented 2 years ago

To get the SDK, I think it first asks you to register and sign in, so wget or curl may not work. You should be able to register and download the OpenCL SDK from the download page without having to pay. The paid version is for additional tools and support.

prikmm commented 2 years ago

@jeyblu I knew about downloading the SDK, but wanted to clarify about wget and curl.

I will still keep the issue open as OpenCL SDK, though currently available for download, as reached it end of lifecycle. So, I think mentioning this or an alternative method in the docs is necessary.

jeyblu commented 2 years ago

Makes sense to mention that there will be no new releases of OpenCL SDK. We're investigating an alternative to the OpenCL SDK.

chethanpk commented 2 years ago

We have updated the docs to show an alternate path to build: using Khronos OpenCL SDK. I am not sure if there us anything else needed from this issue.